Система взаимодействия в 1С

 

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

Общая информация

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

По видам, взаимодействия можно разделить на:

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

Интерактивное взаимодействие происходит посредством текстовых сообщений и видеозвонков (обычный звонок — это видеозвонок без, собственно, видео).

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

Неконтекстные обсуждения — не привязанные к какому-либо объекту информационной базы. Участвовать могут любые пользователи выбранные инициатором обсуждения. Обсуждений такого вида может быть сколько угодно.

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

К сообщениям можно прикреплять файлы, правда для этого, сервер взаимодействия должен быть настроен на работу с внешним хранилищем, работающим по протоколу Amazon S3.

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

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

Доступ к сообщениям возможен посредством программного интерфейса, реализованного свойством глобального контекста — СистемаВзаимодействия.

Сервер взаимодействия

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

Для начала раздобудем все, что потребуется (устанавливать в этом же порядке):

Кроме этого потребуется 1С:Предприятие (8.3.10-8.3.14). Ring и сам сервер взаимодействия можно скачать с https://users.v8.1c.ru/:

Ring и сервер взаимодействия
Ring и сервер взаимодействия

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

Во время установки потребуется ввести логин и пароль от учетной записи PostgreSQL.

После установки (если все пройдет нормально) все необходимые сервисы будут запущены, проверить это можно зайдя по адресу http://localhost:8087/rs/health. Если все нормально, то результат будет примерно таким:

Проверка состояния сервера взаимодействий
Проверка состояния сервера взаимодействий

Запустить и остановить компоненты системы можно как и все остальные службы:

Службы сервера взаимодействий
Службы сервера взаимодействий

А также при помощи утилиты Ring:

ring hazelcast --instance <hc_instance> service start(stop)
ring elasticsearch --instance <elastic_instance> service start(stop)
ring cs --instance <cs_instance> service start(stop)

<hc_instance>, <elastic_instance>, <cs_instance> — название экземпляра соответствующего сервера.

Настройки сервера взаимодействий в моем случае находятся тут:

C:\ProgramData\1C\1CE\instances\cs\config

В этой папке находится достаточно много файлов и соответственно немало настроек, описывать которые в этой статье я не буду, ибо статья обзорная. Небольшие изменения внесу только в файл com._1c.ecs.websocket.yml:

Настройка WebSocket
Настройка WebSocket

Изменить параметры можно при помощи утилиты Ring. Подробнее об имеющихся параметрах можно узнать на сайте ИТС или из справки утилиты Ring:

Утилита Ring
Утилита Ring
 

Подключение и использование

Для подключения к сервису 1cDialog.com нужно пройти в меню «Все функции»-«Стандартные»-«Управление системой взаимодействия». В открывшемся окне нужно указать адрес эл. почты (валидный), на него пришлют код регистрации, этот код нужно вставить в соответствующее поле и нажать кнопку «Зарегистрировать».

Регистрация в сервисе 1cDialog.com
Регистрация в сервисе 1cDialog.com

Для подключения к собственному серверу взаимодействий потребуется специальная обработка — CollaborationSystemRegister.epf, которую можно скачать там же, где  и сам сервер. В этой обработке нужно указать адрес для подключения (который настраивается в файле com._1c.ecs.websocket.yml) и адрес эл. почты:

Регистрация на сервере взаимодействия
Регистрация на сервере взаимодействия

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

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

Для того, чтобы все заработало нужно каким-либо образом вызвать процедуру «СоздатьРобота» — например в процедуре модуля приложения «ПриНачалеРаботыСистемы». Результат выглядит так:

Информацию о прочих возможностях можно найти на сайте ИТС, а так же в справочной информации конфигуратора.

На этом все, надеюсь, что данная статья Вам помогла.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 6, средняя оценка: 1,67 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 3
  1. Азат

    Можно ли ставить систему взаимодействия на файл-серверной платформе? Клиент пока не готов приобретать сервер 1С:предприятия. PostgreSQL 9.5+ поставим

  2. Владимир

    Приветствую. Есть ли у вас услуга — установки сервера взаимодействия на клиентской стороне?

  3. bu

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

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: