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

01.05.23

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

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

Файлы

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

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

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

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

 

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

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

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

 

Приступим:

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

 

 

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

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

 

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


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

 

 

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

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

 

Правила:

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

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

 

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

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

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

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

См. также

Перенос данных 1C Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

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

58000 руб.

04.08.2015    190834    460    307    

460

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 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" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    189970    369    292    

426

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    162341    980    324    

483

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

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

58000 руб.

15.04.2019    85525    229    180    

166

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    35105    261    64    

199

Перенос данных 1C Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Перенос данных из УПП 1.3 в УНФ | из КА 1.1 в УНФ | из УТ 10.3 в УНФ | Перенос разработан в формате КД 2 (правила конвертации объектов) | Выгружаются все возможные виды документов, начальных остатков и вся нормативно-справочная информация | Есть фильтр по организациям при выгрузке данных | Есть несколько алгоритмов выгрузки начальных остатков товаров на выбор | Можно проверить перед покупкой на своем сервере!

58000 руб.

17.10.2019    45198    60    117    

62

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Перенос данных из БП 2 в БП 3 готовые правила конвертации данных (КД 2), сэкономьте свое время! | Выполнить переход с БП 2 на БП 3 в ситуациях, когда простым обновлением перейти не получается | Переносится вся справочная информация, документы за выбранный период, а также начальные остатки на выбранную дату (то есть можно еще и свертку базы сделать при переносе) | Есть фильтр по организациям при выгрузке данных | Перенос можно проверить перед покупкой прямо на вашем сервере! Обращайтесь за проверкой!

50600 руб.

21.05.2019    59070    81    134    

73

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

85400 руб.

05.10.2022    13980    16    8    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Pro-tone 144 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 99 07.05.23 17:17 Сейчас в теме
(2)

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

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

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