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


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

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

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

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

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

 

Наши проекты

Апгрейд 1С:Бухгалтерия 8 ПРОФ (USB) до версии 1С:Бухгалтерия 8 КОРП (USB)
ООО «Ява Строй»

Отрасль:
Строительство

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

- Создание чистых конфигураций. Внесение изменений в БД ЗУП и новая расчетная ведомость;
- Администрирование MS SQL Server;
- Сжати...

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

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

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

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

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

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

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

Объемно-календарное планирование производства Автоматизация бизнес-процессов Анализ деятельности в разрезе проектов Планирование проектов У...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с покупателями
- Учет продаж ТМЦ
- Управление складскими ...

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автоматизировали блоки: продажи, закупки, производство, складская и т...

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

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

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

- Налоговый учет;...

Автоматизация кадрового учета на базе ПП "1С:Зарплата и управление персоналом" в ТД НМК
ООО «Торговый дом Нальчикский молочный комбинат»

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

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

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

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

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

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

- Блок планирования проектов (процессы объемно-календарного планирования производства)...

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

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

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– Логистика адресного склада;
– Управление отношениями с пост...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

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

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

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

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

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

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

ООО "АСК ИНЖИНИРИНГ"
ООО "АСК ИНЖИНИРИНГ"

Отрасль:
Машиностроение, приборостроение

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

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

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

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

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

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