25.03.2016 Сергей Семенов 17231
Универсальный способ конвертации данных с исп...


Конфигурация «Конвертация данных 2.0» (или более поздние версии) позволяет создавать правила обмена между базами данных для универсального обмена данными в формате xml.
 
     
  Для конвертации объектов источника в объекты приемника используются:    
     
 
  • правила конвертации объектов (ПКО)
  • правила конвертации свойств (ПКС) 
 
  В случаях, когда правила конвертации достаточно очевидны, ПКО и ПКС позволяют вполне естественным образом описывать механизм преобразования данных. Однако встречаются случаи, когда механизм преобразования гораздо сложнее, чем простое преобразование объектов. В этих случаях более естественным является алгоритмическое программирование на встроенном языке 1С. То есть, если есть алгоритм преобразования, то он реализуется с помощью соответствующей программы без использования ПКО и ПКС. Естественным способом представления информации для обмена между базами данных в этом случае является таблица значений. В Интернете многократно обсуждали вопрос, каким образом можно передавать таблицу значений между источником и приемником. В ответах предлагается использовать ПКО и ПКС.  
  Возникает вопрос: а зачем для передачи таблицы значений использовать конвертацию данных. Сами же пользователи дают ответ, что конвертация данных позволяет использовать стандартные обработки для обмена данными, то есть не нужно думать о собственном формате передачи данных. И это не единственное достоинство конвертации данных. Но как же передать таблицу значений из источника в приемник? Предлагается следующий способ:  
 
     

  Вот и всё, задача решена!
 
     
  Отметим, что в таблицу ТЗ не имеет смысла включать ссылочные объекты. А вот уникальные идентификаторы (УИД) объектов можно использовать для установления соответствия между объектами источника и приемника. Хранить соответствие можно в регистре сведений (например, «соответствие объектов для обмена»), в который записывать УИД источника и ссылку на объект приемника.
 
     
  Отметим также удобство отладки модулей событий: каждый из модулей можно отлаживать в соответствующей конфигурации вне использования обработок для универсального обмена данными в формате xml. В конфигурации приемника нужно в этом случае после проведения обмена получить таблицу значений следующим образом:  
     
 
Спр = Справочники.КД.ДляОбмена.ПолучитьОбъект();
ТЗ = Спр.ТЗ.Получить();
 
     
  После проведения отладки текст модулей включается в правила обмена.  
     
  Если конвертация данных используется совместно с планами обмена, то справочник КД нужно включить в план обмена, авторегистрацию запретить.   
     
  С помощью описанного способа удалось решить задачу обмена данными для очень сложного механизма преобразования данных.  
     
  В заключение выделим важную мысль. Встроенный язык 1С является языком предметно-ориентированного типа, и это позволяет ускорять разработку приложений и повышать надежность разработанных приложений. Однако никто не отменял применение языка 1С в качестве алгоритмического языка там, где это улучшает характеристики программы. То есть вместо применения методов языка и методов объектов гораздо эффективнее написать обычный цикл.  
     
  Аналогично можно утверждать, что вместо применения ПКО и ПКС конвертации данных в определенных случаях лучше использовать обычное алгоритмическое программирование, применяя описанный выше способ.  
     
  Ps:  
  Со статьей "Односторонний обмен данными с использованием планов обмена" можно ознакомиться здесь.

Если возникли вопросы по способам конвертации данных - обращайтесь! 
 
 

Семенов Сергей,

    разработчик 1С ООО “Кодерлайн”

 

Наши проекты

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Много Плитки»
ООО «Много Плитки»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Закупки (снабжение) и управление отношениями с поставщиками:
- Оформление ...

Внедрение «1С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка фу...

СТС-Медиа
СТС-Медиа

Отрасль:
Медиаиндустрия

Внедренное типовое решение:
1С:Управление холдингом

- Бухгалтерский учет;
- Налоговый учет;
- МСФО (GAAP/управленческий учет);
- ...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
1С:Управление производственным предприятием

- Внедрение функционала управления НСИ;
- Рефакторинг;
- Оптимизация общег...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

Автоматизация торговых операций на базе "1С:Управление торговлей" в ОАО "Авиазапчасть"
ОАО «Авиазапчасть»

Отрасль:
Авиационно-космическая промышленность

Внедренное типовое решение:
1С:Управление торговлей

- Оптовая торговля;
- Оформление заказов покупателей;
- Планирование прод...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

Внедренное типовое решение:
1С:Бухгалтерия КОРП

Бухгалтерский учет Производственные операции Регламентированная отчетнос...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение