Автоматический обмен между 2 разными базами через обработку "Универсальный обмен данными XML"

01.05.23

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Пример реализации автоматического обмена между УТ и БП через обработку "Универсальный обмен данными XML".

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
Обработка выгрузки из УТ
.epf 10,56Kb
2 1 850 руб. Купить
Обработка загрузки в БП
.epf 7,67Kb
1 1 850 руб. Купить
Архив содержит обработку выгрузки и загрузки.
.zip 13,32Kb
9 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Данная статья рассчитана на:

1) минимальные навыки работы с КД2, т.к. необходимо будет дорабатывать правила обмена, если правил нет то их необходимо будет создать самостоятельно.

2) Обработки выгрузки/загрузки служат как пример, код которого можно скопировать и немного доработав под свои нужды  автоматического запуска.

 

Привет всем. Решил поделиться реальным примером автоматизации обмена через правила КД2.

Задача: Сделать автоматический обмен из УТ в БП(Подобный алгоритм подойдет и для обратного обмена из БП в УТ).

При решении задачи использовались Бухгалтерия предприятия 3.0.134.23 в дальнейшем БП и Управление торговлей 10.3.29.1 в дальнейшем УТ. 

 

Приступим:

Заходим в конфигурацию в УТ и  добавим новый план обмена, заполним состав документами, которые будут участвовать в обмене

 

 

Для удобства создаем форму списка и добавляем кнопку "НастройкиОбменов" (можно ее скопировать с других обменов, как сделал я. Но если не хотите, то добавляйте просто кнопку. Картинка кнопки называется "МониторСостоянияОбмена"). 

У кнопки создаем процедуру с кодом:

 

	Если ЭлементыФормы.ПланОбменаСписок.ТекущиеДанные = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ПроцедурыОбменаДаннымиКлиент.ПоказатьЗарегистрированныеИзмененияДляУзла(ЭлементыФормы.ПланОбменаСписок.ТекущиеДанные.Ссылка, ЭтаФорма);


Далее заходим в режим предприятие в УТ и добавляем свой узел в план обмена.

 

 

Обязательно вручную назначьте у своего и узла по умолчанию код. Если у узла по умолчанию не назначить код, то потом при обращении к своему узлу могут возникнуть ошибки (с чем связано подобное поведение, не разбирался).

Кнопка, которую мы добавили, открывает окно регистрации изменений. В нем отображаются все документы, в которые вносились изменения с момента добавления нашего узла. При необходимости документы пометить для обмена можно вручную.

 

Правила:

Открываем наши правила в КД2(если правил нет, то их надо создать. Как создать правила обмена между базами в этой статье не затрагивается, предполагается что они уже присутствуют) и добавляем в нашу конвертацию параметр. Он будет служить нам для возможности снятия с регистрации документа в УТ.

 

 

Если нам по каким-то условиям надо документ снять с регистрации в УТ, то перед выгрузкой делаем проверку, ставим Отказ и удаляем регистрацию объекта в нашей базе (в моем случае в УТ).

 

 

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

 

 

В ПКО добавляем подобный код. Здесь если все прошло успешно, то мы добавляем этот документ на снятие с регистрации (в моем случае в УТ).

 

 

После загрузки мы будем снимать записанные документы с регистрации (в моем случае в УТ).

 

 

Добавляем новый "Алгоритм", который будем выполнять. Код можно вставить и после загрузки, здесь уже на ваше усмотрение.

 

 
 Код алгоритма "СнятьРегистрациюИзмененийВУТ".

 

Предварительные действия перед обменом описал.

Обработку загрузки и выгрузки добавил ниже.

Вступайте в нашу телеграмм-группу Инфостарт

Обработка выгрузки

См. также

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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    149496    872    302    

456

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    175132    379    289    

405

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    175693    321    270    

390

Перенос данных 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, почту.

16260 руб.

18.02.2016    192591    629    540    

547

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    76734    208    160    

145

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    40052    115    73    

108

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

55778 50200 руб.

24.04.2015    200674    166    247    

291

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 09.07.2025, версия 9.11 - 10.1)

18000 руб.

20.11.2015    164547    410    386    

534
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Pro-tone 175 03.05.23 11:54 Сейчас в теме
Ну не предназначен кукурузник для ведения боевых действий. Конечно, можно на него посадить двух автоматчиков, но результат работы такого "истребителя" будет не сильно хорош.
Обмен по СОМ к тому же регулярный это самое плохое что можно придумать. Я уже не говорю что версии платформ могут у баз быть разными (а часто это именно так), в этом случае нужно долго танцевать с бубном и регистрировать 2 версии comctrl.dll в реестре Windows. Сама обработка универсального обмена в режиме СОМ работает не совсем корректно, заваливаясь по ошибке там где файловый обмен без проблем проходит. Плюс к этому не видно номеров сообщений, нет отработки события "удаление объекта". В идеале должно быть логирование при каждой итерации обмена что было выгружено, а ещё более лучшим решением будет автоматическая отправка на почту письма если обмен завершился с ошибкой с текстом ошибки. Параметры подключения в вашем случае захардкоживаются в правила обмена что тоже остановит обмен если имя сервера решат изменить (если точнее, имя кластера серверов в консоли администрирования), а такое хоть и нечасто, но бывает. Файловый обмен лишён этих недостатков, ему главное чтоб была доступна сетевая папка. Так что полноценным автоматическим обменом назвать это нельзя. Но как временное решение для одностороннего обмена это имеет право на жизнь.
В числе моих поделок есть подсистема обмена данными по правилам КД2 которая приносит в любую конфигурацию возможность регулярного обмена с полным функционалом независимо от версии платформ и толщины клиента.
_Ramzes; dsdred; cheshirshik; viktor3d; +4 Ответить
2. kvaleksandr 25 04.05.23 08:12 Сейчас в теме
(1) Спасибо за комментарий. То что вы описали не требовалось в рамках моей задачи. Я поделился тем как автоматизировал обмен и это работает без каких-либо проблем и заморочек.

