RabbitMQ + 1С. Быстрый старт

Публикация № 845345 10.06.18

Интеграция - Внешние источники данных

RabbitMQ dll service

Внешняя компонента для отправки сообщения из 1С в кролика. Сервис прослушивания и перенаправления сообщений из кролика в http или web-сервис.

Здравствуйте.

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

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

Основной обмен происходил файлами через файлопомойку без какого-либо оповещения об обработке входящих данных и т.п. Зачастую получалась ситуация, что данные отправлены, что-то пошло не так, данные не получены системой получателем, но система отправитель об этом ни сном ни духом. В результате получаем бесконечный поток писем в поддержку "Где наши платежи/заказы/etc?! В рознице деньги оприходовали/заказ провели,, а на сайт они не попали" и т.п. На диагностику проблемы уходило безумное количество времени, потому что, чтобы понять причину сотрудник поддержки:

  1. Смотрел лог отправки в системе отправителе.
  2. Проверял, что файла нет в папке получателе. (данные не стоят в очереди)
  3. Проверял, что файл есть в архивной папке системы получателя (данные получены и обработаны)
  4. Проверял данные самого файла.
  5. Проверял логику формирования данных.

И это на каждое письмо. Теперь:

  1. Открывает лог отправки данных в системе отправителе и смотрит в нем все статусы пакета данных (дата отправки, дата получения, ссылка на текст отправленных данных).
  2. Проверяет логику формирования данных.

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

Итак, выбор пал на RabbitMQ (далее, Кролик). К сожалению, я не обнаружил сразу описания HTTP интерфейса Кролика, а на глаза попала библиотека для C# на самом сайте Кролика. Было решено в исследовательских целях написать COM-компоненту на коленке и небольшой сервис (службу) для обслуживания входящих сообщений и направлений их к адресату.

Компоненту можно регистрировать, как 32, так и 64 битную, зависит от того, какой версией регасма будете регистрировать. В итоге для работы сервера с ней нет необходимости оборачивать ее в COM+. Регистрация компоненты проходит regasm'ом, а не regsvr32:

64 бита:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm /codebase <Путь к файлу компоненты>

32 бита:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm /codebase <Путь к файлу компоненты>

Не знаю, обязателен ли ключ /codebase, но я регистрировал с ним. Версию .NET фреймворка используйте последнюю свою.

Использование компоненты отправки сообщений в 1С:

Объект = НОВЫЙ COMОбъект("AMQPSend.COM"); //Создаем COM  объект
Объект.Connect(ИмяСервераКролика, Логин, Пароль);// Подключаемся к серверу Кролика
Результат = Объект.Send(ИмяУзла, КлючМаршрутизации, СтрокаДанных); //Отправляем данные
Объект.Close();//Закрываем соединение к серверу Кролика

У объекта только одна функция Send. Имя узла - Exchange Кролика, КлючМаршрутизации - routingKey, СтрокаДанных - строковое представление передаваемых данных.

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

Таким образом, отправлять 1С данные в Кролика указанному получателю мы научились. Далее пришло время получать это все оттуда. Так же на C# была написана простенькая служба, которая создает подписчиков на определенные ключи маршрутизации в определенных узлах и переправляет эти данные получателям.

Установка службы:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil <Путь к exe файлу службы>

Удаление

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil /u <Путь к exe файлу службы>

Получателям 1С служба умеет отправлять данные двумя способами - в HTTP-сервис или в Web-сервис. Служба может поднимать множественное количество подписчиков на разные ключи маршрутизации и узлы, переправляя данные в http и/или web-сервис.

Пример конфигурационного файла (находится в папке с экзешником)

<consumers>
  <consumer>
    <host>[Имя сервера Кролика]</host>
    <routingKey>[Ключ маршрутизации]</routingKey>
    <exchange>[Узел Кролика]</exchange>
    <httpUrl>[URL для переправки данных]</httpUrl>
    <soapUrl>[URL для POST запроса в WEB-сервис]</soapUrl>
    <soapAction>[Функция, вызываемая в WEB-сервисе]</soapAction>
    <user>[Пользователь Кролика]</user>
    <password>[Пароль пользователя Кролика]</password>
    <prefetchCount>[Число сообщений, считываемых службой из очереди Кролика]</prefetchCount>
    <soapUrlExample>http://domain.com/base/ws/ESBExchange</soapUrlExample>
    <soapActionExample>http://domain.com/base/ws/ESBExchange/UploadData</soapActionExample>
  </consumer>
