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

10.10.24

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

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

Скачать файл

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

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

 

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

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

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

 

 

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

 

 

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

 

 

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

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

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

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

 

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

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

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

 

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

 

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

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

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

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

 

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

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

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

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

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

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

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

См. также

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    141463    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    166425    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    51179    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    171154    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    186854    589    509    

526

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

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

12000 руб.

25.09.2016    80631    312    250    

264
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Pavel_Vladivostok 58 20.06.24 03:45 Сейчас в теме
Мне кажется что для обмена между базами 1с удобнее использовать КД2, шина больше подходит для сценарием обмена со сторонними приложениями.
Ни один современный обмен 1с-1с не обходится без переноса контактной информации, свойств, разных регистров сведений с данными фио документов и прочей нси. Если рассматривать простые сценарии с переносом справочников, документов между двумя 1cv8, без выгрузки сопутствующих рсв то здесь по скорости разработки КД2 вообще вне конкуренции.
11. laperuz 47 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 23 21.06.24 11:00 Сейчас в теме
Сергей, спасибо за труд. Только начал писать тоже самое для Шины, а тут Ваша статья.
METAL; serezh1a; +2 Ответить
8. serezh1a 177 21.06.24 11:54 Сейчас в теме
(7) благодарю! Очень рад это слышать
10. ktb 629 21.06.24 12:22 Сейчас в теме
Гляньте, вот такое еще есть: https://github.com/arkuznetsov/SerLib1C может пригодиться.
METAL; serezh1a; +2 Ответить
Оставьте свое сообщение