Можно придумать кучу минусов подобного решения в текущем состоянии как оно есть сейчас, но факт остается фактом. Оно работает и у меня проблем с обменом не наблюдается.

Статья в основном служит как пример для тех, кто не знает с чего начать и в какую сторону двигаться. Это может быть одним из направлений.

COM как вариант можно заменить на:
1) веб-сервис
2) запись в файлы
3. yasaniok 06.05.23 08:34 Сейчас в теме
(2)для тех, кто не знает с чего начать и ни разу такого не делал, статья полный 0. Вообще не понятно ничего.
На каком скрине БП, на каком УТ, где КД, скрины обрезаны, всё заблюрено. Откуда взялись "наши правила", которые нужно открыть в КД. Новички не знают, что такое КД в принципе.
Сами перечитайте статью.
4. kvaleksandr 25 06.05.23 09:36 Сейчас в теме
(3) Спасибо за ваше замечание.
6. cheshirshik 75 07.05.23 17:17 Сейчас в теме
(2)

Согласен с замечанием. Ещё добавлю, что сом будет работать только на Винде. Если сервер переедет на Линукс, то все. Ещё сом достаточно медленная технология. Анахронизм. Удивительно, что до сих пор на инфостате полно статей по использованию.
7. acces969 375 10.05.23 08:50 Сейчас в теме
(6) COM медленный? Не замечал такого, сколько работал в своей консоли запросов (https://infostart.ru/public/1640927/). Может быть, медленно из-за того, что COM соединение создавалось по несколько раз за вызов во время выполнения некоторой работы?
10. cheshirshik 75 10.05.23 16:20 Сейчас в теме
(7) Да. Когда появляется некий посредник между базой и клиентом/сервером, то имхо работа с этой технологией становится медленной. Вы скорее всего не переносили большие объемы данных. Поэтому у вас СОМ "нормально" работает. Но... я бы эту технологию сегодня использовать бы не стал по причинам описанным выше.
11. acces969 375 11.05.23 06:22 Сейчас в теме
(10) Какой же способ тогда быстрый? Внешние источники данных? Запись и чтение в промежуточных базах данных MySql?
12. cheshirshik 75 11.05.23 11:29 Сейчас в теме
(11)

HTTP сервисы, КД 2.0, КД 3.0 (при грамотном подходе к созданию правил обмена).
13. acces969 375 11.05.23 14:02 Сейчас в теме
(12) Не хочу спорить, но теоретически должно быть иначе. COM-соединение, это сеанс во внешней БД. Исполнение платформой команд чтения-записи, отправленных по COM-соединению, должно производиться быстрее, чем выполнение этих же операций через интерфейсы http и enterprise data и тем более - через правила обмена на конвертации данных 2.0. Надо будет провести расследование и написать статью с разбором и замерами, интересная тема.
14. cheshirshik 75 11.05.23 16:05 Сейчас в теме
(13)

Я бы не стал тратить время. Вот честно. СОМ - это устаревшая технология. А ее киллер финча - это платформа на Винде. Все. Дальше уже особо-то обсуждать будет нечего. Ваше решение зависит от платформы, а писать надо код так, чтобы работал везде, а не только на платных ОС от Майкрософт.
acces969; +1 Ответить
5. cheshirshik 75 07.05.23 17:11 Сейчас в теме
С боевым крещением. Я про опыт с кд 2.0.
8. kvaleksandr 25 10.05.23 12:37 Сейчас в теме
(5) Спасибо. Раньше думал что КД2 это сложно и правила ставили в ступор, но постепенно втянувшись я понимаю что написать правила на КД2 это так просто и быстро по ним можно сделать любой обмен между разными базами.
cheshirshik; +1 Ответить
9. cheshirshik 75 10.05.23 16:17 Сейчас в теме
(8) Ну я бы не сказал, что там все так уж просто. Надо воспринимать обмен, как обработку выгрузки/загрузки данных через ХМЛ, тогда все встанет на свои места. Это я к тому, что тот кто ругает обмен данных через КД, просто не умеет его готовить. Если будут затыки и затупы по обменам, то см. в отладке. Там же можно найти много интересного. Например те же запросы в циклах.
15. Tarlich 119 11.10.23 13:52 Сейчас в теме
А если обмен не прошел а из плана обмена уже удалилось инфа ?
Boris_1c; +1 Ответить
Оставьте свое сообщение