</consumers>

 

Credentials для запросов в 1С не ставил, т.к. у меня предполагается отправка все внутри сети. prefetchCount - это уже начались игры разума по вопросам распараллеливания переправки сообщений в 1С. Поднимать несколько подписчиковна одну очередь или забирать в экземпляр слушателя несколько сообщений и распараллеливать в нем - дальше бесконечное поле для ускорения и т.п. prefetchCount определяет сколько сообщений забирает на обработку подписчик себе из очереди Кролика.

В моем случае в одну очередь в день попадет до 30к сообщений - последовательно они все успешно отрабатывают, потому я оставляю этот параметр равный 1. Без создания тасков внутри подписчика увеличение данного числа ничего не даст.

Дополнительно настраивается еще один файл SOAPquery.txt:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ns="ns">
   <soap:Header/>
   <soap:Body>
      <ns:UploadData>
         <ns:Data>%data%</ns:Data>
      </ns:UploadData>
   </soap:Body>
</soap:Envelope>

В этот файл я добавил шаблон запроса в Web-сервис. Некрасиво, но удобно. Находить удобные библиотеки для работы с SOAP мне было лень. Текст %data% в шаблоне заменяется на передаваемые текстовые данные, потому лучше заворачивайте их в строку Base64, чтобы не заниматься экранированием и прочими радостями. Формат файла удобно получить из SoapUI, скормив ему WSDL вашего сервиса.

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

Теперь прием сообщения в 1С:

[Блок получения данных в HTTP/WEB сервисе]
[Парсинг данных и необходимые действия]

Объект = НОВЫЙ COMОбъект("AMQPSend.COM");
Объект.Connect(ИмяСервераКроликаДляОтвета, Логин, Пароль);
Результат = Объект.Send(ИмяУзлаДляОтвета, КлючМаршрутизацииДляОтвета, ДанныеСОтветом); 
Объект.Close();

В начале производим все необходимые данные в соответствии с логикой загрузки. Далее из входящих данных получаем идентификатор, данные Кролика этого пакета данных (мы ведь их передаем вместе с данными, верно?) и передаем точно так же обратно в Кролик. Теперь наша передача сообщения в другую систему выглядит как:

  1. Система 1 формирует передаваемый пакет, дополняя его данными для отправки уведомления о доставке.
  2. Система 1 отправляет его в очередь Системы 2.
  3. Система 2 принимает пакет из очереди и обрабатывает его.
  4. Система 2 отправляет подтверждение в очередь, настройки которой пришли во входящем пакете.

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

Так что пробуйте, видоизменяйте, унифицируйте.

К публикации приложены как есть:

  • COM компонента для отправки сообщения из 1С
  • Служба подписчиков
  • Исходники и того, и другого.

Экономика:

Потрачено - 5 вечеров свободного времени.

Получено - высвобождение 3-4 человеко часа в день, что в условиях кадрового дефицита - бесценно :)

 

PS Заранее предупрежу - я не .NET разработчик. Писал все на знаниях, оставшихся после института, и туториалах из интернета. Достигать максимального уровня абстракции не собирался. Все выложено исключительно для пробных шагов в этом направлении остальных участников сообщества. Код открыт - можно и нужно модифицировать, как угодно.

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

Наименование Файл Версия Размер
MQ Rabbit + 1С. Быстрый старт.:

