Лайфхаки конвертации данных 2.1

16.09.20

Интеграция - Перенос данных 1C

В данной статье будут рассмотрены десять приемов работы с конвертацией данных 2.1. Указанные приемы явно не описываются в документации (справке), но их полезно знать и применять. Для наглядности приёмы работы сопровождаются описанием реализации и практическими примерами.
  1. Выгрузка одного объекта источника в несколько объектов приемника

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

Синтаксис функции:

ВыгрузитьПоПравилу(Источник,
                                   Приемник,
                                   ВходящиеДанные,
                                   ИсходящиеДанные,
                                   ИмяПКО,
                                   УзелСсылки,
                                   ТолькоПолучитьУзелСсылки,
                                   ПКО,
                                   ЭтоПравилоСГлобальнойВыгрузкойОбъектов,
                                   ВыборкаДляВыгрузкиДанных)

Пример реальной задачи. Необходимо выгрузить справочник – «НоменклатурныеГруппы» в три объекта на стороне приемника: «НоменклатурнаяГруппа» (справочник), «ЗаказНаПроизводство» (документ), «СтатусыЗаказов» (регистр сведений). Для решения данной задачи можно использовать функцию «ВыгрузитьПоПравилу».

В правилах выгрузки данных (далее-ПВД) в обработчике «ПередОбработкой» происходит выгрузка в объект приемника «НоменклатурнаяГруппа» по стандартной выгрузке (ИмяПКО), а в обработчике «ПослеВыгрузки» происходит выгрузка в объекты «ЗаказНаПроизводство» и «СтатусыЗаказов» с помощью функции «ВыгрузитьПоПравилу»:

 

 

 

 

  1. Выгрузка иерархического справочника (элементы и папки)

Если необходимо выгрузить иерархический справочник (элементы и папки) с учетом иерархии и поиск в базе приемника будет осуществляться по внутреннему идентификатору объекта источника (по полям поиска не будет продолжен поиск), то для корректной выгрузки иерархии необходимо установить галочку – «Поиск» у реквизита «ЭтоГруппа» (см. рисунок 1).

 

 

 

 

 

 

Рисунок 1 – Выгрузка иерархического справочника.

 

Если не установить галочку «Поиск» у реквизита «ЭтоГруппа», то папки объекта будут выгружаться как элементы.

  1. Реквизиты объекта для правил регистрации объектов

Объекты регистрируются по правилам регистрации объектов к выгрузке только при изменении реквизитов объекта, которые указаны в правилах конвертации свойств (далее-ПКС) объекта (правила обмена данными). При необходимости регистрировать объект к выгрузке и при изменении реквизитов, которые не указаны в ПКС, достаточно данные реквизиты добавить в ПКС и установить галочку – «отключить».

Это может потребоваться для задачи, когда у нас есть реквизиты на стороне базы источника, которых нет в базе приемника, и только при их изменении объекты должны регистрироваться к обмену.

  1. Зарегистрировать объект к выгрузке другим объектом (объектами)

Когда стоит задача выгружать вместо регистрируемого объекта другой объект, то при регистрации исходного объекта в правилах регистрации объектов в обработчике «ПослеОбработки» через метод «ЗарегистрироватьИзменения» плана обмена можно зарегистрировать необходимый объект на узлах плана обмена.

Синтаксис метода:

ЗарегистрироватьИзменения (Узлы, Данные)   

 

 

 

 

 

 

 

 

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

  1. Объект выгружается как «УдалениеОбъекта»

В продолжение пункта 4. При выгрузке любого объекта происходит проверка, соответствует ли он существующим правилам регистрации. Если при регистрации вместо исходного объекта регистрируется к выгрузке другой объект, то новый объект также будет проходить проверку по своему типу правил регистрации объектов. В случае несоответствия правилам регистрации, объект будет выгружать, как «УдалениеОбъекта».

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

Описание параметра Выгрузка:

