Интерфейс для обмена между базами 1С посредством 1С:Шины

19.06.24

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

Для решения интеграционных задач между информационными базами были написаны модули, формирующие под каждый справочник/документ свой json пакет. И вот спустя год, количество таких процедур возросло и появилось желание придумать что-то более универсальное. || Получилось что-то внешне похожее на КД 2.0, так как интерфейс пытался максимально приблизить к таковому. Суть следующая: есть справочник с правилами, где пользователь указывает объект источник и формирует посылку / объект приемник и объект источник, где пользователь формирует распаковку посылки. Для каждого из реквизитов можно написать отдельные "субправила".

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
Интерфейс для 1С:Шина:
.cfe 43,64Kb
11
11
6 SM
Скачать Купить за 3 350 руб.

 

Принцип работы наглядно

Подсистема содержит в себе 3 справочника:

  1. Правила взаимодействия
  2. Правила обработки реквизитов
  3. Управление сервисами интеграции (ИШ) (хранилка для логина и пароля)

 

 

Для демонстрации работы было собрано приложение, где "PLM" и "PLMPLM" одна и та же база. Схема приложения представлена на рисунке ниже:

 

 

Сохраним ключи в нашу хранилку:

 

 

Сделаем "интеграцию" справочником "Номенклатура".

1) Создадим правило для отправки в справочнике "Правила взаимодействия".
Указали действие - Отправка, выбрали объект конфигурации и увидели список реквизитов доступных для обмена.

 

 

Галочками, отмечаем те реквизиты, которые мы бы хотели отправлять. Чтобы нам увидеть какие-то изменения, добавим правила для реквизитов.

 

 

В создании правила, ориентируясь на подсказки, напишем свою обработку реквизита.

 

 

В поле обработки правой кнопкой мыши вызовем конструктор запроса и напишем "кое-какой" запрос.

 

 

Получилась следующая бессмыслица, но если результат запроса будет найден, то мы должны будем увидеть в комментарии "СтрокаРезультатаЗапроса".

 

 

Для второго реквизита напишем что-то, чтобы было. Например, просто всегда будем передавать значение ИСТИНА в пометку удаления.

 

 

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

 

 

При необходимости в сформированном коде можно внести правки, написать запрос с помощью конструктора и т.д.

 

 

Теперь выгрузим наши настройки в файлик и получим сообщение после выбора каталога, что файл с именем "" успешно записан / получим описание ошибки.

 

 

2) Создадим правило для приема сообщения в справочнике "Правила взаимодействия".
Указали действие - Прием, выбрали объект конфигурации, и теперь необходимо загрузить файл с настройками.

 

 

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

 

 

Создадим правило на прием реквизита Артикул.

 

 

Снова подтверждаем настройки, чтобы сформировать код. После чего можно опять же внести правки/добавить код обработки.

 

 

3) Имеем два готовых и активных правила для номенклатуры: для отправки и приёма.

 

 

4) Создадим тестовую номенклатуру со следующим наполнением:

 

 

Записываем и после этого перечитываем наш объект (имитируем отправку и прием).

 

 

Получили ожидаемый результат!

 

Возможности для редактирования

 
 Правила взаимодействия
 
 Правила реквизитов

 

Объекты в конфигураторе

В конфигураторе расположены:

  • Модуль "ИШ_ОтправкаСообщений" - в нем расположены процедуры, осуществляющие непосредственную обработку и отправку сообщений
  • Модуль "ИШ_ПриемСообщений" - в нем расположены процедуры, осуществляющие прием сообщений и их последующую обработку
  • Справочник "Правила взаимодействия" - это и есть те самые правила, формирующие создание и распаковку сообщений
  • Справочник "Правила обработки реквизитов" - здесь хранятся правила для реквизитов. Они являются универсальными и могут использоваться для любых реквизитов в разрезе одного правила (правило ... является их владельцем, чтобы при дальнейшей работе не возникло путаницы)
  • Сервис интеграции "Шина" - в сервисе расположены два канала, на которые и ссылается код

 

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

 

Как начать пользоваться

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

Для использования в одной базе нескольких сервисов интеграции, необходимо в модуле "ИШ_ОтправкаСообщений" внести соответствующие изменения, так как расчет был на наличие единственного сервиса в базе.

Теперь остаётся только добавить правила в справочнике с обеих сторон, как в примере выше и включить их активность.

 

Зачем и почему оно именно такое?

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

Надеюсь, что помогу вам сэкономить кучу вашего времени!

P.S. На момент выпуска данной статьи система поддерживает обмены такими объектами как Справочники и Документы и думаю стоит отметить, что система ещё достаточно "хрупкая".