.zip 2,44Mb
158
.zip 2,44Mb 158 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kraynev-navi 625 10.06.18 07:45 Сейчас в теме
Я бы все-таки обратил внимание на разграничение доступа. Нужна хотя бы минимальная защита. Любая копия базы, снятая с рабочей, начнет слать в рэббит "левые" сообщения. Сэкономленные человеко-часы будут перечеркнуты "случайными" отправками платежных документов из баз разработчиков.
werder_ua@i.ua; Alex_Iz; +2 Ответить
2. Goleff74 208 10.06.18 10:28 Сейчас в теме
(1)
Ну, это уже на уровне кода конфигураций контролировать. Либо ключи маршрутизации создавать вида <Строка базы 1><Строка базы 2>, или наплодить несколько узлов с именами Система отправителя в виде строк этих баз, и оттуда уже ключами маршрутизации перенаправлять в узел получателя. Простор для творчества.
А еще лучше не регистрировать компоненту на сервере разработчиков :)
3. Steelvan 281 10.06.18 11:53 Сейчас в теме
туториал = руководство, неуч
Kaval88; soci0pat; ghostaz; Yakud3a; Gureev; +5 28 Ответить
6. nixel 1321 10.06.18 23:44 Сейчас в теме
(3) граммар наци живёт в ЖЖ. проследуйте туда.
Itilive.ru; RFP; ZhdanovR; ktb; amon_ra; pbazeliuk; webester; UniversaLL; +8 Ответить
12. Evil Beaver 7874 13.06.18 18:47 Сейчас в теме
4. s-coder 10.06.18 20:44 Сейчас в теме
Почему я должен скачивать за мани этих стар, чтобы попробовать?
Donat; 1cProfit; +2 17 Ответить
5. Goleff74 208 10.06.18 23:01 Сейчас в теме
(4)
Вы не должны
AlisultanovZakir; rabid_otter; mityushov.vv; michmich; Bassgood; Flashill; LeXXeR; Lion_LexXx; temdj; bzaugolnov; Drivingblind; SkyHunter; curdate; EvgeniusRusius; Alien_job; o.nikolaev; kote; Berckk; ABudnikov; igormiro; dnikolaev; dmpas; Evil Beaver; JohnyDeath; WizaXxX; ArchLord42; madonov; karpik666; ktb; pbazeliuk; jaroslav.h; evgefremov; 9-pm; gzharkoj; t.v.s.; UniversaLL; +36 Ответить
7. Новиков 292 13.06.18 11:56 Сейчас в теме
Приветствую!

К Вашей цитате:
я не обнаружил сразу описания HTTP интерфейса Кролика


Не могли бы пруфом поделиться? Спасибо!
8. Goleff74 208 13.06.18 12:23 Сейчас в теме
10. Evil Beaver 7874 13.06.18 18:37 Сейчас в теме
(8) ой не, HTTP-API это прям совсем медленно, тем более, что по ссылке - администраторский API. Да, он позволяет отправлять, но это костылище. Используйте родных клиентов, работающих по протоколу AMQP. Например, наш <скрытая реклама детектед> :)
32. barelpro 1273 01.12.18 11:11 Сейчас в теме
(10) Коллега, можно подробней плз, за счет чего прямые HTTP-запросы из 1С к RMQ медленнее вашей ВК? Сравнительные замеры проводили?
9. user634257_mryzhov 13.06.18 16:04 Сейчас в теме
В целом не видно в чем здесь выигрыш от Раббит.
30 тысяч сообщений в сутки - не является каким то запредельным параметром для стандартных файловых транспортов фтп, общая папка. Интересно менялась ли схема выгружаемых данных,обработка коллизий, обработка потери сообщений (по крайней мере не принятые пакеты хорошо бы не удалять из очереди или кидать в очередь сообщений с ошибками). Как я понял по коду компоненты, нет обработки исключений, т.е. сообщение в любом случае удаляется из очереди.
Открывает лог отправки данных в системе отправителе и смотрит в нем все статусы пакета данных (дата отправки, дата получения, ссылка на текст отправленных данных).
Проверяет логику формирования данных.
Подобную логику можно гораздо легче на стандартном обмене через файлы реализовать. А то усложняем там где ничего усложнять не требуется.
11. Evil Beaver 7874 13.06.18 18:40 Сейчас в теме
(9) дело в управлении этим хранилищем файлов. Рано или поздно, автоматизируя папку обмена и настраивая к ней доступ, вы напишете сервер очередей. Так может сразу начать с него?
iulyus; artbear; Сурикат; +3 Ответить
13. user634257_mryzhov 14.06.18 16:21 Сейчас в теме
(11) На этапе когда нужен обмен между двумя базами - сервер очередей избыточен.
В описанном примере это именно такой случай - из-за применения Раббита осталось только еще больше не проработанных вопросов, которые до этого при обычном файловом обмене были решены. То есть мы существенно увеличили сложность решения (отдельный сервер очередей, внешние компоненты для обмена, ХТТП-сервис), функциональность та же, а качество хуже.

