Сравнительный анализ вариантов интеграции между системами

Публикация № 1489661 30.07.21

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

На Infostart Meetup «Интеграционные решения для 1С» выступил Сергей Наумов – руководитель центра аналитики и консалтинга WiseAdvice. Сергей поделился с коллегами кейсами из собственной практики: какие интеграционные решения остаются актуальными до сих пор, а каких приемов стоит избегать – даже в безвыходных ситуациях.

О теме доклада

 

 

Расскажу про сравнительный анализ вариантов интеграции. Рассмотрим четыре кейса:

  • обмен данными из конфигурации 1С в базу SQL сайта через XML-файлы с помощью правил, написанных в КД2;

  • трансферная база данных на MySQL;

  • интеграция между «кучкой систем» через JSON и RabbitMQ;

  • интеграция 1С с сайтом через NoSQL базу данных MongoDB.

Все кейсы я выстроил по степени моей удовлетворенности работой этого варианта.

 

Первый кейс – КД2 в SQL

 

 

Первый кейс – обмен с помощью xml.

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

 

 

Тогда мне казалось, что требования меняются очень часто, поэтому я пошел по пути разработки конструктора. Чтобы сделать такой конструктор, я немного изменил «Конвертацию данных 2»:

  • Сделал так, чтобы источником или приемником могла быть не только база данных на 1С, но и некоторые SQL-базы данных в качестве объектов.

  • Добавил возможность выбора объекта «Таблица SQL».

С помощью измененной «Конвертации данных 2» настроил правила обмена между 1С и SQL-базой данных, которая используется сайтом.

И написал на С# веб-сервис, который получает данные от 1С и, опираясь на правила КД2, раскладывает эти данные в таблицу SQL.

 

 

Работа была интересной, мне было приятно этим заниматься. В этом решении были позитивные стороны:

  • изменения можно было вносить быстро;

  • с помощью КД2 я легко добавлял реквизиты, перенастраивал обработчики;

  • и в 1С это было легко отлаживать.

 

 

Но негативных сторон было больше:

  • получилось решение с высокой стоимостью владения, потому что исправлять сервис на C# – большая работа;

  • сложная отладка на стороне веб;

  • все это работало не очень быстро, потому что структура правил КД2 избыточная, а при каждом обращении к сервису они перечитывались;

  • получилось громоздкое решение, которое мы запускали очень долго: два месяца мы только его отлаживали.

Так я больше делать не буду, но кейс был интересным. Для себя я сделал такой вывод, что «Конвертацию данных» лучше не трогать: как ее поставляет вендор, так мы ее и используем.

 

ТБД MySQL

 

Следующий кейс – трансферная база данных на MySQL.

 

 

Вводные данные кейса: микрофинансовая организация, информационные системы активно развиваются. Система самописная, писалась много лет.

Задача – получать заявки с партнерской сети.

Фактически, нужно было автоматизировать основной бизнес-процесс компании. Партнерская сеть очень большая: десятки партнеров в каждом городе РФ, это сотни и даже тысячи пользователей сайта.

 

 

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

  • постоянная потеря данных;

  • сложно было искать ошибки, мы просто не понимали, что происходит – несмотря на то, что я был руководителем, мне приходилось самому ежедневно копаться в коде, выяснять, что произошло, почему так получилось;

  • в день у нас было до нескольких часов простоя. Еще раз подчеркну: это был основной бизнес-процесс компании, несколько часов простоя – просто недопустимо.

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

Причем на тот момент в этой трансферной базе данных на MySQL была всего одна таблица. Ее структура представлена в левой части слайда. Там есть:

  • ID объекта;

  • тип объекта – например: новый клиент, предварительная заявка, постоянная заявка и т.д.;

  • колонки с полями для каждого типа объекта – некий аналог шахматной ведомости;

  • и набор флагов для обработки объектов – например, флаги «Заявка предварительная», «Заявка постоянная» и т.д.

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

