Обмен сообщениями. Что это?

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

Разработка - Системная интеграция - Интеграция

Обмен сообщениями Интеграция RabbitMQ MSMQ ESB

Большая часть моей работы посвящена интеграции приложений. Очень странно, что для «1С:Предприятие 8» нигде не описаны промышленные шаблоны интеграции, а если и есть какая-то информация — то ее очень мало. Цель данной статьи (или цикла статей, как получится) стало желание поделится опытом, источниками информации и самое главное полезными книгами.

Обмен сообщениями

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

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

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

  • независимость взаимодействующих приложений через общий интерфейс;
  • экономия и рациональное использование ресурсов;
  • надежность, благодаря возможности накапливать сообщения, а так же благодаря независимости компонентов;
  • возможность доставки сообщений, после сбоя одного из компонентов после “восстановления”;
  • гарантия доставки сообщения.

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

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

  • Заголовок сообщения содержит информацию для выполнения адресации в системе обмена сообщениями;
  • Тело сообщения содержит полезные данные и как правило игнорируются системой обмена сообщениями.

Отправитель или поставщик — программа, отправляющая сообщение путем его размещения в канале.

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

Функционирование обмена сообщениями обеспечивается отдельной программной системой — системой обмена сообщениями (message-oriented middleware). Необходимость наличия такой системы обусловлена ненадежностью сетей, различные сбои, необходимостью ускорения процесса принятия решений (итоговое решение формируется из нескольких источников, например: система управления складом, финансовая система, система доставки и другие.). Процедура передачи сообщения состоит из 5 основных этапов:

  1. Создание сообщения;
  2. Отправка сообщения;
  3. Доставка сообщения;
  4. Получение сообщения;
  5. Обработка сообщения.

"Отправить и забыть" (Send and forget) — поместив сообщение в канал (этап 2), отправитель может не заботится о судьбе сообщения, доставку обеспечит система обмена сообщениями.

Преимущества обмена сообщениями

  • Обмен сообщениями позволяет наладить взаимодействие между приложениями. Можно конечно возразить, что все инструменты есть в платформе 1С, но не один не гарантирует доставку;
  • Интеграция разнородных систем и технологий. Использовать для все и вся платформу 1С очень плохая идея, при том, что быстродействие платформы низкое, а масштабирование — дорогое;
  • Взаимодействия между приложениями происходят асинхронно. Для платформы 1С так же верно, пока не закончатся лицензии на подключение;
  • При синхронном взаимодействии отправитель должен дождаться завершения обработки вызова получателем прежде, чем сделать новый вызов. Таким образом, если посмотреть на пример в начале статьи, у касс не будет очередей при использовании "заявок на выплату". Асинхронное взаимодействие позволяет размещать и обрабатывать вызовы с разной скоростью. Другими словами можно балансировать лицензиями на подключение к «1С:Предприятие 8», можно балансировать нагрузку на сервер 1С, создать кэширование на уровне очереди и т. п.;
  • Возможность балансирования нагрузки, система обмена сообщениями формирует очередь запросов, позволяя получателю контролировать скорость их обработки;
  • Надежное взаимодействие между системами;
  • Возможность работы без подключения к сети, например, торговые агенты, которые периодически выполняют синхронизацию с сервером;
  • Приложение может быть интегрировано с множеством приложений используя только — систему обмена сообщениями;
  • Асинхронное взаимодействие позволяет приложению не ожидать результата выполнения задачи другим приложением, когда задача будет выполнена, приложение может быть оповещено о результатах.

Недостатки обмена сообщениями

  • Довольно сложная реализация;
  • Довольно сложно отлаживать и тестировать;
  • Порядок доставки сообщений неизвестен. Необходимо дополнительно восстанавливать порядок сообщений, если он необходим;
  • Дополнительные задержки при использовании обмена сообщениями, в сравнении с использованием прямого вызова приложения;
  • Ограниченная поддержка закрытыми, старыми (legacy) системами.

