HelpF.pro

Загрузка данных в 1С из FoxPro

Deggy пишет:
Так сейчас так веду импорт из FoxPro-шных таблиц в восьмерку. Вот например заполнение справочника стран:
Код 1C v 8.х
 НачатьТранзакцию();
стрПодключения = "Driver={Microsoft Visual FoxPro Driver};
|SourceType=DBF;SourceDB=\\192.168.***.***\server\baza\;
|Exclusive=No; Collate=Machine;NULL=NO;DELETED=YES;BACKGROUNDFETCH=NO;";
Connect = Новый COMОбъект("ADODB.Connection");
попытка
Connect.Open(стрПодключения);
исключение
сообщить(ОписаниеОшибки());
Отказ=Истина;
Возврат;
КонецПопытки;
RS = Новый COMОбъект("ADODB.RecordSet");
RS.Open("Select * from country where !deleted()",Connect);
пока RS.EOF()=0 цикл
Если Число(RS.Fields("cntry_code").Value)>0 тогда
РезультатПоиска = Справочники.КлассификаторСтранМира.НайтиПоКоду(Число(RS.Fields("cntry_code").Value));
Если РезультатПоиска.Пустая() Тогда
НоваяСтрана = Справочники.КлассификаторСтранМира.СоздатьЭлемент();
НоваяСтрана.Код =Число(RS.Fields("cntry_code").Value);
НоваяСтрана.Наименование = СокрЛП(RS.Fields("cntry_name").Value);
НоваяСтрана.Записать();
Иначе
НайденнаяСтрана=РезультатПоиска.ПолучитьОбъект();
НайденнаяСтрана.Наименование=СокрЛП(RS.Fields("cntry_name").Value);
НайденнаяСтрана.Записать();
Сообщить("Страна с кодом "+ СокрЛП(RS.Fields("cntry_code").Value)+ "уже существует");
конецесли;
КонецЕсли;
сообщить("-------------------");
Сообщить(СокрЛП(RS.Fields("cntry_code").Value)+" " + СокрЛП(RS.Fields("cntry_name").Value));
RS.MoveNext();
КонецЦикла;
RS.Close();
Connect.Close();
ЗафиксироватьТранзакцию();

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/651.html