Гарантированный обмен 1С с внешними системами через сервер очередей Microsoft MSMQ

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

Разработка - Системная интеграция - Внешние источники данных

планобмена msmq обмен гарантированная доставка

Описание решения задачи организации обмена 1С с внешними системами с условием гарантированной доставки сообщений и независимой поддержкой архивов сообщений. Быстрый ответ: сервер очередей Microsoft MSMQ.

Вводная:

Организовать обмен 1С с внешней системой со следующими условиями и ограничениями:

  • Гарантированная доставка сообщений, когда сообщение не может считаться принятым пока не придет ответ от второй системы
  • Сервис обмена должен поддерживать архивы сообщений и быть независим как от 1С, так и от внешней системы
  • Внешняя система не умеет работать с HTTP сервисами 1С (да бывает и такое)
  • 1 сообщение из 1С может быть предназначено сразу нескольким разным внешним системам

В процессе поиска подходящего решения наткнулся на интересные примеры в демо конфигураций 1С «Обмен данными», где приложены примеры работы с сервером очередей сообщений Microsoft MSMQ.

MSMQ – компонент любой современной ОС от Microsoft даже не серверной. Из преимуществ MSMQ: бесплатный, поддерживает транзакции, имеется архив принятых/переданных сообщений, параллельные очереди для разных систем и случаев, тригеры сообщений, возможность авторизации отправителей и получателей сообщений, включая доменную аутентификацию.

Описание решения

В первую очередь нужно инсталировать компонент MSMQ на том компьютере, где будет висеть служба сервера очередей, это может быть, как локальный компьютер, так и любой в сети.

После добавления компонента он будет доступен в разделе Управление компьютером – Службы и приложения – Очередь сообщений.

Создаем частную очередь – имя очереди на английском, без пробелов и спец символов. Как настроить сервер MSMQ: права доступа, место хранения, транзакции, триггеры, размер сообщений, размер хранилища – см. разделы помощи на сайте Microsoft и внимательно читайте в отладке какие ответы будете получать от сервера MSMQ в 1С. Так выглядит очередь сервера MSMQ в который мы из 1с отправили сообщение.

Как реализовано в 1С:

Регистрацию изменений я сделал на своем Плане обмена 1С с ручной регистрацией изменений. Далее примеры кода в модуле объекта Плана Обмена, когда произошло событие регистрации или по расписанию нужно прочитать изменения с сервера сообщений.

Формируем строку XML и передаем серверу MSMQ.

 
 Поместить Данные Обмена В Очередь MSMQ

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

 
 Получить Прочитать Сообщение Из Очереди MSMQ

В заключение:

Разработка велась на версиях Платформы 8.3.14.ххх. Приведенные примеры должны работать на любой конфигурации, желательно с БСП 2.4.4.166

Другие мои публикации на Инфостарте:

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Mkonst 54 10.02.20 04:57 Сейчас в теме
Надо было написать про ограничение на объем отправляемых данных через MSMQ....
2. da_1c 136 10.02.20 09:01 Сейчас в теме
(1) с каким Вы столкнулись ограничением?
6. =Kollega= 1 11.02.20 13:36 Сейчас в теме
(2) в документации написано, максимальный размер сообщения 4Мб. Можно ужать текст во временный файл zip, который потом уже преобразовать в текст.
PS. Месье знает толк в извращениях ©
9. da_1c 136 11.02.20 21:42 Сейчас в теме
(6) Проверил, да действительно до 4Мб пролазит, а если выше пишет "Недостаточно ресурсов для выполнения операции". Спасибо за информацию.
3. awk 714 10.02.20 09:24 Сейчас в теме
qinfo.FormatName = "DIRECT=OS:"+ОчередьОбменаMSMQ;


Это плохая идея. Т.к. вместо OS может стоять TCP, UDP, HTTP, HTTPS, плюс отправлять можно сразу в N очередей (если адреса перечислить через запятую).
4. kirill_sh 10.02.20 09:46 Сейчас в теме
лучше кролик использовать, с другой стороны это уже есть в системе.
5. kiruha 384 11.02.20 11:31 Сейчас в теме
Да, вопрос - почему не RabbitMQ?
Есть какие то причины ?
7. =Kollega= 1 11.02.20 13:39 Сейчас в теме
(5) MSMQ уже есть в системе - стандартная штука. А RabbitMQ еще поставить надо.
8. =Kollega= 1 11.02.20 13:46 Сейчас в теме
Чтение сообщений для 1С с сервера MSMQ


