Содержание:
1. Постановка задачи. Перенос данных из 1С 8 Управление торговлей 11
2. Подготовительный этап. Выгрузка базы из 1С 8.3 Управление торговлей 11
3. Реализация. Обмен данными между базами 1С
Часто у клиентов возникает потребность изменить механизм обмена данными между своими информационными базами, если вносились изменения в объекты базы данных, участвующие в обмене, либо добавились новые реквизиты. В связи с этим необходимо делать доработку правил обмена. Для этого как раз служит конфигурация 1С:Конвертация данных, которая позволяет достаточно гибко создавать, дорабатывать и оптимизировать правила обмена между конфигурациями под определенные требования.
Рассмотрим доработку правил обмена между 1С:Управление торговлей редакция 11 (далее УТ) и 1С:Управление корпоративными финансами (далее УКФ) с помощью 1С:Конвертация Данных 2.0 на примере определенных требований конкретного заказчика.
1. Постановка задачи. Перенос данных из 1С 8 Управление торговлей 11
У заказчика существовал отчет, который выводил определенную информацию в разрезе договоров и контрагентов. Появилась потребность в отображении дополнительной информации по договорам, которой в данной информационной базе нет (УКФ). Эта информация присутствует только в базе 1С 8 УТ 11 и соответственно для переноса этих данных было принято решение дорабатывать правила обмена между этими конфигурациями. Задача осложняется еще тем, что из УТ нужная информация никогда не выгружалась в УКФ и находится в альтернативном справочнике, у которого нет ссылочной связи с типовым справочником «Договора с контрагентами».
2. Подготовительный этап. Выгрузка базы из 1С 8.3 Управление торговлей 11
Для начала из базы источника (УТ) выгружаем рабочие правила обмена. Для хранения дополнительной информации по договорам в УКФ был создан новый регистр сведений, в который как раз и будет попадать информация после обмена. Также в УТ было добавлено несколько реквизитов в справочник договоров. В связи с тем, что структура конфигураций изменилась необходимо из каждой информационной базы с помощью обработки MD83Exp.epf (входит в комплект 1С КД) выгрузить структуру метаданных.
Далее загружаем выгруженные ранее правила конвертации (обмена) в 1С:Конвертация данных. Также необходимо загрузить структуру метаданных для конфигурации-источника и конфигурации-приемника, чтобы в дальнейшем было возможно обращаться к новым реквизитам при доработке правил обмена.
Передавать данные напрямую из альтернативного справочника УТ в регистр сведений УКФ не было возможности по причине отсутствия ссылочной связи по измерению регистра.
Поэтому было принято решение реализовывать задачу в уже существующем правиле конвертации объекта (далее ПКО) договоров.
3. Реализация. Обмен данными между базами 1С
Для начала заходим в нужное ПКО в обработчике событий «ПередВыгрузкой».
Сначала делаем выборку дополнительной информации через запрос. Затем создаем переменные и заполняем их данными из запроса:
ВходящиеДанные.Вставить("Заодно_ТипДоговора");
ВходящиеДанные.Вставить("Заодно_СутьДоговора");
…
ВходящиеДанные.Заодно_ТипДоговора = Результат.ТипДоговора;
ВходящиеДанные.Заодно_СутьДоговора = Результат.СутьДоговора;
…
Теперь нужно создать параметры объекта в правилах конвертации свойств (далее ПКС)
Далее в обработчике событий «ПередВыгрузкой» пишем код для заполнения параметра из соответствующей переменной:
Значение = ВходящиеДанные.Заодно_СутьДоговора;
Если Не ЗначениеЗаполнено(Значение) Тогда
Пусто = Истина;
КонецЕсли;
После заведения все необходимых параметров нужно зайти наше ПКО и прописать код в обработчике событий «ПослеЗагрузки»:
В данном случаем в приемнике, в регистре сведений, создаем новую запись с отбором по договору и заполняем параметры, где ПараметрыОбъекта[«НазваниеПараметра»] – наши ранее созданные и заполненные параметры.
Сохраняем правила обмена и загружаем их в базе источника и приемника.
Таким образом, 1С настройка обмена данными позволяет при выгрузке данных из источника, в частности договоров, осуществлять выборку информации из альтернативного справочника по договору с определенной связью, затем записывать в параметры, а уже при загрузке в приемнике договоров - в регистр сведений с отбором по измерению.
Использование параметров дает достаточную гибкость в оптимизации правил обмена и полезен в случае отсутствия четкого соответствия объектов в источнике и приемнике.
Игорь Цебоев,
Разработчик 1С компании ООО “Кодерлайн”.