А вот и Шина подъехала! Часть 1

24.08.23

Интеграция - Обмен между базами 1C

Кому и для чего нужна 1С:Шина? Какие проблемы она решает, а каких добавляет? Без глубокого погружения в справочную информацию и без трансляции банальных примеров использования попробуем подойти к концепции, позволяющей эффективно использовать этот для многих непонятный пока продукт. Несколько практических аспектов работы как непосредственно с самой Шиной, так и работы с ней со стороны конфигурации 1С: формат сообщений и как его использовать, синхронный обмен, несанкционированный обмен и прочее...

Ссылки на статьи

Следующие части статьи здесь:

А вот и шина подъехала! Часть 2
А вот и Шина подъехала! Часть 3. Итоги

Ну, не то чтобы только что "подъехала"...
На ИС уже есть публикации по теме:

Со всем уважением к "первопроходцам"... Но!

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

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

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

 

Немного теории

Я не хочу копипастить в статью всего того, что о возможных причинах использования 1С:Шины говорит сама 1С. Эта страничка содержит основную информацию для тех, кто вообще не представляет, о чем идет речь, или имеет самое поверхностное представление. "Паучок" на рисунке оттуда призван показать вам, как может использоваться Шина:

 

 

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

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

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

Я бы хотел остановиться на трех основных, на мой взгляд, моментах, описанных в разделе "Преимущества" на презентационной страничке 1С:

  1. Единая точка входа/выхода для всех систем
  2. Удобство администрирования и поддержки
  3. Гарантированная доставка сообщений

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

Основная функция Шины - транспорт сообщений между информационными системами. И всё!

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

Шина не решает вопросы интеграции "комплексно". Она не обладает волшебной кнопкой "Интегрировать все!". Всю механику обмена, все нюансы перетекания данных из одной системы в другие все равно реализовывают разработчики-интеграторы. И они при этом используют привычные инструменты: КД2, Enterprise Data (КД3), JSON и т.д. и т.п.

Шина же просто должна "правильно" переправить данные, не потеряв их ("преимущество" № 3) и не отправив "не по адресу".

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

А если в информационной инфраструктуре организации задействовано более чем две-три различные информационные системы, то и здесь можно дровишек наломать.

Уже всего три системы, активно обменивающиеся несколькими наборами данных по различным протоколам как синхронно, так и асинхронно, используя при этом и КД2, и КД3 и еще что-нибудь, могут породить такое хитросплетение интеграционных потоков, что описать их будет достаточно сложно, а актуализировать описание при доработках нисколько не проще.

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

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

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

Но, как показывает практика, целостность описания интеграционных систем зачастую имеет достаточно плачевный вид. Особенно в организациях, интеграцию в которых реализуют сразу несколько подрядчиков: с сайтом одни, с ЗУПом другие, с CRM третьи.

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

Даже если говорить только про конфигурации 1С.

Настройка адресации транспортировки информационных сообщений для каждой пары отправитель-получатель настраивается чаще всего в узлах планов обмена в каждой информационной системе-источнике отдельно. Настройка работы различных http-сервисов или веб-сервисов хорошо если хоть как-то описана в данных (константах или регистрах сведений), которые можно изменить. А зачастую можно и в программном коде прямое обращение "по адресу" увидеть...

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

И тут вот она - 1С:Шина! Я, говорит, обеспечу вам "Единую точку входа/выхода для всех систем"!

И это, безусловно, уже интересно. Хорошее объединяющее все информационные системы начало. Но само по себе - пока бесполезное...

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

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

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

Или будете опять городить огород из неуправляемой кучи систем с индивидуальными настройками в каждой из них по отдельности и еще немного в Шине.

В итоге выхлоп от Шины будет нулевой, если не отрицательный...

В БСП никаких намеков на подобный функционал я не нашел... а может, так и не найду никогда - есть сервисы интеграции в конфигурации для работы с Шиной и будя с вас...

Значит, писать опять самим :-)

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

 

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

Сообщения обмена данными

Информационные сообщения, которыми обмениваются системы с помощью Шины, в 1С имеют тип СообщениеСервисаИнтеграции, а в самой Шине - СообщениеИнтеграции.

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

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

