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


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

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

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

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

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

 

Наши проекты

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

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

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

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

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

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

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

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

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

Отрасль:
Производство

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

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

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

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

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

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

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

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

- Создание полноценной управленческой системы взамен существующих
- Внедр...

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

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

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

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

Внедрение ПП «1С:Предприятие 8. Аренда и управление недвижимостью на базе "1С:Бухгалтерия 8"» в компании «Бутово Молл»
ООО «Бутово Молл»

Отрасль:
Недвижимость

Внедренное типовое решение:
1С:Аренда и управление недвижимостью на базе «1С:Бухгалтерия 8»

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Оформление зак...

Фирма 1С
Фирма 1С

Отрасль:

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

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

ФГОУ ВПО «Горский государственный аграрный университет»
ФГОУ ВПО «Горский государственный аграрный университет»

Отрасль:
Образование

Внедренное типовое решение:
1С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

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

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

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

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

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

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

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

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

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

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

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

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

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

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

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

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