Подсистема "Обмен данными. Конвертация 2.1". Автоматический обмен измененными данными. Управляемые и обычные формы. Включает отдельные подсистемы "Журнал событий", "Регламентные задания"

18.08.24

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

Обмен между различными конфигурациями с использованием правил обмена разработанными в конфигурации "Конвертация данных 2.1". Обмен по расписанию только измененными данными. Помогает при разработке и отладке правил обмена. Подсистемы "Журнал событий" и "Регламентные задания" можно использовать и для других задач. Можно использовать при переходе с УТ 10, УПП на УТ 11, ERP с онлайн переносом документов. Протестировано на версии 8.3.20.1674, но должно работать и с более ранними релизами платформы.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Подсистема "Обмен данными. Конвертация 2.1" Автоматический обмен измененными данными. Управляемые и обычные формы. Включает отдельные подсистемы "Журнал событий", "Регламентные задания". В архиве пример обмена между пустыми конфигурациями
.zip 1,34Mb
11
11 Скачать (10 SM) Купить за 4 550 руб.

Предыстория

В 2009 году появилась задача разработать обмен данными между различными конфигурациями УТ10 и БП 1.6 (от 15 БД). Принял решение использовать КД 2. Разработчик я "ленивый", после пары недель нажимания одних и тех же кнопок выгрузить/загрузить/выгрузить и т.п. решил сделать свою версию обмена. За основу взял типовой обмен из УТ 10 и обработку "Универсальный обмен данными в формате XML", обработку практически не менял, а сам обмен был серьезно переделан. С того времени алгоритм дорабатывался и дополнялся под различные задачи. Использовал его много раз, работал(ет) годами без сбоев (за это отдельное спасибо разработчику конфигурации "Конвертации данных 2.0"). Планировал от него отказаться и начать использовать Конвертацию данных 3. Но в итоге увидел, что КД 3 не подходит для некоторых задач, и КД 2 все еще остается актуальной. Закончилось тем, что переделал свой обмен под тонкого клиента, но отключил часть функционала, такого как обмен через FTP, Com подключение, кэширование правил, распределенная БД (это довольно просто включить), отложенная обработка загруженных объектов и другие, но дополнил двумя новыми подсистемами из других разработок и обновил обработки "Универсальный обмен данными в формате XML", "Регистрация изменений для обмена данными".  Почему не публиковал ранее - редко разработки выкладываю, причины разные, как пример, эту подсистему ранее не публиковал, так как для предыдущей версии требовались правила обмена с отклонениями от стандарта. 

Примечание

Справочной информации нет - публикация рассчитана на опытных разработчиков, которые могут заглянуть в код и прояснить какие-то для себя моменты. Из-за высокой загруженности не готов отвечать на вопросы подобные: а зачем нужна КД 2, если есть КД 3, а почему не используем БСП и т.п.  Но с удовольствием отвечу на вопросы по работе подсистем. Если кто-то подключит какую-либо из подсистем и создаст видео/обычную справку, опубликую с благодарностью.

Подсистема "Общего назначения"

Пара общих функций и регистров сведений используется всеми подсистемами. Не особо много интересного, разве что использование аналога констант (данные хранятся в регистре сведений, используется кэш). Для фонового обмена необходимо указать строку соединения с рабочей БД.

 

 

Подсистема "Регламентные задания"

Для данной разработки эта подсистема явно "избыточна", разрабатывалась она совсем для других целей. Но не уменьшать же существующий функционал, встроил подсистему как есть.  

Что умеет - запускать по очереди/отдельно выполнение задания для связанных с регламентным заданием объектов. Приведу пример - есть 300 обменов данными (неважно для чего, пример не из этой публикации). Если мы запускаем каждую минуту все 300 заданий отдельно -  получаем конфликт блокировок, огромное кол-во записей в журнале регистрации т.п. Решение - выполняем последовательно обмены. Но вопрос, если один обмен выполняется два часа, остальные в очереди должны его ждать? А если "проблемных" обменов несколько, это может привести к неработоспособности системы. Решение - "маленькие", стабильные обмены выносим в одно регламентное задание и запускаем по очереди в одном фоновом задании, а для оперативных или проблемных выполняем в отдельных фоновых задачах.  Если в конфигурации есть типовой модуль "РаботаСПочтовымиСообщениями", тогда можно настроить отправку ошибок администратору.  Обратите внимание, отправляются ошибки, только если это необработанное исключение.  Ошибки при обмене таковыми не являются, но можно добавить несколько строк кода и настроить отправку и этой информации. Через эту подсистему запускается можно запустить задачу на выполнение задание как в фоновом режиме, так и на сервере/толстом клиенте. В файловом варианте функционал ограничен, так как в файловом варианте задания могут запускаться только по очереди. 

 

 

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

 