История реального проекта

  • 2009 год. В организации возникла потребность работать с товарами под заказ, для этого конфигурацию необходимо было научить, как-то, работать с прайсами. Поставщиков было немного до 15, да и прайсы у всех были *.xls и в принципе одинаковые. Было внедрено решение которое позволяло загружать информацию в ручном режиме, искать соответствия и устанавливать цены поставщиков;
  • 2011 год. Количество поставщиков выросло и прайсы стали различаться, а так же добавились новые форматы. Появились конкуренты и их тоже необходимо было анализировать. Чем быстрее начнешь понимать ситуацию и сформируешь картину рынка тем выгоднее или быстрее продашь товар. Система загрузки стала автоматической и прайсы загружались периодически один раз в час. Довольно смешно было наблюдать картину, когда продавцы из конкурирующего магазина прибегали в наш магазин и записывали цены, а потом они у себя снижали цену, а максимум через час у нас цена становилась меньше, но не ниже себестоимости. Так появилась система парсинга интернет сайтов конкурентов;
  • 2013 год. Первые проблемы. Прайсов стало больше и за один час они не успевали попасть в базу за выделенное время. Решено было апгрейдом сервера 2 процессора по 20 ядер и 128 ГБ ОЗУ;
  • 2015 год. Прайсы стали очень большими, некоторые по 100 тыс. позиций, да и магазинов уже было 15, в 2009 году был только 1 магазин. Стало так — одно фоновое задание порождало много подчиненных фоновых заданий которые загружали и анализировали информацию;
  • 2016 год. Информации стало слишком много и иногда ожидать загрузку прайса до 2-х часов стало критично для бизнеса (строилась очередь на одновременную обработку не более 10-15 прайсов из 200). Появилось более глубокая проблема, как работа с дедлайном — время, до которого необходимо сделать заказ на товар у поставщика, при соблюдении которого товар клиенту будет доставлен на следующий день. Решение оказалось технологичным — зачем постоянно загружать информацию, когда ее можно обновить только при событии изменения этой информации. Соответственно, когда возникает событие, что у поставщика что-то обновилось, это событие попадает в очередь на обработку и далее оно передается в 1С:Предприятие. Дальше система обрабатывает прайс. Таким образом важные прайсы попадают в систему очень быстро, для особо важных поставщиков удалось сократить время обновления цен и наличия с 2-х часов до десятков секунд;
  • Конечно, можно переписать подсистему и придумать более удачную архитектуру, которая будет работать лучше, но кто на это даст денег? Событийная обработка оказалось намного дешевле, так как не потребовала измений базовой подсистемы.

Ответы на вопросы из комментариев

Если бы пришлось писать подобный сервис с нуля, то как бы это выглядело в коде?

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

  • Использовать фоновое задание в «1С:Предприятие 8», которое периодически проверяет наличие новых сообщений в системе обмена сообщениями. Проблематика:
    • Реализовать асинхронную обработку сообщений будет проблематично; 
    • Асинхронную обработку можно реализовать, если фоновое задание будет порождать новые фоновые задания и контролировать процесс их выполнения;
    • Дополнительные проблемы при реализации транзакционного чтения сообщений из системы обмена сообщениями;
    • Необходимо реализовать компоненту подключения к системе обмена сообщениями, если отсутствует HTTP интерфейс.
  • Использовать службу, которая подписывается на события системы обмена сообщениями (пример, не рекомендую использовать в боевой базе, это учебный пример. GitHub). При появлении сообщений, выполняет маршрутизацию сообщения на HTTPСервис «1С:Предприятие 8». Проблематика:
    • Необходимо знать языки программирования отличные от 1С;
    • Есть возможность использовать ESB для этих целей, но не освобождает от первого пункта.