В итоге 1С читает запись, но у нее не хватает данных, которые должны были быть созданы на предыдущем этапе. Все падает, но мы не понимаем, почему упало.

Первая версия – провальное решение: на одной таблице никогда нельзя организовывать обмен.

 

 

Но сам кейс ТБД мне понравился – после того, как мы его корректно реализовали и переработали.

В чем суть переработки?

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

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

  • Систематизировали всю работу с объектами в СППР – во-первых, потому что там есть весь перечень метаданных, во-вторых, это была наша основная учетная система на тот момент.

    • Добавили в СППР сопоставление некоторых реквизитов 1С с полями в базе данных Битрикс.

    • В СППР генерировались скрипты для создания таблиц в базе данных MySQL – мы перерабатывали обмен очень активно, раз в два дня обновляли правила обмена и трансферную базу данных.

    • Также в СППР генерировался модуль для 1С, который выгружал в трансферную базу данных некоторые данные.

  • Конечно, проработали вопрос с приоритетами.

  • Сделали пообъектное считывание и логирование. Не забывайте делать логирование при обменах.

 

 

Для взаимодействия с таблицами мы реализовали следующие функции:

  • Добавление объекта

  • Чтение объекта

  • Подтверждение чтения

Функции были одинаковыми для каждой таблицы. Так как СППР генерировала скрипт для создания таблиц в базе данных, это было не очень тяжело сделать.

Логика работы с таблицами строилась следующим образом:

  • когда 1С хотела отправить на сайт обновленную заявку или обновленного контрагента, она вызывала функцию добавления объекта;

  • а сайт в свою очередь – функцию чтения объекта;

  • и если прочитал успешно – функцию подтверждение чтения объекта.

 

 

Все было достаточно стройно и логично. Решение было позитивное, держало большую нагрузку, но было два НО.

  • Первое «но» – иногда зависали запросы, отправляющие бинарную информацию. Проблема была простой: сайт закидывает в базу бинарные данные с документами клиента, а 1С эти данные читает – и при чтении запрос зависал наглухо. Пытались решить правильно: перелопатили всю документацию по MySQL, перепробовали разные версии MySQL, разные дистрибутивы Linux – много времени угробили на то, чтобы разобраться, почему оно так зависает, но не нашли в чем проблема. Мы решили проблему по-простому: сделали сервис на сервере баз данных, который проверяет: если есть запрос выполняющийся больше 10 секунд, он его прибивал.

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

 

 

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

 

 

Нам удалось решить эту ситуацию:

  • Когда объект добавляется, у него остается флаг «Прочитан» = Ложь.

  • В транзакции с максимальным уровнем изоляции 1С получает эти поля, начинает объект считывать, мы ставим флаг «Прочитан» = Истина.

  • Когда приходит обновление объекта, опять ставится флаг «Прочитан» = Ложь.

  • При подтверждении чтения удаление из таблицы происходит только при условии, что ID равен ID переданного объекта и флаг «Прочитан» = Истина.

Схема простая и эффективная, позволила решить проблему с обновлением объекта. Если у вас будет подобный кейс – пользуйтесь.

Выводы по этому кейсу:

  • Сама по себе схема обмена через трансферную базу данных – неплохая. Мы применили такой прием, потому что заказчик проекта настаивал на обмене через промежуточную базу данных.

  • Буду ли я повторять? После того как я познакомился с RabbitMQ и другими технологиями, я не уверен, что буду вкладывать опять такие трудозатраты в реализацию этого кейса. Но сам по себе кейс – неплохой.

 

JSON, Rabbit и «кучка систем»

 

 

Следующий кейс – об интеграции между «кучкой систем» через JSON и RabbitMQ.

Об этом кейсе я подробно рассказывал в докладе 2019-го года. Сегодня я не буду повторять рассказ о бизнесовой «обвеске», расскажу только то, что у этого кейса внутри.

