А вот и Шина подъехала! Часть 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%

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

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

55778 50200 руб.

04.08.2015    167289    340    278    

376

SALE! 15%

Перенос данных 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 руб.

12.06.2017    142259    803    297    

423

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

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

35000 руб.

15.12.2021    24374    172    51    

131

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

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

35000 руб.

23.07.2020    52020    229    72    

187

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

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.

25.09.2016    81036    315    250    

268

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

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 руб.

18.02.2016    187223    591    513    

529

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

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

60000 руб.

05.10.2022    10959    13    8    

15

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

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

84000 руб.

19.08.2020    25292    22    1    

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

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

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


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

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

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

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

Я вчера через Postman повторил взаимодействие по получению каналов.
11. starik-2005 3092 17.08.23 15:19 Сейчас в теме
(8)
Вообще-то через токен и работает
Так я-то о другом. Я о том, чтобы шина обрабатывала вызовы не из тех баз (тестовая, стенд, девлоп, ...), отклоняя их при попытке получить токен. Т.е. чтобы сравнивала конкретный вызывающий инстанс с первоначально авторизованным.
ixijixi; dsdred; +2 Ответить
9. gybson 17.08.23 15:07 Сейчас в теме
Пока выгладит такой же полезной, как система взаимодействия.
Westbound; ixijixi; Darklight; +3 Ответить
21. Darklight 33 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 3841 17.08.23 15:42 Сейчас в теме
(9) встречал базы с обменом на rabbit mq - вполне жизнеспособная вещь.... но, понимание конвертации она никому не заменит)
Алексей Воробьев; +1 Ответить
14. w.r. 650 17.08.23 19:14 Сейчас в теме
(12) а зачем понимание конвертации, если можно просто разбирать json и xml произвольный
16. Алексей Воробьев 281 17.08.23 19:34 Сейчас в теме
(13)
(14) Можно и разбирать...особенно непринужденно это делать с тремя-пятью уровнями вложенности справочников-документов и еще чего-нибудь)
Актуальность той же КД2 еще жива и будет жить пока непрогнозируемо долго...
26. w.r. 650 22.08.23 04:16 Сейчас в теме
(16)

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

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

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

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

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

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

А результаты в виде этого небольшого цикла статей (вероятно, в две части не уложусь) будут представлены "на широкую публику", чтобы сообществу "щупать" пришлось меньше :-)
23. avbolshakov 18.08.23 12:28 Сейчас в теме
(19) спасибо. и спасибо вам за статью. тема интересная, информации мало. может вендор всё таки придумает тестовую версию. ну или кто-то из моих знакомых купит)
Алексей Воробьев; +1 Ответить
13. w.r. 650 17.08.23 19:05 Сейчас в теме
Только, в отличие от того же Rabbit, эта шина денег стоит
17. dsdred 3644 18.08.23 07:49 Сейчас в теме
(13)В отличие от Rabbit, это ESB продукт.
Алексей Воробьев; +1 Ответить
20. Darklight 33 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. Алексей Воробьев 281 18.08.23 11:58 Сейчас в теме
(20)Ваши два коммента на отдельную статью тянут :-)
Конечно, есть в Вашей сумбурной оценке и большая доля горькой правды... Но, как мне кажется, эмоций все-таки больше, извините)

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

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

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

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

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

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

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


П.С. Если быть откровенным до конца. Меня подбешивает, что только для франчей у 1С есть NFR лицензии, которые в разы дешевле. Давно пора дать их покупать разработчикам.
27. dkoder 6 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. Алексей Воробьев 281 23.08.23 10:34 Сейчас в теме
(27)
1) На платформе для учетных систем делать транспортную? Такое себе, на мой взгляд.

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

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

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

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

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

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

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

2. MDM система, как провести проверку одинаковости данных в двух системах регламентной операцией? Да можно все сделать через (_!_), но можно сделать через http сервис, при этом в одной сессии интеграции.
32. KilloN 59 29.06.24 10:25 Сейчас в теме
(30)
выкрутится можно, не спорю, но смысл в Шине1С как продукт из коробки - пропадает окончательно


Полностью согласен!
Большая часть обменов со сторонними системами, под которые приходится подстраиваться
Оставьте свое сообщение