Выгрузка (только чтение) – Булево – параметр определяет контекст выполнения правила регистрации. Истина – правило регистрации выполняется в контексте выгрузки объекта. Ложь – правило регистрации выполняется в контексте перед записью объекта.

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

  1. Выбор правила конвертации объектов по умолчанию

Если по одному объекту источнику в правилах конвертации объектов присутствуют несколько правил, то система будет использовать по умолчанию правило, которое совпадает по наименованию с наименованием объекта источника (см. рисунок 2). 

 

 

Рисунок 2 – Выбор правила конвертации объекта по умолчанию.

 

Пример реальной задачи.  Данный подход может пригодиться при выгрузке субконто, когда система определяет правила выгрузки объекта по умолчанию.

  1. Создание документов (справочников) через ПКО на стороне приемника

При необходимости создавать на стороне приемника новые элементы документов (справочников) и подставлять их в исходный объект, можно применить следующий подход:

- определить правило заполнения нового документа (справочника) на стороне приемника (например, через входящие данные);

- описать заполнение реквизита нового документа (справочника) в исходном объекте (например, через исходящие данные);

- заполнять при выгрузке на стороне источника новый документ (справочник) уникальным значением (например, числом).

Пример реальной задачи. Необходимо на стороне приемника создавать новые документы «ДокументРасчетовСКонтрагентом» в документе ввод начальных остатков по счетам взаиморасчетов. На стороне источника заполняем реквизит «ДокументРасчетовСКонтрагентом» при выгрузке начальных остатков по счетам взаиморасчетов уникальным значением (числом):

В исходном объекте («ВводНачальныхОстатков») описываем правила выгрузки реквизита «ДокументРасчетовСКонтрагентом»:

 

 

 

Определяем правило заполнения «ДокументаРасчетовСКонтрагентом» на стороне приемника (см. рисунок 3).

 

 

 

Рисунок 3 – Правили выгрузки «ДокументРасчетовСКонтрагентов».

 

  1. Параметр с типом «ТаблицаЗначений»

В конвертации данных нельзя создать параметр с типом «ТаблицаЗначений» на вкладке «Параметры» (см. рисунок 4).

 

 

 

 

 

 

 

 

Рисунок 4 – Допустимые типы для параметров конвертации данных.

 

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

Также необходимо в общем обработчике «ПослеЗагрузкиДанных» удалить данный параметр.

  1. Выгрузка реквизитов со значением перечисления или предопределенного значения справочника

При выгрузке из базы источника можно указывать вместо элемента перечисления или предопределенного значения справочника текстовое значение, которое равно наименованию элемента перечисления или предопределенного значения справочника.

Пример реальной задачи.  В базе приемника присутствует реквизит с типом «Перечисление». При выгрузке реквизита (обработчик: «Перед выгрузкой») можно указать текстовое значение равное наименованию элемента перечисления на стороне базы приемника (см. рисунок 5). Данный подход может ускорить процесс разработки в конвертации данных.

Рисунок 5 – Заполнение реквизита с типом «Перечисление».

 

  1.  Ускорение процесса выгрузки с помощью параметра «ВыгрузитьОбъект» («ВыгрузитьТолькоСсылку»)

Когда необходимо выгрузить большой объем данных и нет необходимости выгружать полностью ссылочные данные, то можно сократить объем выгружаемых данных с помощью параметров «ВыгрузитьОбъект» («ВыгрузитьТолькоСсылку») в обработчике «ПриВыгрузке» правил конвертации свойств (ПКС):

Пример реальной задачи.  Данное ускорение может потребоваться, когда все ссылочные объекты (нормативно-справочная информация) из базы источника ежедневно интегрируется в базу приемника, а документы должны транслироваться с определенным интервалом (раз в месяц). В таком случае при обмене документами между базами нет необходимости полностью передавать ссылочные объекты, а можно передавать только ссылку, что ускорит процесс выгрузки.