Сообщения уже поступают в «1С:Предприятие 8» и обрабатываются. Для отправки сообщений так же можно использовать два пути:

  • Написать компоненту, которая будет отправлять сообщения (пример, учебный);
  • Обычно в системе обмена сообщениями есть HTTP интерфейс. Можно реализовать отправку сообщений в «1С:Предприятие 8» с помощью HTTPСоединение, но для больших сообщений нужно, все-таки, реализовать компоненту. 

Сообщения уже поступают и отправляются. Настройку каналов, бирж и организацию обработки\отправки в «1С:Предприятие 8» сознательно успускаю, это целая статья.

Как выглядит прием сообщений в 1с?

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

  • Использовать фоновое задание в «1С:Предприятие 8», которое периодически проверяет наличие новых сообщений в системе обмена сообщениями. Проблематика:
    • Реализовать асинхронную обработку сообщений будет проблематично; 
    • Асинхронную обработку можно реализовать, если фоновое задание будет порождать новые фоновые задания и контролировать процесс их выполнения;
    • Дополнительные проблемы при реализации транзакционного чтения сообщений из системы обмена сообщениями;
    • Необходимо реализовать компоненту подключения к системе обмена сообщениями, если отсутствует HTTP интерфейс.
  • Использовать службу, которая подписывается на события системы обмена сообщениями (пример, не рекомендую использовать в боевой базе, это учебный пример. GitHub). При появлении сообщений, выполняет маршрутизацию сообщения на HTTPСервис «1С:Предприятие 8». Проблематика:
    • Необходимо знать языки программирования отличные от 1С;
    • Есть возможность использовать ESB для этих целей, но не освобождает от первого пункта.
OData позволяет снаружи обращаться к данным 1С и при этом не писать в 1С логику отдачи данных. С другой стороны, для обмена сообщениями, сообщения, наверно, надо формировать из 1с. Это накладывает какие-то ограничения?

OData довольно проблемный механизм, вот у нас есть таблица размером около 80Гб. При обращении к данной таблице происходит падение всего кластера, возможно, сейчас уже что-то да исправлили, но рисковать использовать этот механизм...

Обычно обмены сообщениями между приложениями это не плоские обмены. Три разных документа в «1С:Предприятие 8» может соответствовать одному документу в другой системе\приложении. Использование OData напрямую — это очень сильное связывание приложений и дублирование функционала. Если сломается что-то в одной системе, то и другая система перестанет работать.

Ограничений может и не быть при правильном построении архитектурной составляющей. В своей практике использую конструктор обмена сообщениями (зачатки документации GitHub, проект нигде еще не описывался), что позволяет создавать обмены любой сложности. Например, создание обмена данными очета ОСВ (Оборотно-сальдовая ведомость с дополнительными аналитическими данными) с системой визуализации (Dashboard) занял порядка 2-ух часов.  

Какие-то сторонние приложения умеют работать с очередями сообщений?

Отличный пример ESB (Enterprise service bus). Все системы можно научить\расширить\заплатить за доработку что бы появилась поддержка очередей. Проще всего это сделаеть, когда приложения\наборы\микросхемы имеют внешние интерфейсы, API или используют базу данных. Если у них отсутствуют некоторые интерфейсы и\или существуют ограничения это обходится с помощью ESB (Enterprise service bus) или собственноручно реализованных сервисов.

Хороший пример, в магазине происходит видеофиксация всего что происходит возле входной двери. Далее из этого потока видеосигнала можно посчитать количество посетилелей за час/день/месяц. Так же можно поступать с очередями.

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

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


Литература