Rabbit - не серебрянная пуля:)

Я не рассматриваю случаи когда у нас сотни потребителей, распаралеленные очереди, несколько серверов очередей связанных между собой и разнородные среды для интеграции - тогда да я обеими руками за Раббит)
46. nporrep 50 06.09.22 02:19 Сейчас в теме
(13)Привет из 2022-го. Ну и как вам с одной FTP-папкой в эпоху безграничного количества сервисов?
14. 1cProfit 25.06.18 15:49 Сейчас в теме
у кого-то есть готовая компонента для раббита ?
15. Goleff74 208 28.06.18 10:15 Сейчас в теме
(14)
Прикреплена к статье вместе с исходниками.
16. baracuda 2 26.07.18 12:36 Сейчас в теме
Правильно понимаю, что в основном это применяется для разработки сервисных шин данных? ESB?
Где еще можно применить связку?
17. Goleff74 208 26.07.18 14:13 Сейчас в теме
(16)
Например, распределение пиковой нагрузки. Пришло вам 100500 запросов в секунду и веб-сервер отказался работать. Засунули эти 100500 в очередь, сами указали сколько потоков параллельно обрабатываются из Кролика и в колбэк функцию вернули результаты запроса.
18. baracuda 2 26.07.18 15:16 Сейчас в теме
(17) ясно. спасибо за пример.
19. zarucheisky 30.07.18 11:29 Сейчас в теме
(0) ActiveMQ имеет встроенный REST API :)
Вовсе необязательно подсовывать кролика где ни попадя.
stupidgamer; noname148; kote; +3 Ответить
20. MherArsh 24 29.10.18 18:17 Сейчас в теме
А можно как то подписаться на события кролика?
21. Goleff74 208 29.10.18 18:19 Сейчас в теме
(20)
Дописывать / Переписывать приложенную службу.
22. MherArsh 24 29.10.18 18:40 Сейчас в теме
(21) не реализовано, понял, но вот в чем вопрос, как в контексте сервера можно подписаться на события, это не регламентное задание где периодически что то вызывается, все, а иметь запущенного клиента тоже не очень хорошо... у меня варианты кончились )
23. Goleff74 208 29.10.18 20:59 Сейчас в теме
(22)
Не понимаю вашей боли. Давайте пример, чтоли, что вы хотите получить.
24. MherArsh 24 30.10.18 11:01 Сейчас в теме
(23) хочу обработать события по конкретному каналу из кролика, как это сделать в контексте севера 1С, без запущенных клиентов 1С.
25. Goleff74 208 30.10.18 13:35 Сейчас в теме
(24)
При получении сообщения служба посылает http-запрос по указанному вами адресу. Клиентов никаких загружать не надо. Или вы под событиями понимаете что-то иное?
26. MherArsh 24 30.10.18 18:03 Сейчас в теме
(25) я сейчас не говорю про http, его нет, есть RabbitMQ, как 1С может получать данные из какой то очереди, при их появлении.
27. Goleff74 208 30.10.18 18:22 Сейчас в теме
(26)
Эм. Вы ведь прочитали публикацию?
Получателям 1С служба умеет отправлять данные двумя способами - в HTTP-сервис или в Web-сервис. Служба может поднимать множественное количество подписчиков на разные ключи маршрутизации и узлы, переправляя данные в http и/или web-сервис.