Заключение.

Рассмотренные приемы работы позволят повысить производительность и эффективность работы с программой конвертацией данных 2.1.

конвертация данных 2.1

См. также

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141469    798    297    

419

SALE! 10%

Перенос данных 1C Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 50200 руб.

04.08.2015    166434    332    277    

373

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.234.x) и БП 3.0 (3.0.161.x). Правила подходят для версии ПРОФ и КОРП.

35000 31500 руб.

15.12.2021    23987    169    51    

127

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.19.x).

35000 31500 руб.

23.07.2020    51189    228    69    

185

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    36570    94    66    

89

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    56190    59    105    

61

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171156    303    257    

378

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 13005 руб.

18.02.2016    186856    589    509    

526
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 306 07.06.20 15:25 Сейчас в теме
2. aximo 2100 08.06.20 08:20 Сейчас в теме
"Если не установить галочку «Поиск» у реквизита «ЭтоГруппа»" - наверное, это знают все, кто работает с КД....
ikalmykia; omut; echo77; xantif_2000; Drivingblind; +5 Ответить
6. echo77 1906 10.06.20 09:23 Сейчас в теме
(2)
Если не установить галочку

Да, но лучше еще раз обратить на это внимание. Я год назад на эту мелочь налетел и потратить кучу времени, чтобы понять, почему же у меня по ссылке группа не ищется
upclinic_krd; +1 Ответить
3. Varies 08.06.20 10:56 Сейчас в теме
Эхх.. написали бы вы эту статью на пол года раньше, выгрузка одного объекта в несколько сильно пригодилась бы )
4. tani6e4ka 08.06.20 14:09 Сейчас в теме
во 2 примере поиск по родителю разве не нужен, для создания иерархического справочника?
5. Shining_ninja 2189 08.06.20 18:28 Сейчас в теме
(4) чтобы элементы и папки из базы источник перегружались в элементы и папки базы приемника, достаточно установить поиск по ГУИД, а также установить галочку поиск по ЭтоГруппа, проверил - так работает.
7. zaxarovsky 111 07.08.20 10:03 Сейчас в теме
По пункту 7:
не знаю как у вас получилось через "Входящие данные", у меня только так: через Источник и без галки "Получить значение из входящих данных"
ИсходящиеДанные = Новый Структура("Дата, Комментарий, Организация, Контрагент, ДоговорКонтрагента");
ЗаполнитьЗначенияСвойств(ИсходящиеДанные, Источник);
ЗаполнитьЗначенияСвойств(ИсходящиеДанные, ОбъектКоллекции);
ИсходящиеДанные.Комментарий = "Перенос остатков";
8. randomus 286 22.09.20 12:55 Сейчас в теме
П.6. не верно. Выбирается правило с наибольшим значением в поле "Приоритет" на закладке "Дополнительно"
12. Shining_ninja 2189 31.03.21 06:39 Сейчас в теме
(8) Тоже так думал ранее, но это не всегда срабатывает.

Данный пункт нужно тестировать на каждой версии - универсальной выгрузки XML.
9. user1510397 18.12.20 09:48 Сейчас в теме
Полезная статья! А как конвертировать значения одного справочника в другой? УТ 11 - УТ 10. Справочник Тип цен номенклатуры - Виды цен. В документе Установка цен номенклатуры.
11. Shining_ninja 2189 31.03.21 06:37 Сейчас в теме
(9) Создать ПКО (источник: Типы цен номенклатуры, приемник - Виды цен).

В документе при конвертации свойств (тип цен - виды цен), обращаться к данному ПКО.
10. tdr 25.03.21 22:11 Сейчас в теме
Для КД3 как реализовать п.1
Выгрузка одного объекта источника в несколько объектов приемника?
13. Shining_ninja 2189 31.03.21 07:27 Сейчас в теме
(10) Советую почитать отдельные статьи по КД3 на Инфостарте.
Оставьте свое сообщение