Подсистема "Журнал событий"

Что умеет: регистрировать события разного уровня (информация, отладка, ошибка); добавлять файлы к событиям; передавать сообщения из фонового задания пользователю; показывать длительность события; завершать фоновое задание; отчет по событиям; автоматическая очистка журнала от устаревших данных. После подключения к обмену нашел некоторые минусы в подсистеме, но плюсов больше.  

Пример добавления записей в журнал событий:
ДанныеЖурнала  = одКонв2_ЖурналСобытий.ИнициализироватьДанныеПодсистемы("одКонв2_",Настройка);        
одКонв2_ЖурналСобытий.ДобавитьСобытие(ДанныеЖурнала,ТекстСообщения);
одКонв2_ЖурналСобытий.ДобавитьСобытие(ДанныеЖурнала,"Настройка заблокирована!","Ошибка");
одКонв2_ЖурналСобытий.ЗаписатьСобытия(ДанныеЖурнала);

В фоновом режиме пользователь получает сообщения каждые n секунд. Запись в регистр происходит при завершении обработки. Если фоновое задание завершено с ошибкой и запись не произведена в регистр, сработает регламентная процедура и перенесет данные об ошибке из фонового задания в журнал событий.

 

 

 

 

Если журнал событий разрастается быстро, и начинает тормозить отображение событий, поменяйте настройки автоматической очистки.

 

 

Подключение данный подсистемы к другим объектам - аналогично как и с предыдущей подсистемой 

 

Подсистема "Обмен данными. Конвертация 2.1"

 

 

 

Ответы на некоторые вопросы:

Правила регистрации объектов поддерживаются? Правил регистрации объектов нет в подсистеме. Подсистема вынесена в расширение? Да, но так как регламентные задания не поддерживаются в расширении, приходится вносить небольшие изменения и в конфигурацию. Работают ли правила обмена, разработанные n лет назад? Должны. Но тут ситуация такая, версии ниже 2.1.8 обработки "Универсальный обмен данными в формате XML» позволяли некоторые вольности при разработке правил обмена. Например, при поиске по уникальному идентификатору можно было не передавать уникальный идентификатор приемнику, не было контроля по дате запрета изменения данных и т.п. Когда обновил обработку на новый релиз, такие недоработки проявились и пришлось исправлять правила. Если у вас старые правила и вы не планируете их изменять, укажите в настройках использовать версию обработки «2.1.7» Стабильность работы? В предыдущей версии все было проверено годами, здесь все-таки опыт использования гораздо меньше, но основную задачу выполняет.  

 

Проверено на следующих конфигурациях и релизах:

  • Управление производственным предприятием, редакция 1.3, релизы 1.3.231.3
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.157.32
  • 1С:Конвертация данных 2.0, релизы 2.3.11.37
  • Управление торговлей, редакция 11, релизы 11.5.18.64
  • Управление торговлей, редакция 10.3, релизы 10.3.88.3
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.30.35

Конвертация данных редакция 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    141467    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    166427    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    23985    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    36568    94    66    

89

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    171155    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    186855    589    509    

526

Перенос данных 1C Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.

25.09.2016    80633    312    250    