То есть, создавая сообщение на стороне отправителя, мы полностью управляем его адресацией.

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

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

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

Можно, например, сформировать тело сообщения с помощью КД2 и передать эту информацию получателю, который будет знать что именно с этим сообщением сделать - загрузить с помощью обработки УниверсальныйОбменДаннымиXML.

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

 

Несанкционированный обмен

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

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

 

 

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

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

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

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

 

Синхронный обмен

Возможен ли синхронный обмен через Шину?

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

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

К теме: реализовать синхронный обмен через Шину все-таки возможно! Подробнее чуть ниже...

Пока же можно поднять вопрос о целесообразности синхронного обмена - нужен ли он в принципе? Уже предвижу возмущенные возгласы "из зала": да как же без него? у нас тут столько http- и веб-сервисов во всех базах по кругу! Это же так удобно: спросил здесь и сейчас соседнюю систему, получил быстрый ответ, реализовал по ответу бизнес-логику и вуаля! Быстро, качественно и недорого)...

Да, конечно, спорить сложно, удобно.
Но реализация синхронного сервиса подразумевает все-таки кое-какие затраты времени разработчиков. А сам сервис подразумевает работоспособность системы в тот момент когда ее спрашивают.
И, если запрашиваемая система недоступна, то текущая операция в запрашивающей системе не сможет быть выполнена. Таким образом, "неработающими" станут уже две системы, пусть одна из них только частично.
Тут вопрос в критичности запрашивающей данные операции - насколько она важна для текущей работы? А если очень важна?

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

Ну, например.
В одной системе порождаются некие документы и вторичная их обработка производится уже во второй системе, в которую они попадают...даже неважно как. Важно, что после обработки во второй системе они должны быть заблокированы для изменения в первой.
Можно при каждой попытке изменения документа в первой системе спрашивать "синхронно" вторую - не обработан ли там этот самый документ?
А можно при обработке документа во второй системе асинхронно отправлять информацию об этом в первую и сохранять там в каком-то блоке данных. Если это 1С, то в регистре сведений, например. Причем в расширении. Что позволит даже не снимать типовую конфигурацию с поддержки.
Ну, и, соответственно, запрашивать нужную информацию в системе нужно уже у "своего" регистра.

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

Минусом такого асинхронного подхода может являться некоторая избыточность данных - данные о факте обработки документа во второй системе будут храниться дополнительно в первой системе. Но кто в наше время смотрит на дисковое пространство?) Плюс объем этих данных не будет очень уж большим при правильном подходе.

Вернемся к основному вопросу: как, все-таки, можно организовать синхронный обмен данными через Шину?

Обмен этот будет именно что через Шину. То есть, Шина выступит в роли прокси-сервера.
Изобретать http- или веб-сервис в запрашиваемой системе все-таки придется. Ну, или использовать уже готовый.

Как реализовать на практике? Разберем на примере реализации http-сервиса в некой базе 1С.
Предположим, что база эта подключена к некоему приложению Шины. В общем и целом, это, конечно, необязательно. Но если мы не используем шину, то зачем она нам вообще в качестве какого-то прокси? Можно же "спросить" напрямую.
А если используем, то такими синхронными запросами также можно управлять, а заодно и документировать их использование, с помощью все той же единой системы управления обменом данными.

Итак, база 1С подключена к приложению Шины.

Теперь немного трэша со скриншотами и кодом, хотя и не хотел раздувать этим статью (закрываю под спойлер)

 
 Описание доработки проекта в 1С:Шине для реализации синхронного обмена

Все это, несомненно, имеет право на жизнь. Но, по факту, это костыль, без которого вполне можно обойтись, если использовать все-таки всегда асинхронный обмен.

 

Продолжение следует...

На этом я завершу первую часть статьи. Она и так получилась несколько больше, чем я рассчитывал.

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

Шина обмен данные канал сообщение интеграция конвертация EnterpriseData управление регистрация отправка получение

См. также

SALE! 10%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

Перенос данных 1C Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

50722 45650 руб.

04.08.2015    160829    357    268    

349

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

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

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    135911    732    291    

393

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

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

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