Все книги настоятельно рекомендую читать в оригинале, некоторые понятия не имеют аналогов в русском языке. Книги частично применимы для «1С:Предприятие 8» и позволяют развить навыки принятия архитектурных решений. Последняя книга в списке отлично подойдет для того чтобы начать экспериментировать с паттернами и пощупать настоящую асинхронность.

  • The "Gang of Four". Design Patterns: Elements of Reusable Object-Oriented Software. — Addison-Wesley, 1994, ISBN: 0201633612.
  • Martin Fowler. Patterns of Enterprise Application Architecture. — Addison-Wesley, 2003, ISBN: 0321127420.
  • Gregor Hohpe and Booby Woolf. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. — Addison-Wesley, 2003, ISBN: 0321200683.
  • Christian Nagel. Professional C# 6 and .NET Core 1.0. — Willey, 2016, ISBN: 1119096603

Ссылки на связанные публикации:

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. infosoft-v 528 27.10.16 22:47 Сейчас в теме
Петр, спасибо за отличную статью. После прочтения появилось два вопроса.
Что есть канал на физическом (архитектурном) уровне?
Что есть сообщение на физическом (архитектурном) уровне?

Если бы пришлось писать подобный сервис с нуля, то как бы это выглядело в коде?
3. pbazeliuk 1800 28.10.16 13:15 Сейчас в теме
(1) infosoft-v, на выходных добавлю в публикацию.
infosoft-v; +1 Ответить
9. LsrGroup 02.11.16 09:09 Сейчас в теме
(1) infosoft-v, Механизм сообщений уже давно реализован 1с в "1С:Технология публикации решений 1cFresh". Конечно в упрощенном виде, но для понимания процесса вполне годится. Сам интересуюсь этой темой уже 3 года.
2. Alien_job 179 28.10.16 12:33 Сейчас в теме
"Обмен сообщениями, что это? Сообщения это сообщения, обмен это обмен. Когда системам нужно обменяться сообщениями они ими обмениваются используя канал обмена. Вот самые известные книжки по программированию."
4. pbazeliuk 1800 28.10.16 13:21 Сейчас в теме
(2) Alien_job, возможно, стоит добавить больше конструктивной критики. Информации на самом деле много, а так же выполненных внедрений. Публикация будет расширятся, но направление можно скорректировать.
5. Alien_job 179 28.10.16 14:23 Сейчас в теме
(4) тогда можно не критику, а вопросы?
- как выглядит прием сообщений в 1с?
- OData позволяет снаружи обращаться к данным 1С и при этом не писать в 1С логику отдачи данных. С другой стороны, для обмена сообщениями, сообщения, наверно, надо формировать из 1с. Это накладывает какие-то ограничения?
- какие-то сторонние приложения умеют работать с очередями сообщений? Типа "не надо писать сихронизацию с ..., можно просто отправлять в очередь ..."
- в 1С можно в общем модуле что-нибудь написать,подключить, но есть же закрытые системы. Как вы их "принуждаете" отправлять сообщения в очередь?
6. корум 284 28.10.16 14:48 Сейчас в теме
(4)

а также
Публикация будет расширятЬся

Граммар-наци негодуэ.

PS Статьи - дело полезное, нужно нести просвещение в массы.
7. kasper076 77 30.10.16 14:32 Сейчас в теме
8. zhichkin 955 30.10.16 23:07 Сейчас в теме
Быстро посмотреть о чём речь (официальный сайт книги и её авторов): Enterprise Integration Patterns
Const1C; pbazeliuk; +2 Ответить
10. artbear 1312 02.11.16 19:52 Сейчас в теме
Оставьте свое сообщение

См. также

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

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

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

03.09.2019    14157    m-rv    1    

Пример организации HTTP сервиса на 1С: Документооборот. Источник 1С: ЕРП => Приемник 1С: Документооборот

Документоборот 2 Интеграция v8 ДО Бесплатно (free)

Статья - пример для разработчика, как можно, не используя подсистему Интеграция с Документооборотом, управлять процессами, а именно на нашем примере прерывать выполнение процессов в 1С: Документооборот. Используя данный пример, можно организовать http-сервис в любой конфигурации 1С, которая поддерживает механизм HTTP сервисов.

13.05.2021    957    Flover    0    

