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


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

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

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

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

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

 

Наши проекты

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

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

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

Автоматизация складских операций на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

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

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

Реализовали разработку уникального модуля «Интернет-магазины» на базе прог...

ООО "ТК "Сытый Дом-НН"
ООО "ТК "Сытый Дом-НН"

Отрасль:
Торговля, склад, логистика, транспорт

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

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

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:ТОИР Управление ремонтами и обслуживанием оборудования

Мониторинг и анализ ключевых показателей деятельности предприятия Управле...

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

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

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

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

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслев...

ООО ХДМ Рус
ООО ХДМ Рус

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

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

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

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

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

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

Внедренное типовое решение:
1С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

Автоматизация торгового учета на базе "1С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

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

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

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

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

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

ПЭК
ПЭК

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

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

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

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

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

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

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