38500 34650 руб.

15.04.2019    69106    181    139    

111

SALE! 10%

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники

Перенос данных 1C Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В продаже с 2014г. | Воспользовались более 122 предприятий! | Перенос данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных)

50722 45650 руб.

31.10.2014    232614    126    327    

298

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.226.x) и БП 3.0 (3.0.151.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    20752    136    38    

95

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 руб.

23.07.2020    47019    201    64    

162

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

48278 43450 руб.

03.12.2020    34577    83    58    

81

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

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

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 руб.

10.07.2018    67983    41    123    

46
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. quazare 3614 16.08.23 12:50 Сейчас в теме
2. van_za 246 16.08.23 21:15 Сейчас в теме
спасибо, как раз хотел получить общее представление
3. dsdred 3333 17.08.23 08:48 Сейчас в теме
Добрый день, спасибо за упоминание статей.

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

С удовольствием почитаю про ваш опыт.
Алексей Воробьев; +1 Ответить
4. lada2011 17.08.23 09:53 Сейчас в теме
Установили Шину, работаем, разобрались с настройками. Настроить УПП для подключения к шине можно в режиме запуска Тонкого клиента, только в этом случае появляется пункт меню "Функции технического специалиста" и можно настроить Сервисы интеграции. В режиме Толстого клиента нет доступа к настройкам Сервисов интеграции (в этом была загвоздка с настройками к подключению УПП к Шине). Настраиваем Сервисы интеграции в конфигураторе, а затем в режиме Предприятия повторяем настройки Сервисов интеграции (ввод Логина и пароля). Зачем так сделано непонятно.
На ИТС описание работы и настройки шины достаточно, нужно читать внимательно и последовательно выполнять настройки.
Так что будем обмениваться опытом
5. Алексей Воробьев 302 17.08.23 10:19 Сейчас в теме
(4)
Настраиваем Сервисы интеграции в конфигураторе, а затем в режиме Предприятия повторяем настройки Сервисов интеграции (ввод Логина и пароля). Зачем так сделано непонятно.


В режиме конфигуратора просто описывается сервис интеграции и его каналы, которые можно с помощью подключения из конфигуратора к шине "подгрузить" в конфигурацию.
В пользовательском же режиме вы уже реально подключаете базу к Шине, указывая параметры подключения, устанавливаете флаг использования сервиса.
Именно в пользовательском режиме вы должны будете изменять параметры подключения, если будете получать у Шины новые ключи для базы или если переустановите шину на другой сервер. Уже без какого-либо изменения конфигурации и без необходимости динамически обновлять базу или выгонять пользователей
7. dsdred 3333 17.08.23 13:47 Сейчас в теме
(4)Заберите обработку да нарисуйте обычные формы ))

&НаСервере
Процедура StandardIntegrationServicesManagmentНаСервере()
	 
КопироватьФайл("v8res://mngbase/StandardIntegrationServicesManagment.epf","D:\StandardIntegrationServicesManagment.epf");

КонецПроцедуры
zakiap; Алексей Воробьев; +2 Ответить
6. starik-2005 3040 17.08.23 10:45 Сейчас в теме
Вот эта вечная проблема с тестовыми контурами. И ведь решается-то просто - захешировать в токен доступа строку подключения к базе, но ведь нет, мы такого не умеем. Детский сад, штаны на лямках.
zakiap; Светлый ум; Алексей Воробьев; +3 Ответить
8. dsdred 3333 17.08.23 14:09 Сейчас в теме
(6)Вообще-то через токен и работает))

Через Post метод происходит Base аутентификация которая возвращает Bearer токен и дальнейшее взаимодействие с Шиной происходит по полученному Bearer токену. Просто мы этого не видим.