Не можете поднять веб-сервер, допишите службу, пусть напрямую в СКЛ пушит данные или КОМ-соединение поднимает и в него пуляет.
30. MherArsh 24 30.10.18 19:33 Сейчас в теме
(27) я читал, и все понял, и задал вопрос, может не по конкретной это теме но это про очереди+1с в целом, как решить вопрос я знаю, просто хочется послушать мысли умных людей по этому вопросу :)
33. leka99 22 22.03.19 11:06 Сейчас в теме
Добрый день.
При подключении к серверу кроля с сервера (Windows server 2008 R2) выдаёт ошибку - {ВнешняяОбработка.ПостановкаВОчередьКролика.МодульОбъекта(27)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (AMQPSending): Не удалось загрузить файл или сборку "RabbitMQ.Client, Version=5.0.0.0, Culture=neutral, PublicKeyToken=89e7d7c5feba84ce" либо одну из их зависимостей. Не удается найти указанный файл.
Подключение с компа с Windows 7 работает.
Не подскажите направление - в чем может быть проблема ?
28. artbear 1430 30.10.18 18:56 Сейчас в теме
(26) Обрати внимание на платную компоненту
https://silverbulleters.org/rabbitmq

Серьезно и быстро
29. artbear 1430 30.10.18 18:56 Сейчас в теме
(28) Работает напрямую с Реббитом через нативную компоненту 1С
31. MherArsh 24 30.10.18 19:42 Сейчас в теме
(29) спасибо за ссылку, не вариант
34. ardarik 10 11.04.19 09:55 Сейчас в теме
А где в конфиг файле указывается лого пасы web-сервиса?
sergpogo; +1 Ответить
35. sergpogo 2 12.04.19 11:00 Сейчас в теме
Коллеги, объясните мне убогому пожалуйста.
Правильно я понимаю: Когда на Кролик приходит некое сообщение оно переправляется слушателю.
Слушать пусть будет вебсервис 1С. я не понимаю где я должен указать логин и пароль вебсервиса 1С чтобы кролик в него послал это некое сообщение.
36. seregasame 29.04.19 13:34 Сейчас в теме
webClient.Headers.Add("Authorization: Basic", "логин:пароль"); логин:пароль от 1С нужно в басе64
или
soapRequest.Headers.Add("Authorization: Basic", "логин:пароль");

в зависимости от того что вы используете, http или soap

            
            var plainTextBytes = System.Text.Encoding.UTF8.GetBytes("логин:пароль");
            webClient.Headers.Add("Authorization: Basic", System.Convert.ToBase64String(plainTextBytes));


или

            var plainTextBytes = System.Text.Encoding.UTF8.GetBytes("логин:пароль");
            soapRequest.Headers.Add("Authorization: Basic", System.Convert.ToBase64String(plainTextBytes));
37. seregasame 29.04.19 14:13 Сейчас в теме
можете самостоятельно добавить в файл Consumers.xml в тег Consumer пару полей user1c и password1c.
добавить их же в класс MyConsumer и в его конструктор.
добавить в ServiceMQConsumer в методе InitialiazeConsumers их заполнение.
при отправке запроса в хеадер добавлять логин и пасс из конкретного экземпляра mqConsumer
38. seregasame 30.04.19 10:14 Сейчас в теме
С хеадерами правильно вот так:

            var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(this.user1c + ":" + this.password1c);
            webClient.Headers.Add("Authorization", "Basic " + System.Convert.ToBase64String(plainTextBytes));

и
            var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(this.user1c + ":" + this.password1c);
            soapRequest.Headers.Add("Authorization", "Basic " + System.Convert.ToBase64String(plainTextBytes));
39. vis_tmp 31 25.04.20 14:09 Сейчас в теме
Никак не могу найти, есть ли возможность для 7.7 использовать Rabbit MQ ?
41. mdie 86 15.07.20 16:09 Сейчас в теме
(39) А почему нет? COM-объекты 7ка умеет, всё остальное также реализуемо
40. tictac 19.05.20 13:46 Сейчас в теме
Здравствуйте!

Меня зовут Михаил Киселёв. Я ведущий разработчик группы компаний Легион
Мне интересна Ваша статья. Могли бы Вы добавить меня в друзья для дальнейшего общения

С Уважением,

Михаил Киселёв
42. MultiLexx 19 27.11.20 18:12 Сейчас в теме
При попытке отправить данные получаю ошибку:

(RabbitMQ.Client): None of the specified endpoints were reachable

Что я делаю не так?
И еще служба "слушателя" не стартует, точнее стартует и тут же останавливается.
43. Betman77 30.04.21 12:11 Сейчас в теме
Существует очередь кролика...
каким образом можно указать по какому порту производить подключение?
в моем случае Port 1883 (8883 for TLS)

На стадии подключения к очереди

Объект.Connect(ИмяСервераКролика, Логин, Пароль);// Подключаемся к серверу Кролика,

выдает следующую ошибку:
RabbitMQ.Client: None of the specified endpoints were reachable

я так понимаю, что номер порта не знает?
можно ли, используя данную компоненту - указать номер порта. и если можно, то
где указывается номер порта подключения?
44. user1007695 13.02.22 15:13 Сейчас в теме
Подскажите пожалуйста, что такое КлючМаршрутизации?
45. Ignat.fool 04.05.22 07:44 Сейчас в теме
Здравствуйте,
служба не стартует, ошибка:
Невозможно запустить службу. System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в RabbitConsumer.ServiceMQConsumer.OnStart(String[] args) в G:\VC\RabbitMQ\RabbitListener\RabbitConsumer\ServiceMQConsumer.cs:строка 54 в System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
У меня служба установлена по другому пути. "G:\VC\RabbitMQ" искал в исходниках, реестре, не пойму откуда он берет это значение и как его изменить.
Прикрепленные файлы:
Оставьте свое сообщение

См. также

Перенос данных из Парус 8 в ЗГУ ред.3

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    18374    13    0    

15

Перенос данных из Парус 10 в ЗГУ ред.3

Зарплата Внешние источники данных Кадровый учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    6110    3    8    

5

Автоматическая многопоточная выгрузка данных 1С 8.3 в БД Clickhouse (для работы с данными 1С в BI-системах)

Внешние источники данных Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматизированной выгрузки данных из 1С 8.3 в базу данных ClickHouse для работы с данными 1С в Yandex Datalens, Apache Superset (и не только) - "Экстрактор данных 1С в BI". Решение отлично работает со всеми типовыми (и не только) конфигурациями 1С 8.3 для управляемых форм. Gозволяет автоматизировать работу бизнес-аналитика по ежедневной выгрузке данных из 1С в БД ClickHouse для последующей работы с этой БД в Yandex Datalens/ Система полностью автоматизирует работу с хранилищем данных в БД Clickhouse. Не надо быть программистом, чтобы одной кнопкой получать любые данные из 1С в Yandex Datalens

84000 руб.

15.11.2022    7079    4    23    

13

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Учет ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Внешняя обработка с открытым кодом.

9000 руб.

08.12.2011    77451    116    120    

137

Перенос данных из Парус 7.хх в ЗГУ ред.3

Внешние источники данных Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

24000 руб.

24.04.2017    44693    88    147    

80

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

Внешние источники данных Загрузка и выгрузка в Excel Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате из Парус 10(Торнадо) учреждений через файлы Excel в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ). В принципе, обработка может быть использована для загрузки из файлов Excel, полученных из любых информационных систем.