Если обмен нечастый, то ИМХО лучше использовать триггеры, чем регламентное задание. Чтобы при появлении нового сообщения в очереди, происходил запуск 1с и его разбор. А не постоянно на сервере 1с болталось бы задание регулярно проверяя, а не пришло ли нам что-нибудь....
10. Cyberhawk 118 14.02.20 18:40 Сейчас в теме
Зачем у метода "ПоместитьДанныеОбменаВОчередьMSMQ" второй параметр?
11. da_1c 136 14.02.20 20:32 Сейчас в теме
(10) Спасибо, что заметил. ))) Примеры резал из реального проекта и не все "почикал". Используется так: из номера сообщения получаю представление, которое мне нужно для удобного разбора потом при поддержке и присваиваю это представление сообщению

т.е. код в примере статьи Сообщение.Label = "Message" + СокрЛП(УзелИсточник.Код) + "_" + СокрЛП(УзелПриемник.Код) + СокрЛП(Постфикс) + ".xml";

можно дополнять номером сообщения.
Оставьте свое сообщение

См. также

"Конвертер деклараций (XLS) от поставщиков для загрузки в Декларант Алко (XML), 11/12 форма" для 7.7 Промо

Обмен через XML Внешние источники данных v7.7 1cv7.md Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Акцизы Бесплатно (free)

"Конвертер деклараций (XLS) для загрузки в Декларант Алко (XML)" Конвертирует 11/12 форму декларации полученную от поставщиков (в экселе) в файлы импорта (xml) для загрузки в Декларант Алко.

07.10.2013    42020    1    Ёпрст    4    

Интеграции с сервером SQL. Быстро и просто

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Решаем вопросы экспорта/импорта данных в базы отличного от 1С происхождения.

06.07.2020    685    0    Infector    4    

Программное открытие отчета

Практика программирования v8 Бесплатно (free)

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

28.06.2020    1579    0    da_1c    2    

Структура обработки загрузки цен и остатков поставщика с примерами и комментариями

Внешние источники данных WEB v8 1cv8.cf Россия Бесплатно (free)

В статье опишу структуру обработки по загрузке цен и остатков от поставщика с примерами.

27.06.2020    1026    0    malikov_pro    0    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    40473    0    YPermitin    34    

Диадок. Подключаемый модуль. Отладка

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Небольшой пример, как работать с подключаемым модулем Диадок (для изменения УПД перед выгрузкой на сайт Диадок.). Отладка подключаемого модуля, если не смогли подключить стандартную отладку.

17.06.2020    2200    0    John_d    1    

Как мы загружаем данные в "Центр управления кассами Магнита"

Внешние источники данных Интеграция v8 1cv8.cf Бесплатно (free)

Статья о том, как мы делали механизм загрузки больших объемов данных в "Центр управления кассами Магнита"

08.05.2020    4267    0    chernenko_vv    25    

Интеграция СуперОкна7 и УНФ

Интеграция Внешние источники данных v8 УНФ Россия Бесплатно (free)

Изучаем базу данных СуперОкна7, смотрим возможности передачи и получения информации.

08.05.2020    1661    0    vostok1.dz    2    

Перенос данных из учетных программ Парус в конфигурации 1С Промо

Внешние источники данных v7.7 v8 БП2.0 ЗУП2.5 ЗКБУ БГУ 1С7:Бух 1С7:ЗиК 1С7:ББУ Россия БУ Госбюджет Бесплатно (free)

Статья посвящена анализу процессов переноса данных из учетных программ Парус в конфигурации 1С.

05.11.2012    50786    0    sklowsky    16    

Синхронизация БИТ:СКУД 8 с Parsec.Net 2.5

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Настройка синхронизации БИТ:СКУД 8 с Parsec.Net.2.5, выгрузка данных из внешней системы контроля доступа.

04.05.2020    3384    0    RPGrigorev    0    

Фоновые задания: быстро получить большие данные в 1С

Практика программирования v8 Абонемент ($m)

На практическом примере показан один из вариантов применения фоновых заданий в 1С, когда требуется ускорить получение результата. Памятка по алгоритму использования фоновых заданий 1С.

1 стартмани

16.02.2020    3805    0    da_1c    0    

Получение данных из Сигур

Внешние источники данных v8 1cv8.cf Бесплатно (free)

Получение данных из СКУД Сигур (без танцов с бубном)