Режим совместимости в расширении установлен 8.3.16, в силу того что разработка велась на достаточно старой конфигурации.

Разработка и тестирование велись на платформе 8.3.25.1386.

шина интерфейс обмен

См. также

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

25080 руб.

12.06.2017    137597    751    292    

401

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

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

45650 руб.

04.08.2015    162292    365    272    

357

Перенос данных 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 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 руб.

15.04.2019    69915    173    143    

114

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3.87.x и УТ 11.5.16.x

28000 руб.

23.07.2020    48090    208    64    

170

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

14580 руб.

18.02.2016    184253    570    509    

515

SALE! %

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

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

45650 26673 руб.

24.04.2015    192067    139    240    

272

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

Переход и перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:ERP Управление предприятием 2.5 и 1С:Комплексную автоматизацию 2.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.227.x), ERP 2.5 (2.5.16.x), КА 2.5 (2.5.16.x) .

28000 руб.

24.06.2020    62108    49    27    

79

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.228.x) и БП 3.0 (3.0.154.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    21533    139    40    

98
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Pavel_Vladivostok 58 20.06.24 03:45 Сейчас в теме
Мне кажется что для обмена между базами 1с удобнее использовать КД2, шина больше подходит для сценарием обмена со сторонними приложениями.
Ни один современный обмен 1с-1с не обходится без переноса контактной информации, свойств, разных регистров сведений с данными фио документов и прочей нси. Если рассматривать простые сценарии с переносом справочников, документов между двумя 1cv8, без выгрузки сопутствующих рсв то здесь по скорости разработки КД2 вообще вне конкуренции.
11. laperuz 46 24.06.24 06:31 Сейчас в теме
(1)Вы сравниваете зелёное и горячее.
Шина это в первую очередь транспорт. КД2 - это структура сообщений, к транспорту отношения никакого не имеет.

Вы спокойно можете написать правила на КД2, выгрузить из источника сообщение в формате КД2, отправить его в шину, которая доставит сообщение до приемника, а в приемнике загрузить сообщение, опять же, средствами КД2.
2. NikusXXZ 20.06.24 08:15 Сейчас в теме
Пользуем 1С.Шина версия 3 активно. Около 300 ИнфоСистем. 6 приложений. Шина используется только как транспорт доставки сообщений. Сообщения типовых обменов.
Хочу сказать : что есть проблемы. Например: фоновые задания приёма и отправки сообщений платформы 1с просто игнорируют новые сообщения в 1с Шине. Хотя они лежат в таблице полученных или отправленных сообщений. Иногда помогает перезапуск службы агента 1с. ТЖ ни чего не показывает. Как то так.
user1226788; Sergik_D; user2041697; user1481466; ksnik; +5 Ответить
12. pavelmael 10 25.06.24 08:56 Сейчас в теме
(2) Отключите в свойствах кластера перезапуск рабочих процессов. Интервал 0. И убрать галку принудительно завершать проблемные процессы.
А так эта проблема признана самой 1С примерно с 20.04.23
NikusXXZ; +1 Ответить
3. gybson 20.06.24 11:25 Сейчас в теме
Ближе к КД3 получается вроде. Как транспорт шина даже по стоимости не может конкурировать с бесплатными Rabbit и Kafka
4. rambomax 20.06.24 14:39 Сейчас в теме
(3) Есть мнение, что "бесплатность" кроликов нивелируется платностью компонент протокола)))
user1481466; Somebody1; ARMOR; +3 Ответить
9. gybson 21.06.24 12:21 Сейчас в теме
(4) http бесплатно работает
5. BackinSoda 21.06.24 08:33 Сейчас в теме
6. Sapiens_bru 4 21.06.24 08:45 Сейчас в теме
(5) Шина это транспортный слой. Если не настраивать, можно воспринимать просто как почтовый сервер или общую папку.
А если в обмене участвуют менее умные чем 1С системы, то внутри Шины можно написать код, кторый будет преобразовывать сообщения, маршрутизировать итд.
user1481466; +1 Ответить
7. Sergik_D 21 21.06.24 11:00 Сейчас в теме
Сергей, спасибо за труд. Только начал писать тоже самое для Шины, а тут Ваша статья.
serezh1a; +1 Ответить
8. serezh1a 159 21.06.24 11:54 Сейчас в теме
(7) благодарю! Очень рад это слышать
10. ktb 622 21.06.24 12:22 Сейчас в теме
Гляньте, вот такое еще есть: https://github.com/arkuznetsov/SerLib1C может пригодиться.
serezh1a; +1 Ответить
Оставьте свое сообщение