Настраиваем авторизацию пользователей 1С через Okta

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

Чем больше в компании различных конфигураций и сервисов, тем актуальнее становится проблема единой системы авторизации single Sign-On. Его лидером практически безоговорочно считается Okta. Но на просторах интернета очень мало информации про интеграцию 1С с Okta через протокол OpenID Connect. Что ж, настало время восполнить недостающие пробелы и перевернуть эту печальную страницу в вашей истории

30.04.2021    2641    ripreal1    10    

«БИП: Бизнес-Процессы». Интеграция с Telegram и Конструктор чат-ботов

Управление бизнес-процессами (BPM) Интеграция v8 УУ Бесплатно (free)

В статье приводятся примеры настройки автоматических оповещений в системе «БИП: Бизнес-Процессы» с использованием мессенджера Telegram. Также, приводятся примеры создания и настройки произвольных чат-ботов с использованием Конструктора чат-ботов.

15.02.2021    760    YuriYuriev    0    

Архитектурное решение интеграции баз 1С с использованием брокера сообщений Rabbit MQ

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

При решении задач интеграции баз данных можно использовать различные средства «транспорта» сообщений. Одним из таких механизмов является брокер сообщений «Rabbit MQ». Такие механизмы очередей сообщений удобно использовать для организации обмена между информационными системами с различной структурой данных, когда велик объем передаваемой информации и требуются гарантии успешной доставки сообщений, а также когда поддержание работоспособности иных способов передачи, например через файлы, становиться слишком трудоемким. Брокер сообщений Rabbit MQ широко описан в сети, но 1С пока не имеет штатных механизмов работы с ним, поэтому их приходится дорабатывать. Рассмотрим пример архитектуры 1С с его использованием.

12.02.2021    1159    Koder_Line    1    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

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

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    2504    SizovE    25    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

Практика программирования WEB Интеграция Универсальные функции v8 Бесплатно (free)

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    1874    SizovE    2    

Сказ о том, как в одной крупной компании документооборот внедряли, или проблемы типовых обменов между КА и ДО

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

Приветствую всех. Сегодня пойдет речь о том, как на одной крупной компании внедряли 1С:Документооборот 2.1 в связке с КА 2.4. Вроде бы системы типовые, мы практически не добавляли ничего в них, но проблем было столько, что я решил изложить их в статье. Может, кому-то пригодится это в дальнейшем, и не придется тратить кучу времени на поиск решений.

10.11.2020    5598    maks_20    23    

Структура обработки загрузки номенклатуры поставщика с примерами и комментариями (часть 2)

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

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

17.10.2020    883    malikov_pro    3    

Управление соляриями из 1С через Arduino

Интеграция v8 1cv8.cf Здравоохранение, медицина, стоматология УУ Бесплатно (free)

Мой опыт автоматизации сети соляриев с интеграцией 1С и оборудования соляриев с помощью платформы Arduino.

01.10.2020    2465    impextr    32    

Интеграция с Трелло. Готовый код

Обмен данными 1С Интеграция Agile (XP, SCRUM, Канбан) v8 Бесплатно (free)

Код основных действий, интеграция с API Трелло.

19.08.2020    3929    Yashazz    14    

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

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

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

06.07.2020    3220    Infector    4    

Мониторинг факта выполнения обмена с помощью сервиса healthchecks.io

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

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

30.06.2020    2190    malikov_pro    7    

Как мы запилили в АЙТАТ.РФ обработку-бота, чтобы ускорить отгрузку в 2 раза или Реальный опыт внедрения нового механизма "Трансляция событий" от 1С-Коннект

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

Статья о внедрении и использовании в решениях задач нового механизма от 1С-Коннект. Будет полезно тем кто использует интеграцию 1С-Коннект с 1С Предприятие. На текущий момент механизм "Трансляция событий" находится в бета-тестировании и доступен только закрытому списку приглашенных участников. Выражаем благодарность разработчикам механизма "Трансляция событий".