Основная проблема «кучки систем» показана на картинке слева – здесь видно, что для того, чтобы заинтегрировать между собой 4 системы, нужно 6 интеграций. Поэтому было решено реализовать промежуточную BPM-систему, с которой будут обмениваться все остальные системы, чтобы делать не шесть интеграций, а каждую систему интегрировать с шиной данных.

 

 

BPM-система принимает сообщения от запрашивающей системы, производит маршрутизацию сообщения и направляет сообщение в систему, которая обеспечивает обработку запроса. После получения ответа BPM-система возвращает ответ запрашивающей системе. Все потоки сообщений BPM-системой обрабатываются через очереди «кролика».

BPM-система плюс «кролик» – по сути, ESB-система. С одной стороны, эта система гарантирует доставку сообщений, а с другой стороны – их маршрутизацию и, возможно, трансформацию. И в BPM системе реализована некоторая бизнес-логика.

 

 

Мы сделали BPM-систему на 1С, потому что это было быстро – мы не нашли интегратора, который подписался бы под сроками, которые нам были нужны. В нашей команде профильного опыта не было, поэтому сделали на 1С.

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

 

 

Самое интересное во всем этом – мы применили подход к тому, что форматы сообщений описываются внутри BPM-системы.

Все сообщения были записаны в JSON определенного формата. На вход сценария обработки данных идет сообщение в JSON – в сообщении должен быть написан ID сценария (допустим, это будет сценарий «Получить автомобили»). Сценарий производит обработку сообщения и выдает сообщение в описанном формате.

Мы применили интересный кейс: включили моделирование бизнес-сценариев в BPM-систему. Обратите внимание: на слайде стоят цифры, это из диаграммы классов UML, там есть нотация, которая обозначает, что:

  • бизнес-сценария может не быть, поэтому связь пронумерована как 0;

  • бизнес-сценарию соответствует «Сценарий обработки данных». Причем, для одного бизнес-сценария точно должен быть хотя бы один сценарий, таких сценариев обработки данных может быть несколько (в обозначениях 0..* и 1..* «звездочка» значит «многие ко многим»)

  • и внутри каждого сценария обработки данных точно должен быть «Этап обработки данных», иначе сценарий не заработает.

 

 

Что делает сценарий обработки данных?

  • На вход идет сообщение в JSON, там указан bpm_id – ID сценария, который должен обрабатываться.

  • Этапы обработки данных производят обмен сообщениями с другими системами,

  • И на выходе сценария – ответ запрашивающей системы.

Я опять же, сделал конструктор. Внутри этапа обработки данных можно писать кодом разные обработчики – программный код для обработки входящего сообщения, программный код обработки получения ответа.

Всего на это у меня ушло порядка месяца. Разработка не очень сложная, но возможностей дала много, мы интегрировали пять систем: мобильное приложение, сайт, CRM, АБС-система, личные кабинеты.

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

 

 

Вот так выглядит сценарий, в котором мобильное приложение запрашивает список автомобилей у CRM-системы. Сверху мы задаем его код – реквизит «Код (bpm_id)».

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

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

 

 

На этом слайде показаны этапы обработки данных для сценария – тут видны условия выполнения, возможные разветвления, трансформация в основном коде этапа. Можно задать время ожидания.

Всю эту функциональность я «запилил» за месяц.

 

 

Самое интересное – для сценария и конкретного этапа обработки данных можно задать формат входящего и исходящего сообщения.

 

 

Что такое формат сообщений? Это простой иерархический справочник, который позволяет описать структуру JSON-сообщения. Когда приходит сообщение для сценария обработки данных, система проверяет, соответствует ли формат сообщения справочнику. Если не соответствует – возвращает ошибку.

На левом скриншоте – формат, описанный с помощью справочника 1С, справа – JSON, сгенерированный по этому формату (некоторый тестовый JSON, который мы использовали для тестирования системы).

 

 

Мы всю эту систему обложили тестами на Python, причем мы сделали мультипоточные тесты: на разных компьютерах запускали тестирование на много потоков.

Мой ноутбук, выдерживал всего 50 потоков тестирования. Мы арендовали виртуальные сервера для серьезного нагрузочного тестирования. Но так как это основная инфраструктурная система, это было оправданно.

 

 

Что получилось

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

  • Система получилось расширяемая – новые системы подключить очень легко.

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

  • Система показала себя устойчивой, время обработки запросов (время ответа на запрос сайта) когда система не очень загружена – 100-200 миллисекунд, но когда мы ее при тестах сильно загрузили, оно не поднималось выше 700 миллисекунд.

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

 

MongoDB

 

 

Следующий кейс – это интеграция через СУБД MongoDB, которая основана на JSON. Я не сразу понял, как с этой СУБД можно работать, но после того, как применил ее в последнем проекте, я в восторге от этой СУБД.

Не буду подробно рассказывать про формат JSON, который в ней используется, вкратце скажу, вместо таблиц в этой СУБД – коллекции.

Коллекции, в свою очередь, содержат документы. Документ – это аналог записи таблицы.

 

 

При этом каждый документ может иметь свой набор полей. Поле – как колонка таблицы.

Один документ – запись в.JSON.

 

 

Работа с MongoDB мне понравилась, потому что это удобно именно при интеграции с сайтами. Вы просто говорите вэб-программисту: «Я тебе эту таблицу в JSON раскладываю, и ты ее на главную страницу выводишь. Как я тебе положил, так же и выводишь». И с программистом просто найти общий язык, и выгружать просто.

 

 

Чтобы написать интеграцию с MongoDB на Python, мне потребовалось два часа.

В Python с MongoDB легко работать, например я применял методы – insert_many() и delete_many().

Делаете класс для обертки «питоновского» кода в COM-библиотеку и вызываете этот COMОбъект откуда хотите. Справа показан пример того, как я из 1С подключаюсь к MongoDB.

 

 

Было пару непонятных моментов, которые не испортили впечатление.

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

  • И еще меня удивило, что добавление индекса в таблицы не повлияло на время удаления и записи для нашего случая. Когда мы индексы добавили, скорость чтения возросла в десятки раз. Но мы ожидали, что сильная индексация таблиц повлияет на запись и удаление – не повлияла, что очень понравилось.

 

 

Что еще понравилось:

  • База в MongoDB занимала 18 Гб (при том, что 1С-ная база была в районе 100 Гб). Выгрузка этих 18 Гб на сервер в интернете с контролем каждой записи у нас заняла 16 часов. Казалось бы, с современными скоростями интернета это много. Но сервер, на который выливались данные, имел совсем смешные характеристики (у нас на этапе разработки на стороне WEB стояла совсем легкая, арендованная виртуалка), и такие скорости меня приятно удивили.

  • Поиск в таблице – это миллисекунды, очень здорово. Обратите внимание, у нас в MongoDB все данные хранились всего в двух таблицах – т.е. примерно по 9 Гб на таблицу.

  • Очень легко было работать с веб-разработчиком. Говоришь ему: «Вот таблица, ты ее выводишь». Они JSON хорошо понимают. Я эти таблицы спроектировал и все было очень просто и понятно.

 

 

И, конечно, как вы поняли из предыдущих кейсов, я очень люблю пилить конструкторы, поэтому запилил конструктор по трансформации данных реляционной СУБД в нереляционную MongoDB, но расскажу вам об этом в следующий раз.

Кейсы 2-4 я реализовал вместе в Даниилом Коневым (DaGlob).

Надеюсь, вам было интересно.

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на онлайн-митапе "Интеграционные решения в 1С". Больше статей можно прочитать здесь.