264
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sapit 82 10.06.22 18:36 Сейчас в теме
Информация дополнительно к публикации - правил обмена нет в прикрепленных файлах, там только пример обмена с пустыми конфигурациями.
2. bprogs 277 17.07.22 15:35 Сейчас в теме
(1) Добрый день,решение классное мне очень нравится, правда немогу найти где задавать параметры при обмене, в самой конвертации выставлены параметры, а вот в справочнике или в обработке как задать параметр например по организации?
3. bprogs 277 17.07.22 15:51 Сейчас в теме
(2) ну там же в обработке универсальный обмен данными, при обмене выставляешь параметр (Например Организация) вот такой обмен хочу сделать с параметром , там же где то в регистре надо правильно?
4. sapit 82 17.07.22 20:28 Сейчас в теме
Доброго, задание параметров в таком виде не предусматривал. Обычное устанавливаю параметры в узле обмена (например список организаций) или уже в самих в правилах обмена перед выгрузкой. В предыдущей версии были зачатки использования параметров, но не развил эту часть
5. bprogs 277 17.07.22 20:34 Сейчас в теме
(4) насчет узлов, это как там параметр нужно закинуть? маленько можете обьяснить?)))
7. sapit 82 17.07.22 20:41 Сейчас в теме
(5)
В типовой УПП, к примеру как на скрине
Прикрепленные файлы:
6. sapit 82 17.07.22 20:35 Сейчас в теме
В правилах обмена можно обратиться к параметру "Узел" (этот параметр автоматически создается и заполняется).

Вот пример заполнения параметров в правилах обмена:

//ДАТА ОСТАТКОВ
Если Не ЗначениеЗаполнено(Параметры.ДатаОстатков) Тогда 
	Параметры.ДатаОстатков = Дата(2021,12,31);	
КонецЕсли;
Параметры.ДатаОстатков = КонецДня(Параметры.ДатаОстатков);

//ОТБОР ПО ОРГАНИЗАЦИИ
Если Не ЗначениеЗаполнено(Параметры.Организации) Тогда
	Параметры.Организации = Новый Массив;
	Для Каждого СтрокаОрганизация Из Параметры.Узел.Организации Цикл
		Параметры.Организации.Добавить(СтрокаОрганизация.Организация);				
	КонецЦикла;
ИначеЕсли ТипЗнч(Параметры.Организации) = Тип("СправочникСсылка.Организации") Тогда // когда в обработке универсального обмена задан параметр
	Организация = Параметры.Организации;
	Параметры.Организации = Новый Массив;
	Параметры.Организации.Добавить(Организация);
Иначе // есть список организаций, но надо проверить их тип
	Массив = Новый Массив;
	Организации = Параметры.Организации;
	Для Каждого Элемент Из Организации Цикл
		Если ТипЗнч(Элемент) = Тип("Строка") Тогда
			СсылкаОрганизации = Справочники.Организации.НайтиПоНаименованию(Элемент);
			Если ЗначениеЗаполнено(СсылкаОрганизации) Тогда
				Массив.Добавить(СсылкаОрганизации);
			КонецЕсли;
		Иначе
			Массив.Добавить(Элемент);
		КонецЕсли;
	КонецЦикла;
	Параметры.Организации = Массив;
КонецЕсли;
Показать
8. bprogs 277 17.07.22 20:49 Сейчас в теме
(6) а этот код нужно в правила конвертации с организацией нужно написать ,или в главное окно ?
Прикрепленные файлы:
9. bprogs 277 17.07.22 20:50 Сейчас в теме
я закинул вот сюда и параметр прописал
выскакивает эта ошибка


Ошибка в обработчике события ПередВыгрузкойДанных (конвертация)
Обработчик = ПередВыгрузкойДанных (конвертация)
ОписаниеОшибки = Поле объекта не обнаружено (Организации)
ПозицияМодуля = {(4)}:Для Каждого СтрокаОрганизация Из Параметры.Узел.Организации Цикл
{Обработка.одКонв2_УниверсальныйОбменДаннымиXML_V218.МодульОбъекта(13624)}:Выполнить(Конвертация.ПередВыгрузкойДанных);
{ОбщийМодуль.одКонв2_ОбменДанными.Модуль(569)}:ОбработкаОбмена.ВыполнитьВыгрузку();
{ОбщийМодуль.одКонв2_ОбменДанными.Модуль(160)}:ВыполнитьВыгрузкуДанныхВФайлОбмена(КонтекстВыполнения);
{ОбщийМодуль.одКонв2_РегламентныеЗадания.Модуль(592)}:одКонв2_ОбменДанными.ВыполнитьОбменДанными(Объект,СпрРегламентноеЗадание,Параметры);
КодСообщения = 62
Запись изменений текущей информационной базы в файл обмена завершена с ошибкой!
Прикрепленные файлы:
10. sapit 82 18.07.22 07:48 Сейчас в теме
Ну так у вас в узле получается нет табличной части организации. Это надо в конфигураторе доработать план обмена или использовать в котором есть отбор по организации
Оставьте свое сообщение