24.06.2020    2066    direwest    4    

Маркировка лекарственных препаратов. Часть первая "Быстрая интеграция"

Интеграция Розничная торговля v8 1cv8.cf Фармацевтика, аптеки Россия УУ Бесплатно (free)

Данный цикл будет посвящен маркировке лекарственных препаратов (далее ЛП), нюансам работы с "1С: Библиотека интеграции с МДЛП", доступной для скачивания на сайте ИТС, методиками работы с регистраторами выбытия, и проблемам, с которыми пришлось столкнуться при интеграции. Эта статья будет представлять из себя краткую инструкцию, что делать, когда маркировка уже близко и необходимо быстро внедрить ее. Надеюсь, она станет подспорьем в данной задаче. Будут приведены рекомендации, как в короткие сроки с минимально необходимой функциональностью и минимумом чтения документации произвести интеграцию библиотеки МДЛП и выполнить начальные настройки. Также будут даны рекомендации по быстрым, но важным, на мой взгляд, доработкам.

23.06.2020    8190    IssakN    32    

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

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

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

17.06.2020    8735    John_d    10    

1C# – 1С моей мечты

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

Встроенных в платформу 1С возможностей не всегда хватает для построения сложных интеграционных схем между различными 1С и не-1С-решениями на базе MS SQL Server. Как сделать интеграцию между SQL-базами более гибкой с помощью платформы 1С# на конференции Infostart Event 2019 Inception рассказал Дмитрий Жичкин.

01.06.2020    12494    zhichkin    36    

Обработчик "После завершения транзакции" своими руками

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

Обработчик "Сразу после завершения транзакции" очень востребован в механизме обмена мгновенными сообщениями, развитием которого фирма 1С заинтересовались настолько, что уже создала "Сервисы интеграции". Но платформа 8.3.17 всё еще не имеет полноценного обработчика "После записи" в подписках на события.

31.05.2020    3570    barelpro    63    

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

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    5396    zhichkin    30    

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

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

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

08.05.2020    5532    chernenko_vv    25    

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

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

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

08.05.2020    2705    vostok1.dz    3    

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

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

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

04.05.2020    4576    RPGrigorev    0    

Измерительная лаборатория с использованием 1С+Ардуино

Периферийные устройства Интеграция v8 Россия Бесплатно (free)

1С в автоматизации "научных" и около... экспериментов.

02.05.2020    4866    maxlab    16    

Интеграция БИТ:СКУД с типовой конфигурацией

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

Интеграция БИТ:СКУД с типовой конфигурацией, обновление БИТ:СКУД в составе конфигурации и отдельно. Обновление системы защиты.

26.04.2020    5872    RPGrigorev    0    

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView

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

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView.

06.04.2020    5484    Flyerink    2    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    15039    informa1555    35    

Использование таблиц SQL Server в качестве очередей сообщений

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

Статья о событийно-ориентированной интеграции и об асинхронной обработке данных в контексте 1C под управлением SQL Server. Подробно разбирается вопрос использования таблиц СУБД в качестве очередей сообщений.

23.03.2020    4010    zhichkin    9    

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

Интеграция Конфигурирование 1С v8 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    8264    RPGrigorev    3    

Бесшовная интеграция через обмен по правилам - миссия выполнима

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

При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.

24.01.2020    6224    e-9    8    

Передача данных с сервера на клиент через WebSocket NativeAPI и Centrifugo

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

В статье описываю реализацию обмена для замены передачи сообщений через 1С Сервер взаимодействия.

23.09.2019    8733    malikov_pro    11    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    18917    feva    43    

Как организовать консолидацию данных из трех десятков предприятий, не привлекая программистов на местах?

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