Приглашаем всех 11-12 ноября принять участие в INFOSTART EVENT 2021 в Москве: //infostart.ru/events/1451228/

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 115 01.08.21 17:14 Сейчас в теме
Годные случаи сопряжения расписаны.

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

Случай 2

Этот случай сопряжения можно было сделать через промежуточную базу на postgresql.
Данная бд куда ближе 1Сной стопке технологий, чем MySQL.

Случай 3

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

Случай 4

Вроде здесь тоже для сопряжения напрашивается применение postgresql.
В postgresql давно есть почти полноценная поддержка json.
А сам postgresql к стопке около 1Сных технологий куда ближе, чем Mongodb.

Хотя, лишь бы работало и купцы были довольны :)

---

Четвертую переделку этой же темы ждать ? ;)
На моей памяти это третья про эти случаи сопряжения :)
Оставьте свое сообщение

См. также

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

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

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

03.09.2019    14775    m-rv    2    

Собираем данные для отчетов из +100 баз

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

Ведущий разработчик ГАОУ ДПО ТемоЦентр Василий Попов на онлайн-митапе Инфостарта «Интеграционные решения в 1С» поделился кейсом о том, как собрать данные для отчетов из +100 баз, какой стек технологий для этого использовать, и к каким проблемам нужно быть готовым.

23.07.2021    1683    pallid    8    

Описание формата 1С JDTO (JSON data transfer object)

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

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

16.07.2021    5749    zhichkin    32    

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

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

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

13.05.2021    2394    Flover    0    

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

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

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

30.04.2021    3516    ripreal1    13    

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

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

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

15.02.2021    1033    YuriYuriev    0    

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

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

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

12.02.2021    1639    Koder_Line    6    

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

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

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

28.12.2020    3697    SizovE    25    

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

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

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

17.11.2020    2122    SizovE    2    

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

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

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

10.11.2020    7081    maks_20    26    

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

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

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

17.10.2020    996    malikov_pro    3    

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

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

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

01.10.2020    2987    impextr    32    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 3 - ElasticSearch

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

Как в статье №1 этого цикла выгрузим через прослойку журнал регистрации (xml формат) в ElasticSearch. Статья будет иметь практическую направленность в минималистичном стиле

14.09.2020    2091    dmitry-irk38    4    

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

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

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

19.08.2020    4356    Yashazz    14    

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

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

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

06.07.2020    4142    Infector    4    

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

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

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

30.06.2020    2546    malikov_pro    7    

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

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

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

24.06.2020    2221    direwest    4    

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

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

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

23.06.2020    9684    IssakN    37    

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

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

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

17.06.2020    12500    John_d    16    

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

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

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

01.06.2020    13025    zhichkin    36    

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

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

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

31.05.2020    3842    barelpro    63    

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

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

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

12.05.2020    6248    zhichkin    31    

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

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

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

08.05.2020    5749    chernenko_vv    26    

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

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

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

08.05.2020    3095    vostok1.dz    3    

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

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

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

04.05.2020    4827    RPGrigorev    0    

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

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

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

02.05.2020    5089    maxlab    16    

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

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

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

26.04.2020    6169    RPGrigorev    0    

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

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

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

06.04.2020    5849    Flyerink    2    

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

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

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

31.03.2020    15684    informa1555    35    

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

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

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

23.03.2020    4265    zhichkin    9    

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

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

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

02.03.2020    9043    RPGrigorev    3    

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

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

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

24.01.2020    6659    e-9    8    

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

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

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

23.09.2019    9050    malikov_pro    11    

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

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

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

18.09.2019    19807    feva    43    

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

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

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

15.07.2019    5496    ShurikDM    4    

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

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

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

22.06.2019    7458    antonovintervolga    6    

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

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

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

12.04.2019    7983    n.saltsina    14    

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

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

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

21.03.2019    30261    barelpro    87    

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

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

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

01.02.2019    14402    VKuser24804875    33