24000 руб.

16.11.2018    27385    16    29    

17

Обмен с СУФД (Федеральным казначейством) для Бухгалтерии предприятия 3.0

Внешние источники данных Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Комплект обработок для обмена СУФД и Бухгалтерии 3.0. Содержит две обработки: для переноса платежных поручений из БП 3.0 в СУФД Федерального казначейства и загрузки выписок из СУФД в БП 3.0.

2400 руб.

30.03.2023    3960    6    0    

9

Загрузка данных из F3 TAIL 3 (еФарма 2) в 1С: Бухгалтерия 3.0 (базовая, ПРОФ, КОРП)

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

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП).

13200 руб.

19.12.2016    41237    76    101    

62

Загрузка спецификаций в УНФ из системы Базис-мебельщик

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

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

6000 руб.

24.06.2021    16080    42    36    

18

Загрузка в БГУ из УРМ "Криста"

Внешние источники данных Банковские операции Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Россия Бухгалтерский учет Платные (руб)

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Обработка условно-бесплатная - бесплатно в течение одного месяца со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    35784    133    83    

29

Интегрируй это

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

В последнее десятилетие выросла популярность no-code и low-code систем. Мобильные и простые десктоп-приложения можно создавать практически без строчки кода. О том, как строить интеграционные контуры для 1С-решений с помощью платформ n8n.io и WSO2, на конференции Infostart Event 2021 Moscow Premiere рассказал Вадим Фоминых.

