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

#std798

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

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

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

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

1.2. Регламентное задание, вызывающее метод ВыполнитьОбработкуБотов()
Несоблюдение этих правил приводит к неоправданному расходу ресурсов как со стороны сервера 1С:Предприятие, так и со стороны сервера Системы взаимодействия.

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

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

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

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

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