Я вчера через Postman повторил взаимодействие по получению каналов.
11. starik-2005 3040 17.08.23 15:19 Сейчас в теме
(8)
Вообще-то через токен и работает
Так я-то о другом. Я о том, чтобы шина обрабатывала вызовы не из тех баз (тестовая, стенд, девлоп, ...), отклоняя их при попытке получить токен. Т.е. чтобы сравнивала конкретный вызывающий инстанс с первоначально авторизованным.
ixijixi; dsdred; +2 Ответить
9. gybson 17.08.23 15:07 Сейчас в теме
Пока выгладит такой же полезной, как система взаимодействия.
Westbound; ixijixi; Darklight; +3 Ответить
21. Darklight 32 18.08.23 11:25 Сейчас в теме
(9)Плюсанул - потому что у 1С оно всегда так! Но на самом деле и у системы взаимодействия, и у системы шины - реально потенциал очень большой и востребованный! Но 1С его просто развить пока никак не может! И, мне кажется, для 1С Предприятие 8 - это уже не реально (по маркетинговым и некоторым техническим соображениям).

Но если делать абсолютно новую платформу будущего - а-ка 1С Предприятие 9 - вот там бы я на этих двух системах сразу бы делал основной акценте - и сразу бы интегрировал бы их в базу платформы (ну хотя бы чт-то выше базовой/экспресс редакции, предназначенных для эксплуатации в среде не более чем 10 пользователей и пары конфигураций у организации). И конфигурации сразу надо разрабатывать с большим прицелом на эти системы. И так же проводить маркетинговую компанию - акцентируя внимание на глубоком применении этих систем как важном конкурентном преимуществе и отличии от других продуктов, в т.ч. от 1С Предприятие 8). Заодно и более активно развил бы идею бизнес-процессов (а то сейчас полный тухляк - а могло бы быть очень круто - если сразу бы активно встраивалось в типовые конфигурации, а платформа предоставляла бы больше возможностей) - тут можно изначально делать ставку на применение NoCode разработки, в т.ч через БП, которые так же активно надо подвязать на систему взаимодействия, шину и AI компаньонов!

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

P.S.
Ну и, до кучи, в новой платформе так же стоит сразу развивать модульность, микросервисной архитектуру и распределённость хранения и обработки данных - не как какие-то надстройки - а в виде комплексного подхода представления архитектуры платформы и построенных на ей решений - с изначальной поддержкой этих фишек, и активной маркетинговой презентации их применения. И спецов для такой платформы сразу тоже готовить с прицелом на активное изучение всех этих фишек!
ixijixi; Алексей Воробьев; +2 Ответить
10. avbolshakov 17.08.23 15:09 Сейчас в теме
Ведь ничего не изменилось - протестировать шину без покупки нельзя?
12. quazare 3614 17.08.23 15:42 Сейчас в теме
(9) встречал базы с обменом на rabbit mq - вполне жизнеспособная вещь.... но, понимание конвертации она никому не заменит)
Алексей Воробьев; +1 Ответить
14. w.r. 644 17.08.23 19:14 Сейчас в теме
(12) а зачем понимание конвертации, если можно просто разбирать json и xml произвольный
16. Алексей Воробьев 302 17.08.23 19:34 Сейчас в теме
(13)
(14) Можно и разбирать...особенно непринужденно это делать с тремя-пятью уровнями вложенности справочников-документов и еще чего-нибудь)
Актуальность той же КД2 еще жива и будет жить пока непрогнозируемо долго...
26. w.r. 644 22.08.23 04:16 Сейчас в теме
(16)

Вложенность не проблема. Элементы цепляются по уид друг к другу
31. gybson 28.08.23 10:15 Сейчас в теме
(14) просто разбирать json и xml это и есть конвертация =)
15. Алексей Воробьев 302 17.08.23 19:29 Сейчас в теме
(10) Тут вопрос: а в каких "разрезах" вы собираетесь ее тестировать?
Производительность? Передача больших и сверхбольших пакетов данных? Тесты разных вариантов использования?
Просто "пощупать" хотите?

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

Какие ставки ваших топовых сотрудников, способных это делать?