22.05.2023    3022    Shmell    6    

37

Распознавание паспорта РФ. Python+1С без сторонних сервисов

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

В данной публикации мы рассмотрим методы разработки приложений на Python + 1С для распознавания Паспорта РФ.

1 стартмани

30.01.2023    8267    42    Indgo    34    

87

Выгрузка журнала регистрации 1С в ClickHouse с помощью Vector

Журнал регистрации Внешние источники данных Абонемент ($m)

Данное решение предназначено для выгрузки журнала регистрации из 1С 8.2 - 8.3 (формат журнала LGF/LGP) в ClickHouse. Одной из отличительных особенностей данного решения является возможность подключения экспортера ЖР к системам мониторинга.

1 стартмани

10.11.2022    6700    33    axilab    17    

54

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    10399    21    huxuxuya    29    

79

Консоль запросов SQL (управляемые формы)

Инструменты администратора БД Инструментарий разработчика Внешние источники данных Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Иногда требуется подключиться к другим базам данных для обменов, например: MySQL (сайты, интернет магазины), MS SQL, PostgreSQL (базы данных такие как 1С, WMS, других приложений) и т.д. Данная консоль поможет настроить и проверить подключение, выполнить любые запросы на языке SQL, а также если подключить обработку в конфигуратор использовать для обменов между базами данных с помощью языка SQL.

2 стартмани

04.05.2022    7597    39    nikolasx    12    

28

Консоль обмена по протоколу TCP

Внешние источники данных Обмен между базами 1C Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Внешняя консоль-обработка, позволяющая осуществить обмен пакетами данных между любыми приложениями или устройствами по сетевому протоколу TCP. Консоль работает как в режиме TCP-клиента, так и в режиме TCP-сервера. Реализована с использованием стандартной библиотеки Windows "MS Winsock".

3 стартмани

10.04.2022    8920    35    Bassgood    15    

45

Интеграция 1С и OTRS: Синхронизация заметок тикетов

Управление проектом (PMO, EPM) Внешние источники данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х ИТ-компания Управленческий учет Абонемент ($m)

Внешняя обработка для интеграции 1С с системой обработки заявок OTRS. Предназначена для обмена информацией о заявках, позволяет создавать тикеты и заметки из 1С, загружать заметки (элементы тикетов, заявок) из OTRS в электронные письма. Использует API, предоставленный OTRS. Обмен работает как регламентное задание. Разработан на базе УТ 11.4 и OTRS 5s free.

6 стартмани

18.11.2021    6869    12    tps_01    0    

3

Практика OData. Пишем проводник по данным

Внешние источники данных Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Абонемент ($m)

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

3 стартмани

11.10.2021    9173    28    Dementor    7    

32

Перенос данных из Парус 7.хх в ЗУП ред.3

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх организаций в конфигурацию 1С:Зарплата и управление персоналом, ред. 3 (ЗУП) и начать с ней работать с любого месяца года.

24000 руб.

07.06.2021    12126    1    13    

2

Перенос данных из Парус 8 в ЗУП ред.3

Зарплата Внешние источники данных Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 организаций в конфигурацию 1С:Зарплата и управление персоналом, ред. 3 (ЗУП) и начать с ней работать с любого месяца года.

84000 руб.

07.06.2021    10891    0    0    

1

ВИДы на жительство. Использование внешних источников данных в прикладных задачах

Внешние источники данных Платформа 1С v8.3 Бесплатно (free)

На Infostart Meetup Novosibirsk выступил ведущий разработчик МКК «Ваш Инвестор» Вадим Фоминых. Он на практических примерах показал коллегам, как его команда использует внешние источники данных в прикладных задачах, призвал не отказываться от этого инструмента и объяснил – почему.

