Каталог решений - 1С Конвертация, использование внешнего источника данных

1С Конвертация, использование внешнего источника данных

1С Конвертация, использование внешнего источника данных

В наличии

Загрузка информации в базу данных платформы 1С 8.2 из внешних источников с помощью "Конвертации данных"

Категория:

Описание

1С Конвертация, использование внешнего источника данных.

В процессе работы возникла потребность перенести информационную базу из древней программы, написанной еще на foxpro, на платформу 1С 8.2

Решил воспользоваться конфигурацией «Конвертация данных» и возможностью подключения к внешнему источнику данных платформы 1С 8.2.

Сначала надо было получить доступ к информационной базе, состоящей из  DBF-таблиц. Для этого я воспользовался возможностью подключения к внешним источникам данных платформы 1С 8.2.

 

Создал новый источник данных, обозвал его подходящим именем.  На вкладке «Данные» нажал кнопку «Добавить». В открывшемся конструкторе выбрал вариант «Выбрать из списка таблиц внешнего источника данных».

 

Открывшаяся форма потребовала ввести строку соединения с источником данных. Для меня строки соединения как шаманские заклинания. Погуглив маленько, я нарыл несколько вариантов строк соединения. Мне подошла строка:

Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;

Заменив в ней «Dbq=c:\mydbpath» на путь к моей локальной базе и нажав ОК, получил список таблиц:

 

Выбрал таблицу, к которой нужно подключиться и нажал ОК.

В результате во внешнем источнике данных сформировалась таблица KVART.

 

Для проверки возможности выборки информации из этой таблицы написал обработку Test01.

Модуль формы обработки:

&НаКлиенте
Процедура Загрузить(Команда)
    ЗагрузитьНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗагрузитьНаСервере()
    ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
    ПараметрыСоединения.СтрокаСоединения="Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=d:\79;";
    ВнешниеИсточникиДанных.KV.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения);
    ВнешниеИсточникиДанных.KV.УстановитьСоединение();
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    KVART.KOD,
                   |    KVART.FIO,
                   |    KVART.SEMJA,
                   |    KVART.POLPLO,
                   |    KVART.LLIFT,
                   |    KVART.LZNAL
                   |ИЗ
                   |    ВнешнийИсточникДанных.KV.Таблица.KVART КАК KVART";
    тз = Запрос.Выполнить().Выгрузить();
КонецПроцедуры

С помощью отладчика можно просмотреть содержимое таблицы значений:

 

 

 

Все ОК. Информация присутствует.

На втором этапе необходимо загрузить информацию из внешней таблицы в соответствующий объект конфигурации.

Для этого использую конфигурацию «Конвертация данных».

В качестве источника и приемника данных будет использоваться одна конфигурация.  

Для начала создадим справочник, в который будем загружать информацию. Назовем его «ЛицевыеСчета».

 

С помощью соответствующей обработки конфигурации «Конвертация данных» выгрузим структуру метаданных нашей конфигурации. Зарегистрируем нашу конфигурацию в списке конфигураций. Далее необходимо настроить правила обмена.  Для реализации механизма выгрузки информации из внешнего источника создадим «правило выгрузки данных».

 

В событии «Перед обработкой»  разместим запрос к внешнему источнику данных и обработаем результат.

Текст обработчика:

 ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
 ПараметрыСоединения.СтрокаСоединения="Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=d:\79;";
 ВнешниеИсточникиДанных.KV.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения);
 ВнешниеИсточникиДанных.KV.УстановитьСоединение();
 Запрос = Новый Запрос;
 Запрос.Текст = "ВЫБРАТЬ
                |    KVART.KOD КАК КОД,
                |    KVART.FIO КАК ФИО,
                |    KVART.SEMJA КАК СЕМЬЯ,
                |    KVART.POLPLO КАК ПЛОЩАДЬОБЩАЯ
                |ИЗ
                |    ВнешнийИсточникДанных.KV.Таблица.KVART КАК KVART";
 Результат = Запрос.Выполнить();
 Строки = Результат.Выгрузить();
 Для Каждого строка из Строки Цикл
     ИсходящиеДанные = Новый Структура("КОД,ФИО,СЕМЬЯ,ПЛОЩАДЬОБЩАЯ");
     ИсходящиеДанные.КОД = Строка.КОД;
     ИсходящиеДанные.ФИО = Строка.ФИО;
     ИсходящиеДанные.СЕМЬЯ = Строка.СЕМЬЯ;
     ИсходящиеДанные.ПЛОЩАДЬОБЩАЯ = Строка.ПЛОЩАДЬОБЩАЯ;
     ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ЛицевыеСчета");
 КонецЦикла;

Создадим «Правило конвертации объектов» для справочника «Лицевые счета». 

 

 Реквизит «Источник» не заполняем. Правила конвертации свойств будут выглядеть следующим образом:

 

 Сохраняем правила и выгружаем информацию. В результате формируется файл Данные.XML с таким содержимым:

 

 С помощью обработки загрузки данных загружаем информацию в приемник:

 

 

Задача выполнена.

has been added to your cart:
Оформление заказа