25.12.2019    3386    0    skaoxy    5    

Организация удаленного доступа к корпоративной информационной системе — это просто ! Промо

Внешние источники данных Монитор заказов WEB Монитор заказов Бесплатно (free)

Хочу поделиться своим опытом создания web морды к корпоративной информационной системе на базе 1С. Необходимо организовать сбор заказов от удаленных пользователей. - Каждый пользователь видит свой набор данных, и работает со своими документами. - Доступ по логину/паролю, работа в основном с планшетов (iPad) или с десктопа. - Сервер должен находиться за пределами организации. - Себестоимость 1 пользователя не более 10$ за месяц. - Использование в основном мобильного канала связи GPRS (~100 КБ/с).

31.08.2012    28554    0    avhrst    13    

Интеграция решений на 1С и сервиса обмена данными RabbitMQ через Web REST API

Внешние источники данных v8 1cv8.cf Бесплатно (free)

Отправка "Hello world" из 1С на сервер RabbitMQ и обратно при помощи web REST API. Проще уже некуда! Совместимо с Linux и Windows! Реализация протестирована на 1С 8.3.14.1854 (x64).

21.10.2019    12357    0    Eret1k    24    

Чтение файлов PDF из 1С

Внешние источники данных Универсальные обработки v8 1cv8.cf Абонемент ($m)

Насколько мне известно, у платформы 1С нет встроенных средств чтения на лету файлов PDF для их последующего анализа, и приходится использовать внешние инструменты. Об одном из таких вариантов и пойдет речь.

1 стартмани

09.09.2019    6516    6    da_1c    4    

Работа из 1С с API PayPal

WEB v8::УФ 1cv8.cf Бесплатно (free)

PayPal - международная платежная система является очень популярной за пределами СНГ для онлайн торговли и не только. API PayPal достаточно хорошо документирован. При попытке связать 1C с PayPal пришлось столкнуться с несколькими нюансами, которыми и хотелось бы поделиться в этой статье с примерами программного кода.

08.09.2019    5042    0    da_1c    1    

Сканируем без сканера или MXL to JPG Промо

Внешние источники данных Универсальные функции Печатные формы документов v8 1cv8.cf Бесплатно (free)

Хотите конвертировать документы в формат изображения менее чем за минуту, не имея сканера? Тогда эта статья для вас.

24.05.2012    33519    0    shakmaev    47    

Выгрузка из 1С номенклатуры со штрихкодами без программирования

Загрузка и выгрузка в Excel Внешние источники данных v8 УТ11 Россия Бесплатно (free)

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С: Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию.

28.08.2019    9515    0    user1114182    4    

Вставка BLOB в таблицы ORACLE средствами 1С 8.х с использованием Microsoft OLEDB Provider

Внешние источники данных v8 1cv8.cf Россия Бесплатно (free)

Столкнулся с необходимостью выгружать картинки из 1С 8 в ORACLE-таблицу.

08.08.2019    4414    0    nomad_irk    0    

Выгрузка данных в таблицу MS SQL SERVER

Внешние источники данных v8 Бесплатно (free)

Процедура по выгрузке данных из 1C (таблица значений) в таблицу MS SQL SERVER через COM.

02.07.2019    7131    0    EvgenSav    18    

1sqlite Промо

Внешние источники данных Разработка внешних компонент Файловые протоколы обмена, FTP v77::ОУ v77::БУ v77::Расчет 1cv7.md Бесплатно (free)

Внешняя компонента для работы с базами данных SQLite, плюс прямые запросы в ДБФ-базах 1С.

23.06.2008    55583    0    orefkov    290    

1С и компьютерное зрение: новый подход к контролю за ассортиментом магазина

Розничная торговля Внешние источники данных Розничная торговля v8 1С:Франчайзи, автоматизация бизнеса УУ Бесплатно (free)

Машинное зрение в магазинах и 1С. Как поднять эффективность торгового предприятия (магазин. кафе, шоурум и т.д.) с совершенно неожиданной стороны? Как получить реальные демографические данные покупателей и, самое главное, как это использовать в повседневной работе магазина? Как можно расширить привычные ABC и XYZ анализ, добавив в них пласт данных о трафике и демографии покупателей? Что необходимо для 1С, чтобы использовать данные видеоанализа людского трафика?

20.06.2019    8491    0    osipov_cvizi    16    

Интеграция решений на 1С и сервиса обмена данными RabbitMQ