19.04.2021    3779    Shmell    5    

30

Правила обмена больше не нужны

Внешние источники данных Обмен между базами 1C WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    19865    Nikola23    41    

80

Работа с Ворд через СОМ-Объект

Внешние источники данных Платформа 1С v8.3 Бесплатно (free)

Статья представляет собой еще один велосипед на тему формирования документов на основе шаблонов через СОМ-Объект. Как и все другие велосипеды, этот написан потому, что другие велосипеды - плохие. В действительности, если погуглить, мы получим огромное количество ссылок на советы в стиле "сделай так и будет тебе счастье". Но почему "так", зачем "так", какие есть альтернативы - авторы советов не раскрывают. Хуже того, половина найденных таким способом рецептов окажутся откровенно вредными. Судя по тому, как вредные рецепты копируются из совета в совет, большинство разработчиков, из тех, что переписываются на форумах, просто воспроизводят то, что когда-то нагуглили сами. Ну да, работает - не трогай :-)

15.02.2021    23915    Sindbad_M    36    

70

DaJet Exchange: обмен данными с 1С (часть 1)

Внешние источники данных Платформа 1С v8.3 Бесплатно (free)

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

11.01.2021    6255    zhichkin    14    

36

Учим Лайку новым трюкам: заказы с предоплатами, выгрузка накладных из 1С

Банковские операции Кассовые операции Учет доходов и расходов Розничная торговля Внешние источники данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Рестораны, кафе и фаст-фуд Управленческий учет Платные (руб)

Расширение Лайка позволяет просматривать данные IIKO по заказам и предоплатам, приходным и расходным накладным, не покидая 1С. Кроме того, в последней версии добавлен функционал создания накладных на основании приобретений 1С одним нажатием.

14400 руб.

15.10.2020    21828    2    5    

5

Перенос остатков и оборотов из КЛОТО в "1С:Зарплата и кадры государственного учреждения 3.1"

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос из КЛОТО в ЗГУ 3.1. Программный продукт КЛОТО очень распространен на территории Тверской области в силу своей простоты и относительной дешевизны. Данным программным продуктом активно пользуются учреждения организационно-правовой формы МДОУ, ФКУ и прочие.

216000 руб.

05.10.2020    12155    1    0    

2

Улучшенная обработка универсального обмена данными в формате XML (УФ)

Универсальные обработки Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).

1 стартмани

23.06.2020    24184    213    Lem0n    1    

74

Импорт розничных продаж из АСУ "Топаз-АЗС" в 1С:Бухгалтерию предприятия 3.0

Внешние источники данных Розничная торговля Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Данная обработка предназначена для импорта данных по продаже топлива из АСУ "Топаз-АЗС" в 1С:Бухгалтерия предприятия 3.0 (Версия формата данных 3.15)

4000 руб.

13.05.2020    14223    15    18    

13

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

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

08.05.2020    6905    chernenko_vv    26    

43

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

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

04.05.2020    5986    RPGrigorev    0    

66

Импорт документов из розничной программы учета (ТрейдФарм, Манускрипт Солюшн, Е-Фарма и др.) в Бухгалтерию 3.0 с формированием книги учета доходов и расходов при УСН и бухгалтерского и налогового учета при ОСНО

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

Представлена обработка для импорта документов из розничной программы учета товара в торговых точках и аптеках, необходимых для ведения бухгалтерского и налогового учёта, в Бухгалтерию 3.0. При загрузке данных в бухгалтерию переносятся документы поступлений, реализации, возвратов и перемещений в торговых точках и формируются все бухгалтерские и налоговые отчеты с учетом этих документов для любой системы налогообложения. Обработка позволяет загрузить данные из ПО ТрейдФарм. Имеются варианты для других розничных программ (ПО Manuscript Solution, Е-Фарма и S-Market).

14400 руб.

09.04.2020    16064    10    8    

5

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

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

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

09.02.2020    10707    da_1c    12    

83

Google drive - менеджер файлов

WEB-интеграция Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Синхронизация с гугл диском легко и просто!

10 стартмани

05.12.2019    34648    49    zykov_vitaliy    28    

45