Какую архитектуру и технологии выбрать для организации обмена между «зоопарком» разных конфигураций и системой, принципиально отличающейся от 1С, как наладить такой обмен без изменения конфигурации и организовать мониторинг из единого центра, расскажет докладчик конференции INFOSTART EVENT 2018 EDUCATION Александр Бобрышов. 

15.07.2019    5237    ShurikDM    4    

Система питания в офисе: как совместить вендинговые автоматы, 1С, облачную кассу и веб-технологии

Интеграция Розничная торговля Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Бесплатно (free)

В начале 2019 года тенденция развития автоматов питания в России привела к появлению проекта нового формата питания на работе — МикроМаркета “Го!Поедим”. Потребовалось создать новый формат зоны питания сотрудников: интегрировать в офисные кухни полноценные МикроМаркеты с бесконтактной оплатой, кофе-машинами, лаунж-зоной. Если правильно совместить вендинговые автоматы, облачную кассу, 1С и веб-технологии, то в результате будут не только сытые сотрудники, но и корректная работа всей системы офисного питания.

22.06.2019    7234    antonovintervolga    6    

1С + TecDoc + CMS Битрикс. Трудности перевода

Интеграция Оптовая торговля Оптовая торговля v8 1cv8.cf Автомобили, автосервисы Россия УУ Бесплатно (free)

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

12.04.2019    7780    n.saltsina    13    

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

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

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

21.03.2019    29136    barelpro    87    

Переход на "Зарплату и управление персоналом 3.1"

Интеграция Управление персоналом (HRM) Пользователю системы Бухгалтерский учет Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Бесплатно (free)

Сменила я тут работу и уже после того, как я приступила к исполнению обязанностей, мой новый начальник мне призналась, что выбор пал на меня только из-за того, что я знаю программу. Справедливости ради, эта уверенность была основана только на том, что я прошла тестирование, включающее только основные операции кадрового делопроизводства. Так или иначе, а работодатель попал в точку, нанимая меня в надежде, что я решу проблему: нужно перейти «с 8.2 на 8.3». Ничего сложного, скажет большинство, я тоже так говорю, но ситуация осложнялась некоторым количеством предшественников, которые уже «нафеячили» в программах до меня. Взять и сделать все заново мне не разрешили, так что пришлось исходить из того, что есть, и именно это дало пищу для размышлений и, в конце концов, привело к написанию этих рекомендаций. Если перед Вами стоит задача перехода с ЗУП 2.5 на ЗУП 3.1, я попробую облегчить Вам жизнь этой статьей.

01.02.2019    14114    VKuser24804875    33    

Выбор программы 1С

Пользователю системы Интеграция Управление проектом v8 1cv8.cf Россия Бесплатно (free)

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

16.01.2019    10767    itworks    22    

Проектирование архитектуры и модификация программных продуктов как технология в сложных проектах системной интеграции и автоматизации на базе 1С: СППР

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

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

03.10.2018    18648    roman72    19    

Планы обмена 1С

Перенос данных из 1C8 в 1C8 Интеграция v8 Бесплатно (free)

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

10.09.2018    77266    zhichkin    32    

Способы оптимизации переносов данных

Перенос данных из 1C8 в 1C8 Интеграция v8 КД Бесплатно (free)

Хочу рассказать вам про способы оптимизации разработки правил обмена в программе «Конвертация данных» второй редакции. Казалось бы, про эту программу и разработку в ней правил конвертации уже сказано все, что можно. Появились уже более современные и быстрые технологии. Почему же все еще она? Дело в том, что «Конвертация данных» второй редакции все еще актуальна для огромного круга задач. Она имеет очень широкую функциональность и позволяет реализовывать сложные алгоритмы. Годы идут, а люди продолжают ей пользоваться и у них возникает много вопросов по этой программе. Возможно, в будущем вы тоже будете заниматься такими проектами и столкнетесь с задачами, похожими на те, про которые я собираюсь рассказать. Мне хочется вам в этом помочь.

02.08.2018    19598    primat    7