358 документов
← К списку

Использование ботов системы взаимодействия

страница

#std798

Область применения: управляемое приложение.

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

  • работает без учета разделителей. Он обращается к данным о регистрации системы взаимодействия в каждой области разделенной ИБ, а также к системной таблице экземпляров ботов этой области. Если область зарегистрирована в системе взаимодействия и есть боты, то для этой области запускается системный процесс, в рамках которого устанавливается WebSocket-соединение с сервером взаимодействия
  • системный процесс запускается по одному на каждую область, независимо от количества экземпляров ботов
  • предопределенные боты создаются при первом вызове метода ВыполнитьОбработкуБотов()

Для учета особенностей работы метода ВыполнитьОбработкуБотов() в прикладных решениях, ориентированных на работу в модели сервиса по Технологии 1cFresh, необходимо придерживаться перечисленных ниже рекомендаций.

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

1.2. Регламентное задание, вызывающее метод ВыполнитьОбработкуБотов()

  • В конфигурации должно быть одно, независимо от того, сколько объектов метаданных БотСистемыВзаимодействия добавлено
  • Регламентное задание не должно включаться в состав любого из разделителей, т.е. оно должно быть неразделенным

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

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

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

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

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

  

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

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