Внешние источники данных v8 1cv8.cf Бесплатно (free)

"Hello world" из 1С на сервер RabbitMQ и обратно. Полностью открытый код 1С! Реализация протестирована на 1С 8.3.12.1714 (x64).

24.04.2019    17199    0    Eret1k    52    

Обновляем картинки товаров по штрихкоду с помощью мобильного приложения "Штрихконь" (Пошаговое руководство)

Внешние источники данных WEB Бесплатно (free)

Владельцы интернет магазинов знают, что привлекательные картинки – главный способ привлечения покупателей, но найти в интернете красивую картинку, которая полностью соответствовала бы реальному товару очень сложно. Проще сделать фотографию на мобильный телефон и сразу загрузить её в базу 1С, а с помощью автоматического обмена обновить картинки на сайте.

10.04.2019    5785    0    inord777    2    

MS Access и 1С. Что, когда и зачем?

Практика программирования Внешние источники данных Разработка v8 Бесплатно (free)

Об использовании MS Access в связке с 1С. Можно ли использовать продукты Office на сервере. Когда Access может быть полезен. Примеры работы и другое.

09.04.2019    26655    0    YPermitin    36    

RabbitMQ + Конвертация Данных 3.0

Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

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

21.03.2019    24429    0    barelpro    82    

Быстрее чем INSERT! BULK-операции и примеры использования

Производительность и оптимизация (HighLoad) Практика программирования Внешние источники данных Перенос данных из 1C8 в 1C8 Разработка Бесплатно (free)

Microsoft SQL Server поддерживает так называемые BULK-операции, используемые для быстрого изменения больших объемов данных в базе. В статье пойдет речь о практических примерах их использования. Все примеры сделаны в контексте платформы 1С (а как иначе).

09.03.2019    21702    0    YPermitin    40    

Загрузка ЭЛН (электронных листов нетрудоспособности) из файлов

Внешние источники данных Зарплата Зарплата v8 УПП1 Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Что делать, если по каким-то причинам нет возможности разместить 1С и Крипто-Про на одном рабочем месте? Правильно - открывать конфигуратор и пилить. Благо, там не сложно. Непосредственно решение для УПП 1.3. Для ЗиК 2.5 и Комплексной автоматизации должно быть аналогично.

07.02.2019    6334    0    SatanClaws    4    

История реквизитов организаций (печати, факсимиле, КПП, телефон)

Практика программирования v8::ОУ v8::УФ УТ11 Абонемент ($m)

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

1 стартмани

11.01.2019    3861    3    da_1c    0    

Работа с кассой Atol через веб-сервер ДТО-10

Внешние источники данных ККМ Фискальный регистратор Кассовые операции Кассовые операции v8 Россия НДС Бесплатно (free)

Поддержка многопользовательской печати на одном устройстве ККТ. Поддержка изменений в законодательстве (Переход на ФФД 1.05 и НДС 20%).

31.12.2018    31863    0    medangel    43    

RabbitMQ, Python и Windows. Step By Step

Внешние источники данных v8 Бесплатно (free)

Работа с шиной RabbitMQ, используя Python на Windows. Пошаговый быстрый старт.

13.12.2018    8574    0    w.r.    8    

Создание пользователей системы взаимодействия

Обработка справочников Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Простенькая команда по созданию пользователей в системе взаимодействия на базе всех пользователей информационной базы 1С.

1 стартмани

12.12.2018    3338    8    da_1c    0    

Из 1С в IIKO: Передаем перемещения УТ в приходные накладные

Внешние источники данных Оптовая торговля Оптовая торговля v8 УТ11 Рестораны, кафе и фаст-фуд УУ Бесплатно (free)

Рассмотрение вариантов передачи документа "Перемещение товаров" из Управление торговлей 11 в документ "Приходная накладная" IIKO.

12.09.2018    8158    0    oyti    7    

IIKO (Айко). Обмениваемся накладными с 1С

Внешние источники данных v8 БП3.0 Рестораны, кафе и фаст-фуд БУ УУ Бесплатно (free)

Типовое решение от компании Айко по передаче данных в 1С Бухгалтерию не всегда удовлетворяет реалиям бизнес-процессов организации. Попробуем поразмышлять о том, как реализовать двунаправленный обмен с Айко в фоне.

01.06.2018    14634    0    oyti    19    

Юридически значимый электронный документооборот с Контур.Диадок

