Подсистема обмена данными в рамках РИБ

Публикация № 1118499

Разработка - Обмен данными 1С - Распределенная БД (УРИБ, УРБД)

Обмен web-сервис РИБ

Публикация оформлена после прочтения https://infostart.ru/public/1117071/ (автор https://infostart.ru/profile/586627/) на основе опыта реализации обмена между базами 1С (в том числе с разными конфигурациями) и разработки двухмесячной давности для обмена в рамках РИБ. Платформа начиная с 8.2.19.130

Платформа от 8.2 и выше, используются web-сервисы.

С удовольствием прочитал статью //catalog.mista.ru/public/1117071/. В ней квинэссенция моего многолетнего опыта в реализации обменов. В продолжение привожу пример реализации обмена в рамках РИБ, основанного на идее последовательности Шредингера (не все оттуда, но заинтересовавшиеся связи найдут).

Для обновления с вашей ИС необходимо сделать сравнение по подсистемам файла, она всего одна.

Будут добавлены:

1. План обмена.

2. Общий модуль.

3. Две подписки для регистрации объектов.

4. Регламентное задание.

5. Два справочника.

6. web-сервис и xdto-пакет.

В основе конфигурация для обычного приложения, подсистема "выдрана" из конфигурации и ее необходимо немного доработать:

1. Указать состав плана обмена.

2. Доработать код обработчиков регистрации объектов к обмену (сейчас код не проходит синтаксис-контроль ввиду отсутствия пары функций типа проверки наличия у объекта реквизита).

3. Реализовать заполнение справочников "Правила выгрузки" и "Правила загрузки". Логика такова, что регистрируются к обмену только объекты с именами, которые есть в этих справочниках и с установленным признаком выгрузки (для возможности отключения при необходимости). Справочники иерархические ("Документы" - "АвансовыйОтчет") для улучшения читабельности, подчинены узлам плана обмена.

4. В обработчиках ПередЗаписью, ПриЗаписи и т.п. объектов добавить проверку на режим обмена данными (стандартная рекомендация 1С).

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

Что умеет:

1. Передавать любой справочник/документ, если есть соответствующие записи в правилах.

2. Передавать движения по регистрам накопления и сведений (если последний подчинен регистратору).

3. Минимум кода.

4. Максимум параллельности - при запуске регламентного задания параллельно запускаются в фоне обмены по объектам метаданных (например, у вас 100 документов, 50 есть в правилах выгрузки - получится 50 потоков для передачи данных).

5. Отсутствие блокировок (т.к. нет проведения) - наборы записей пишутся вслед за документом.

6. Передавать данные независимо от того, везде ли изменена конфигурация (если по метаданным объекты различаются, то фоновое будет падать, но отработает после обновления конфигурации).

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

8. Толерантно относиться к невозможности что-то передать (подождет следующего раза) и битым ссылкам.

Чего не умеет:

1. Передавать наборы записей регистра бухгалтерии. Почему - вопрос к фирме 1С - регистры бухгалтерии банально не сериализуются (падает в исключение). Обращение по этой проблеме я отправлял года 3 назад, 2 года назад его даже не зарегистрировали (https://bugboard.v8.1c.ru/error/000021713).

2. Передавать независимые/периодические регистры сведений (хотя это тоже реализовано, но не здесь).

Скачать файлы

Наименование Файл Версия Размер
Подсистема обмена данными в рамках РИБ (по мотивам публикации https://infostart.ru/public/1117071/):

.cf 52,91Kb
05.09.19
30
.cf 52,91Kb 30 Скачать бесплатно

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. igormiro 707 31.03.20 12:43 Сейчас в теме
Подсистема не рабочая. Где НВД_ОбменДанными.ВыполнитьОбменПоWSВФоне"
3. savostin.alex 77 08.04.20 08:50 Сейчас в теме
(1)Посмотрите самую первую процедуру. Я модуль переименовал, а в коде не заметил. Да, есть по коду ошибки об отсутствующих процедурах - но есть и п.2:

"2. Доработать код обработчиков регистрации объектов к обмену (сейчас код не проходит синтаксис-контроль ввиду отсутствия пары функций типа проверки наличия у объекта реквизита)."
Прикрепленные файлы:
Обмен.cf
4. savostin.alex 77 08.04.20 15:14 Сейчас в теме
(3)Теперь cf есть в комментах, даже платить не нужно, коммент №1 исправлен.
2. savostin.alex 77 06.04.20 02:56 Сейчас в теме
Подсистема выложена в качестве образца, как такой обмен можно реализовать.
5. Rustig 1580 15.05.20 16:36 Сейчас в теме
2. Передавать движения по регистрам накопления и сведений (если последний подчинен регистратору).

Зачем передавать движения?! Если в приемнике документы можно перепровести....
А если конфигурации разные?? - Тогда и логика проведения возможно будет разная - и движения по итогу будут разными....
5. Отсутствие блокировок (т.к. нет проведения) - наборы записей пишутся вслед за документом.

Блокировки будут всегда - например для таблиц Документов, когда она перезаписываются пользователем (заблокированы пользователем другим процессом) и при этом по ним идет повторный обмен.
6. savostin.alex 77 16.05.20 05:06 Сейчас в теме
Оставьте свое сообщение

См. также

Обмен данными. Консистентность vs Многопоточность Промо

Интеграция v8 1cv8.cf Бесплатно (free)

Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?

03.09.2019    12389    m-rv    1    

Обработка по сохранению/восстановлению настроек обмена.

Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Россия Бесплатно (free)

Обработка позволяет сохранить в файл или восстановить из файла ранее сохраненные настройки обмена.

18.11.2010    5940    0    IgorMgn    2    

Групповая обработка документов и справочников с возможностью регистрации объектов для обмена

Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Россия Бесплатно (free)

Работая над одним из проектов я часто встречался с необходимостью регистрация объектов для выгрузки. Для решения этой задачи доработал типовую обработку документов и справочников.

29.07.2009    12080    0    Pim    5    

Просмотр объектов, зарегистрированных для узла РИБ

Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Бесплатно (free)

Просмотр объектов, зарегистрированных для узла РИБ

06.03.2009    6403    0    aidos    8    

УРИБ автообмен данными/конфигурацией

Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Россия Бесплатно (free)

Программа написана на VC6.0 автоматизирует автообмен конфигурацией и данными. Привожу исходные тексты модулей.

07.10.2008    12197    0    kick    8    

Пример работы УРИБД для УТ 8.0

Распределенная БД (УРИБ, УРБД) WEB Перенос данных из 1C8 в 1C8 v8 УТ10 Россия Бесплатно (free)

Пример работы УРИБД для 1С Управление торговлей 8.0 (тестировалась - УТ 10.2.12.1). Обмен файлами производится через встроенного в конфигурацию почтового клиента.

30.10.2006    7886    0    researcher01    1