В итоге, стоимость самой Шины может стать малозначимой... На первую строчку по значимости должна встать реальная потребность в управлении интеграционными процессами
dsdred; quazare; +2 Ответить
18. avbolshakov 18.08.23 09:12 Сейчас в теме
(15) я неверно выразился, вы сказали точнее - "пощупать". у меня нет сотрудников, я сам сотрудник. вот я как сотрудник (разработчик) хотел бы "пощупать" эту самую шину, в тестовом контуре ее настроить. может быть после этого я бы пришёл к работодателя и сказал, что надо купить. но сказать - "покупайте, я почитал статьи и видео посмотрел ..." ... ну такое
19. Алексей Воробьев 302 18.08.23 10:23 Сейчас в теме
(18) На "пощупать" нам строго конфиденциально давал дистрибутив один знакомый франч. "Пощупали" около месяца и купили. Версия релиза убежала вперед пока щупали.
Дальше продолжали щупать уже официально и все еще не имея четкого представления как именно будем использовать и что именно для этого и в каких объемах нужно делать.

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

На текущий момент разочарования нет, сделаны выводы, намечен твердый путь, по которому планомерно движемся.

А результаты в виде этого небольшого цикла статей (вероятно, в две части не уложусь) будут представлены "на широкую публику", чтобы сообществу "щупать" пришлось меньше :-)
23. avbolshakov 18.08.23 12:28 Сейчас в теме
(19) спасибо. и спасибо вам за статью. тема интересная, информации мало. может вендор всё таки придумает тестовую версию. ну или кто-то из моих знакомых купит)
Алексей Воробьев; +1 Ответить
13. w.r. 644 17.08.23 19:05 Сейчас в теме
Только, в отличие от того же Rabbit, эта шина денег стоит
17. dsdred 3333 18.08.23 07:49 Сейчас в теме
(13)В отличие от Rabbit, это ESB продукт.
Алексей Воробьев; +1 Ответить
20. Darklight 32 18.08.23 11:03 Сейчас в теме
Эх... прочитав начала описания 1С:Шины с официального сайта - первая мысль: о - неплохо для 1С, но уже дочитав его до конца - понял, что - не так уже не плохо - а всё как всегда у 1С. И данная статья лишь подчеркнула эту мысль.
Вот, мне сложно понять тогда конкурентное преимущество шины от 1С за достаточно большие бабки (и да, я так и не понял - причём тут сотни пользователей, которые с этой шиной не работает, от которых зависит стоимость лицензии)?
Вот что сразу представлялось, а его то и нет:
1. Простота интеграции - увы относительная простота заканчивается на уровне рисования схемой во встроенном редакторе схем платформы 1С Элемент - дальше всё-равно нужно писать некоторый объём программного - как в самой 1С Шине так и в интегрируемых системах (даже от самой 1С)
2. Готовые коннекторы - это, конечно, хорошо- плохо, что они все фиксированные и нет возможности создавать свои (по сути тут уже можно ложить систему в гроб, хотя множество готовых коннекторов всё-таки не позволяют заколотить крышку - многим их с лихвой хватит, наверное). И вообще про готовые коннекторы слишком мало информации - вообще считай нет - что там за черные ящики, которые всем подойдут - не понятно!
3. Преобразование сообщений - оно есть ли вообще - для 1С:Шины сообщение это просто кучка бинарных данных - не никакой встроенной (и настраиваемой) возможности преобразовывать сообщения между разными форматами - я то губу раскатал, что мол это очередное развитие (хотя бы) Enterprise data - когда все настройки преобразования можно реально разместить в одном месте (в 1С Шине) - и не задумываться о том, какой формат у отправителя и получателя (в т.ч. при отправках данных сразу нескольким получателям), и какие там есть новые конечные реквизиты или их нет; и не сильно задумываться об прогрессе версий форматов, скажем, при обновлении баз - когда часть обновилась, часть ещё нет - и данные идут в разных версиях форматов. Всё по-прежнему на плечах Конвертации данных и программистов в рамках платформы 1С Предприятие 8 (ну или других систем)
4. Трансформация сообщений - не понял о чём ту речь - если для Шины сами сообщения - это просто бинарник - что тут можно говорить только о смешен формата-контейнера - то ещё достижение!
5. Механизмы контроля и мониторинга - что-то я пока не увидел достойных механизмов контроля - даже банальных алёртов о доставке/недоставке сообщений - ведь по сути - это тоже сообщения и всё это так же должно настраиваться в шине. Не говоря уже о контроле форматов потоков.

Может, я, конечно, ничего не понял - а я знаю, что я ничего не понял - но пока я не вижу тут никаких весомых конкурентных преимуществ по сравнению с RabbitMQ или Kfaka или ещё каких-то других известных шинах данных. А вот не малую цену сразу увидел - и не понятно за что?

По сути, шину обмена такого уровня как 1С:Шина можно и самостоятельно написать для 1С, в нужном ограниченном объёме форматов и канторов (и я даже знаю, что такие самописки у ряда корпов давно существуют, наряду с интеграцией с готовыми шинами не из мира 1С) - но, безусловно, это будет стоить несколько больше пары сотен тысяч рублей - зато будет гибче и понятнее в эксплуатации, а главное - все права на продукт свои эксклюзивные - делай что хочешь ставь/передавай/продавай/сдавай в аренду кому хочешь - тут корпы (и проф разработчики) меня поймут!


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

Ну а лицензионная политика по числу каких-то мнимых пользователей - так вообще какой-то швах. Ну если хотели разделить продукт на разные уровня - ну так привязались бы на физические узлы и/или количество каналов в схеме (или между узлами), готовые коннекторы, объёмы эффективной погрузки данных (для фиксированного железа), например простая система могла бы быть однопоточной, средняя многопоточной с продвинутым кешированием, максимальная - кластерной, с продвинутым менеджером нагрузки/отказоустойчивости и оптимизацией дисковой и сетевой нагрузки (с учётом особенностей распределённой железной платформы).... ах да - 1С Шина же это ничего вообще не умеет - но денег хочет! На мой взгляд тот уровень шины, что есть сейчас практически соответствует условно бесплатному продукту (в довесок к 1СПредприятие - ну могли бы одну клиентскую лицензию расходовать, а ну да - это же платформа 1С Элемент - тут соя система лицензирования) - цена его не более 20-30 тыс руб т.е. уровень 1С Бухгалтерия или 1С Торговля, но скорее вообще 0 рублей, по крайней мере на текущем этапе реализации! Ну можно было бы за 0 рублей отдавать голый продукт - а за некоторые расширения (коннекторы, конверторы) брать отдельно небольшую мзду (до 10 тыс руб за штуку), не запрещая создавать свои! А как есть сейчас - не взлетит!
KilloN; ye_s; dkoder; starik-2005; +4 Ответить
22. Алексей Воробьев 302 18.08.23 11:58 Сейчас в теме
(20)Ваши два коммента на отдельную статью тянут :-)
Конечно, есть в Вашей сумбурной оценке и большая доля горькой правды... Но, как мне кажется, эмоций все-таки больше, извините)

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

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

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

И будем работать: допиливать допиливаемое, исправлять ошибочное, добавлять не хватающее...

Когда системы NoCode заполонят рынок, мы будем делать то же с ними, забыв про программирование в том виде, в котором оно существует сейчас :-)
24. Darklight 32 18.08.23 13:15 Сейчас в теме
(22)Может комментарий и сумбурный, но не хуже, чем официальное описание на сайте 1С.
А насчёт конкуренции - с шинами данных как раз всё проще - это не такой уж сложный (и привязанный к особенностям ведения бизнеса) продукт - конкуренция как раз вполне активная присутствует и в России. Но некоторая часть программистов "сетовала", что нет шины от компании 1С - они слышали - они сделали - но оно в таком виде кому надо-то, да ещё за такие деньги. Но я не спорю - такой продукт найдёт своего потребителя, но массовым не станет (впрочем шина массово и не нужна даже задарма никому, если специально активно маркетингом и примерами массовых продуктов это не продвигать). Не каждый же готово лабать свою шину данных или кустарно прикручивать чужую (хотя я знаком с теми, кто делал и свою продвинутую шину данных, и прикручивал чужую). Вот только и родную 1С:Шину (не дешёвую) так же придётся кустарно прикручивать без каких-либо весомых преимущество - разве что "поддержка" со стороны 1С, ну и, со временем, от партнёров (и включение в реестр российского ПО) - могут тут немного посодействовать!
Westbound; dimaster; Алексей Воробьев; +3 Ответить
25. dsdred 3333 18.08.23 18:26 Сейчас в теме
(20)на счет цены. посмотрите datareon цены
https://datareon.ru/products/integratsiya-prilozheniy-esb-mq/litsenzionnaya-politika-esb-mq/
И ее берут... И никого не смущает цена.

Да, есть бесплатные продукты, есть "бесплатные" с платной подпиской для поддержки и цена там огого.

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


П.С. Если быть откровенным до конца. Меня подбешивает, что только для франчей у 1С есть NFR лицензии, которые в разы дешевле. Давно пора дать их покупать разработчикам.
27. dkoder 5 23.08.23 10:05 Сейчас в теме
1. Главный вопрос Шины - накой?
накой было делать отдельным сервисом - когда платформа 1С все это умеет?
накой городить скриптовый язык - когда платформа 1С все это умеет, и гораздо лучьше?
накой мучатся с лицензиями - когда платформа 1С все это могет?
накой делать неконфигурируемую платформу - когда платформа 1С ...?

маркетинговый хлам

можно было просто отдельную конфу запилить, плюс расширение для баз


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

Вызов через фоновое


3. на счет синхронности - для меня главная фишка, что я могу распределенную транзакцию сделать

поделюсь наработками, идея достойно работает с 18 года на разных проектах
смысл интеграции в среде 1С - через ЗначениеВСтрокуВнутр можно комфортно работать с данными 1С
плюс добавление в язык запроса УНИКАЛЬНЫЙИДЕНТИФИКАТОР() решило кучу проблем
например, проверить по 8 реквизитам разницу в значениях в 100+ тыщ номенклатуры выполняет за минуту
Прикрепленные файлы:
DBus_20230823_0950.cf
dbus_20230719_1716.cfe
dbusПолучитьТЗПоЗапросу_20230328.epf
dbusПолучениеДанныхЗапросаИзИС_УФ_20230406.epf
Алексей Воробьев; +1 Ответить
28. Алексей Воробьев 302 23.08.23 10:34 Сейчас в теме
(27)
1) На платформе для учетных систем делать транспортную? Такое себе, на мой взгляд.

Как принимать Шину каждый решает для себя сам. Вопрос "религии"...

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

2) Зачем проверять строку соединения на клиенте? Или я чего-то не понял? И зачем тогда "фоновое"? Чтобы совсем абстрагироваться от клиента? С подобным не сталкивался, к сожалению...или к счастью)

3) Круто! А разработка нигде не описана? Может, стоит выложить разработку полноценно?
29. dkoder 5 23.08.23 11:20 Сейчас в теме
1. (28)
Я с помощью этого цикла статей всего лишь пытаюсь донести до сообщества максимум информации для того, чтобы каждый для себя мог принять решение...
за что и спасибо (без иронии).

2.
Зачем проверять строку соединения на клиенте? Или я чего-то не понял?
если обмен инициирует клиент, то обращается к серверу узнать строку соединения, так вот она может отличатся для разных клиентов, в части алиаса сервера. такое было пару раз за 6 лет.
Если используется только регламентный обмен, то такого не возникало

3.
Круто! А разработка нигде не описана? Может, стоит выложить разработку полноценно?
в одно лицо не потяну "полноценно", надо много чего сделать и улучшить. Потом это еще и MDM система, там вообще много чего прикручивать еще, и переосмыслять гипотезы и выравнивать теорию, и опробывать на практике. Опять же документация нужна. При этом выхлоп от всей этой деятельности неочевиден. Если кому идеи помогут, буду рад.
Алексей Воробьев; +1 Ответить
30. dkoder 5 24.08.23 11:37 Сейчас в теме
1. Опять же вопрос интеграции с не 1С системами, например с iiko (рестаранный бизнес) где только API, или Lotsia PDM где вроде через OLE можно, но не точно, или Directum в котором нужно интерактивную (условно синхронный обмен) работу пользователя делать?

выкрутится можно, не спорю, но смысл в Шине1С как продукт из коробки - пропадает окончательно

2. MDM система, как провести проверку одинаковости данных в двух системах регламентной операцией? Да можно все сделать через (_!_), но можно сделать через http сервис, при этом в одной сессии интеграции.
Оставьте свое сообщение