Внешние источники данных v8 НУ НДС Бесплатно (free)

Пример использования компоненты DiadocComApi http://diadocsdk-1c.readthedocs.io/ru/latest/

31.05.2018    11746    0    savostin.alex    8    

Интеграция Zimbra и 1С

Внешние источники данных Управление взаимоотношениями с клиентами (СRM) Управление взаимоотношениями с клиентами (СRM) v8 Россия УУ Бесплатно (free)

В публикации описывается способ интеграции 1С с почтовым сервером Zimbra, используя SOAP сервис. Рассматривать вопрос интеграции будем на примере бизнес задачи, из блока CRM. Реализации общей адресной книги(GAL-Global Address List) между сотрудниками. Сотрудники(компания) ведет весь учет в 1С, в том числе и элементы CRM, а Zimbra выступает лишь в роли почтового сервиса. Сделать данную публикация побудило отсутствие в интернете готовых примеров совместной работы 1С и Zimbra. Надеюсь, она поможет кому-либо сократить время на реализацию похожей задачи.

16.04.2018    11614    0    Гексагон    17    

Обмен сведениями о пособиях с ФСС для Зарплата и Управление персоналом 2.5.129.3

Внешние источники данных Зарплата Зарплата v8 v8::СПР ЗУП2.5 Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Ошибка отправки файла при обмене сведениями о пособиях с ФСС. Зарплата и Управление Персоналом, редакция 2.5 (2.5.129.3).

06.03.2018    18278    0    Igorexa    30    

Загрузка данных из DocsVision

Внешние источники данных v8 Бесплатно (free)

Необходимо было реализовать загрузку данных из программы документооборота "DocsVision 5" в "1С:Документооборот 8". Данное описание оставляю больше для себя, чтобы не забыть, ну и, может, еще кому поможет, т.к. не нашел нигде нормального описания.

17.01.2018    9083    0    apxi    4    

Создание мобильного клиента 1С на Android с использованием HTTP-сервисов

Внешние источники данных Мобильная разработка v8 v8::Mobile Бесплатно (free)

Краткий курс по созданию мобильного приложения на Android, который связывается с сервером 1С через HTTP-сервис. Публикация рассчитана на тех, кто хорошо знаком с программированием на платформе 1С и владеет основами программирования на платформе Android (умеет создавать Activity и знает, как устроена структура проекта).

03.11.2017    32899    0    cdiamond    15    

Как сделать конфигурацию «1С:Предприятие 8» приложением QuickBooks. Проходим авторизацию OAuth 1.0a+OpenID 2.0

Внешние источники данных Практика программирования v8 Бесплатно (free)

Пришло время, когда интеграция со сторонними организациями и их приложениями стала необходимостью для успешного ведения бизнеса. В этой статье будет рассмотрено прохождение авторизации OAuth 1.0a+OpenID 2.0 и превращение конфигурации «1С:Предприятие 8» в приложение QuickBooks.

10.09.2017    20549    0    pbazeliuk    28    

ЕГАИС! УТМ обновился до версии 2.0.4 / 2.0.5 ! Будь готов, обнови до 2.0.5 сам !

Внешние источники данных Розничная торговля Розничная торговля Россия Бесплатно (free)

В ночь с 20 февраля на 21 февраля в автоматическом режиме установлена версия УТМ 2.0.4

17.02.2017    20740    0    user635667    3    

Редактирование пользовательских полей в Битрикс24 через REST API

Внешние источники данных v8 1cv8.cf Россия Бесплатно (free)

Меняем значения пользовательских полей в Битрикс24 через REST API на примере редактирования контактов

06.02.2017    15165    0    user662672_explorer2000    2    

Нагрузочное тестирование сервера 1С при использовании WEB сервисов

Производительность и оптимизация (HighLoad) Внешние источники данных WEB v8 ИТ-компания Бесплатно (free)

Проведение нагрузочного тестирования WEB-сервисов, развернутых на платформе 1С. Целью тестирования является ознакомление с возможностями платформы 1С при работе с большим количеством запросов через опубликованные WEB сервисы на IIS 7.5

01.02.2017    27270    0    BraunAlex    34    

Передаем контакты из 1С в Битрикс24 через REST API

Внешние источники данных v8 УТ11 Россия Бесплатно (free)

Хочу поделиться опытом использования Битрикс24 REST API для экспорта контактов из 1С УТ 11

09.01.2017    53830    0    user662672_explorer2000    111