Простенький чат в 1с для обычных форм. Реализованы личные сообщения с каждым пользователем заведенным в 1с, также реализован каркас чат-бота, в котором можно дописать свою логику команды для бота и ответа для этой команды. Например, "Инструкции" - после этой команды выводится список всех инструкции и пути на диске, где эти инструкции находятся.
На форме находится список пользователей, список сообщений (html-документ), кнопка активации сообщения и возможно открывать аналог навигационных ссылок в обычных формах (копируем ссылку, вводим в поле и нажимаем кнопку открытия).
Чат состоит из двух регистров сведений и одной обработки:
Регистр сведений (РС) Новые сообщения - для фиксирования новых сообщений;
РС Сообщения - для хранения сообщений пользователя;
Код для получения аналога нав.ссылки:
Мета = ЭтотОбъект.Метаданные().Имя;
ЭтапОдин = СтрЗаменить(Строка(ТипЗНЧ(ЭтотОбъект)), ":", "");
ЭтапДва = СтрЗаменить(ЭтапОдин, Мета, "");
ЭтапТри = СтрЗаменить(ЭтапДва, "объект", "");
ТипДляНавСсылки = СтрЗаменить(ЭтапТри, " ", "");
СсылкаНав = "e1cib/data/" + ТипДляНавСсылки + "." + Мета + "?ref=" + Ссылка.УникальныйИдентификатор();
Код выше разместить по своему усмотрению (например, сделать получение нав.ссылки по кнопке документа или при открытии формы заполнять текстовый реквизит).
Код для открытия нав.ссылки находится на форме чата.
Реализован функционал для непрочитанных сообщений (напротив пользователя загорается значок непрочитанных сообщений).
Для вызова бота нужно нажать на кнопку:
Откроется отдельное окно для отправки сообщений боту:
Для начала работы нужно ввести команду "старт", для получения навыков бота - "?":
Ссылка на демонстрацию работы чата: