Сервисы интеграции без Шины и интеграции

13.03.24

Разработка - Механизмы платформы 1С

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

Скачать исходный код

Наименование Файл Версия Размер
Расширение для статьи "Сервисы интеграции без Шины и интеграции"
.cfe 10,51Kb
34
.cfe 1.0.0 10,51Kb 34 Скачать бесплатно
Обработка для статьи "Сервисы интеграции без Шины и интеграции"
.epf 8,83Kb
37
.epf 1.0.0 8,83Kb 37 Скачать бесплатно

Статья создана для того, чтобы развеять миф: «Сервисы интеграции» — это только коннектор для Шины.

Покажу пример с «ПоказатьОповещениеПользователя», в этом примере не будет Шины от слова совсем.

 

У меня была не самая свежая БСП 3.1.6.118, на ней и буду демонстрировать, но вообще не принципиально.

В БСП есть расширение «_ДемоПустоеРасширение», в нем создал «Сервис интеграции» и Канал «_ОповещенияПользователей» для отправки:

 

 

В БСП есть форма текущие дела, добавим ее в расширение «_ДемоПустоеРасширение»:

 

 

 

 

Добавим обработчик события формы ПриОткрытии (После): _ДемоПустоеРасширениеПриОткрытииПосле

 
 Добавим на форму код:

 

Пояснение по коду:

  1. В обработчике события «ПриОткрытии» считываем параметры текущего пользователя и запускаем обработчик ожидания раз в 15 секунд. Параметры пользователя нам нужны для поиска сообщений, адресованных только ему.
  2. В обработчике считываем сообщения и выводим в цикле их содержание используя функционал «ПоказатьОповещениеПользователя».
  3. После вывода оповещения удаляем сообщения.

Расширение приложено к данной статье «_ДемоПустоеРасширение.cfe»

 

Активируем «Сервис интеграции» воспользовавшись типовой обработкой или обработкой «Настройка сервисов интеграции».

 

 

Никакие параметры не заполняем, так как мы к Шине не цепляемся.

 

Для примера я создал обработку, которую приложил к данной статье «СоздатьСообщениеДляОповещения.epf»

 

 

 
 Код обработки:

 

Пояснение по коду:

1         В обработчике события «ПриСозданииНаСервере» добавляем список сервисов и каналов.

Считываем Имя и Идентификатор текущего пользователя, для поля ИмяОтправителя.

Считываем Имя и Идентификаторы всех пользователей, для поля Пользователь.

Идентификатор будет служить для идентификации получателя и отправителя.

2         В создаваемых сообщениях устанавливаем дату устаревания 60 дней после текущей даты.

3         Тело сообщения — это структура в формате JSON, в которую сохраняем текст сообщения, имя автора и навигационную ссылку на объект (необязательно).

 

Открываем два окна под Руководителем и Администратором.

От Руководителя шлем сообщение Администратору, затем после того, как Администратор его прочитает, отправим сообщение руководителю:

 

 

 

Заключение:

Вот таким незамысловатым способом мы использовали новый механизм «Сервисы интеграции». Как вы видите, этот механизм может решать не только интеграционные задачи.

Я считаю, что механизм неплохой и перспективный, если вы его еще не трогали, присмотритесь к нему.

 

На этом статью завершаю.

Всем желаю профессионального роста и интересных задач!

 

Полезные ссылки:

Поинтегрируем: нужна ли Шина вам? – Статья, с которой начался цикл статей по интеграции.

Три инструмента для сервисов интеграции – Бесплатные инструменты по работе с сервисами интеграции.

PAPI-tools – Проект на GitHub содержащий исходники обработок, которые будут первоначально выкладываться в данном проекте, а в будущем перетекать в подсистему PAPI (релиз подсистемы запланирован на 19.05.2024)

Поинтегрируем: сервисы интеграции – новый стандарт или просто коннектор? – Статья описывает механизм «Сервисы интеграции» изнутри и снаружи

История данных Регистры сведений Интеграция Архитектура Сервисы интеграции Планы обмена Сообщения сервисов интеграции PAPI-tools PAPI GitHub 

См. также

Поинтегрируем: сервисы интеграции – новый стандарт или просто коннектор?

Перенос данных 1C Администрирование СУБД Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.17 появился замечательный механизм «Сервисы интеграции». Многие считают, что это просто коннектор 1С:Шины. Так ли это?

11.03.2024    6339    dsdred    59    

86

Как готовить и есть массивы

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

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

24.01.2024    6195    YA_418728146    25    

68

Планы обмена VS История данных

Перенос данных 1C Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    7223    dsdred    36    

114

1С-ная магия

Механизмы платформы 1С Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    19362    SeiOkami    46    

121

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    13088    human_new    27    

76

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    9672    YA_418728146    6    

146

Внешние компоненты Native API на языке Rust - Просто!

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

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

20.08.2023    6626    sebekerga    54    

96

Все скопируем и вставим! (Буфер обмена в 1С 8.3.24)

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

Рассмотрим новую возможность 8.3.24 и как её можно эффективно использовать

27.06.2023    17244    SeiOkami    31    

106
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user-z99999 67 13.03.24 09:28 Сейчас в теме
Почему так хорошо и доходчиво пишите, в чём секрет?
2. dsdred 3334 13.03.24 09:29 Сейчас в теме
(1) Секрета нет.
Трое детей и большой опыт работы с людьми ))
kholodarev; +1 Ответить
3. anosin 29 13.03.24 09:48 Сейчас в теме
на 8.3.19.x будет работать?
4. dsdred 3334 13.03.24 09:49 Сейчас в теме
(3) Да, должно работать начиная с 8.3.17
5. starik-2005 3040 13.03.24 10:54 Сейчас в теме
А правильно я понял, что это внутри одной базы оповещения? Вот смысл имеет, когда базы разные, а внутри одной базы можно и регистром/справочником/документом/... обойтись, ну или системой взаимодействия, хотя она вроде как тоже межбазовой может быть.
ЗЫ: Ну и хорошим лайфхаком межбазового взаимодействия триггер скульный является, который из таблицы источника в таблицу приемника перекинет данные о сообщении. О нем Вы, кстати, писали. А без шины это все - нарушение лицензионного соглашения, ну и работать будет до очередного изменения структуры таблиц.
6. dsdred 3334 13.03.24 11:57 Сейчас в теме
(5)
А правильно я понял, что это внутри одной базы оповещения?

Все верно. Просто решил показать, что механизм живой и без интеграции.

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


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

2 Обойтись Регистром, справочником, документом можно, но есть ряд нюансов.
Может выйти вариант когда под каждый вид оповещений начнут плодится все новые и новые сущности.

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

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

Все верно.
Моя цель была как можно подробнее донести информацию по механизму, но когда писал статью во мне проснулся инженер который все время мне говорил: а давай еще вот это попробуем!
В итоге вышло как вышло ))
7. John_d 5425 13.03.24 12:32 Сейчас в теме
(0) Все хорошо, но на практике не применимо. Никто не будет слать сообщения другим пользователям средствами 1С платформы. Проще написать письмо в outlook и вставить в него скриншот.
9. dsdred 3334 13.03.24 12:40 Сейчас в теме
(7)+ я показал лишь один пример.
По сути Сервисы интеграции это ящик с сообщениями а куда и как их отправлять это уже второй вопрос.
Можно хоть в почту, хоть в телегу слать.
8. dsdred 3334 13.03.24 12:39 Сейчас в теме
(7) Вот вам пример из жизни:
В том году на моего коллегу упала задача.
Если в справочнике Номенклатура меняются определенные реквизиты необходимо сделать оповещение через колокольчик группу ответственных лиц.

Как бы вы решили эту задачу?
10. John_d 5425 13.03.24 12:43 Сейчас в теме
(8) Согласен, как оповещение о событии рабочий вариант.
11. starik-2005 3040 13.03.24 13:12 Сейчас в теме
(8)
Как бы вы решили эту задачу?
Неоднократно решал через механизм оповещений из еще старой БСП. Для этого там регистр был и общая форма, а обработчик ожидания использовался системный. Сейчас, кстати, он тоже есть. И в этот колокольчик, как я понял, Вы с помощью него и добавляете.
12. dsdred 3334 13.03.24 13:14 Сейчас в теме
(11) Дак и я так раньше решал. Еще через систему взаимодействия решал.
А теперь появился способ без БСП и без Системы взаимодействия.


ПоказатьОповещениеПользователя(ТекСообщение.Сообщение
,ТекСообщение.НавигационнаяСсылка
,?(ТекСообщение.Свойство("Отправитель"),ТекСообщение.Отправитель,""),
,СтатусОповещенияПользователя.Важное
,ТекСообщение.Идентификатор);

В колокольчик попадает из-за СтатусОповещенияПользователя.Важное
13. starik-2005 3040 13.03.24 13:15 Сейчас в теме
(12)
без БСП и без Системы взаимодействия
Через регистр было бы меньше кода.
14. dsdred 3334 13.03.24 13:17 Сейчас в теме
(13)Это потому, что в БСП уже готовый код универсальный есть, а так по коду не больше.
Даже меньше.
15. d4rkmesa 21.03.24 11:27 Сейчас в теме
Спасибо, курьезная фича. На ИТС "обратный случай" расписали - использование шины без сервисов интеграции:
https://its.1c.ru/db/metod8dev/content/6012/hdoc
16. dsdred 3334 21.03.24 11:43 Сейчас в теме
(15)В пункте "2.2. Доработки в информационной базе "Бухгалтерии предприятия"" присутствуют Сервисы интеграции.
А вообще я видел интересный пример когда из JS отправляли в 1с Канал Шины.

Вообще в шине можно просто файлы перекладывать, можно из кафки в кролик пересылать и т.д. Собственно там 1с конфигурация необязательна, так как 1с Элемент это таже конфигурация 1с только написана заново ))
d4rkmesa; +1 Ответить
Оставьте свое сообщение