1С + SQL Server Service Broker (презентация)

16.03.2020 16:27:57   Дмитрий Жичкин (zhichkin)    9891

В этом видео я рассказываю о том, каким образом можно использовать SQL Server Service Broker для организации асинхронной обработки и обменов данными в контексте 1С:Предприятие 8.x. Освещаются основные понятия Service Broker, а также рассказывается о реальном проекте, где была применена эта технология.

Категории:
 Обмен данными

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gmkushkunov 26.03.20 16:35 Сейчас в теме
Здравствуйте.
Спасибо за видео. Возник вопрос исходя из примера в видео, где отправлялось сообщения получателю с изменением даты документа. Дата у получателя меняется средствами T-SQL и соответственно 1С Предприятие не догадывается об этом. Но изменения в документе требуют обязательного его перепроведения. Как этот момент решался если сообщение не обрабатывалось на стороне 1С Предприятия
2. zhichkin 1438 26.03.20 17:19 Сейчас в теме
(1) Добрый день!

Если сообщение отправлялось в базу данных не 1С, то движения документа туда не отправлялись - там они были не нужны.

Если сообщение отправлялось в базу 1С, то движения документа отправлялись в одном сообщении вместе с документом между одними и теми же тэгами <Transaction>. В базе приёмнике итоги пересчитывались средствами 1С. Нас это устраивало.

Если это не устраивает, то на одном из своих проектов я делал так:
передавал документы в базу приёмник без движений и одновременно с этим регистрировал ссылки на эти документы в регистре сведений для отложенного проведения. Затем в базе приёмнике выполнялось проведение этих документов средствами 1С.
3. gmkushkunov 26.03.20 17:41 Сейчас в теме
Если это не устраивает, то на одном из своих проектов я делал так:
передавал документы в базу приёмник без движений и одновременно с этим регистрировал ссылки на эти документы в регистре сведений для отложенного проведения. Затем в базе приёмнике выполнялось проведение этих документов средствами 1С.

Этот вариант наверное более интересен хотя бы в плане уменьшения размера сообщения. А то получается так, что с одной стороны мы отправляем только то, что было изменено в документе для уменьшения сообщения, а с другой отправляем кучу регистров движения документа и этим самым гораздо увеличиваем исходное сообщение.
Спасибо.
4. zhichkin 1438 04.06.20 18:16 Сейчас в теме
Выложил на GitHub примеры практического использования в 1С:
https://github.com/zhichkin/one-c-sharp-sql/tree/master/messaging/service-broker
Фактически готовая подсистема обмена данными на базе очередей SQL Server.
5. legrey 67 11.06.20 16:21 Сейчас в теме
(4) Добрый день. Ссылка не доступна. Передумали ?
6. zhichkin 1438 11.06.20 17:05 Сейчас в теме
(5) Нет, не передумал. Готовлю отдельную публикацию на Инфорстарт. Как будет готова - обновлю ссылку. Думаю, что это будет на этой неделе, край - на следующей.
7. zhichkin 1438 16.06.20 11:39 Сейчас в теме
(5) Обещанная публикация: DaJet MQ 1.0
Оставьте свое сообщение
Андрей Путин. Как делать интеграции правильно и быстро
Михаил Харитонов. Лайфхаки: Ускоряем и «расшиваем» сложные обмены
DaJet Stream (demo)
Павел Ванин. Нестандартное использование Системы взаимодействия
DaJet Flow: проектирование конвейеров потоковой обработки данных, обменов данными и интеграции
DaJet Flow: многопоточный контекст выполнения плагинов и внедрение зависимостей
DaJet Flow: подсистема настроек
DaJet Flow: разработка плагинов
Платформа DaJet: сборка из исходников
DaJet Exchange - потоковый обмен данными в режиме реального времени при помощи сообщений