Вспомогательные объекты, процедуры и функции работы с ними.

Вспомогательные объекты, процедуры и функции работы с ними.

Параметры действия.

Установить и получить значение параметра действия.

Это можно сделать во вкладке «Действия над параметрами», если значение статическое. Если его необходимо получить программным способом, то используются процедура и функция:

Важно! Параметры должны быть предварительно созданы в справочнике «Параметры действий».

1.       УстановитьПараметрДействия(НакопленныеДанные.НастройкиБота.Ссылка, НакопленныеДанные.ИдентификаторЧата, ПараметрДействия("НаименованиеПараметра"), ЗначениеПараметра); - записывает значение параметра в справочник если он был заранее создан в справочнике.

 

2.       ЗначениеПараметра(НакопленныеДанные.Параметры, "НаименованиеПараметра"); - возвращает значение параметра из справочника или «Неопределено» если параметр не задан или не был записан.

Пример:

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


Параметр действия.jpg

ПлановоеВремяСтрокой = «20221031100000»;

УстановитьПараметрДействия(НакопленныеДанные.НастройкиБота.Ссылка, НакопленныеДанные.ИдентификаторЧата, ПараметрДействия("ПлановоеВремя"), ПлановоеВремяСтрокой);

Первые два параметра необходимы, чтобы привязать значение переменной к конкретному боту и чату.

ДатаДокумента = ЗначениеПараметра(НакопленныеДанные.Параметры, "ПлановоеВремя");

Сообщить (Дата(ДатаДокумента)); // 31.10.2022 11:00:00


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


Произвольный параметр.

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

Создание и запись значения в произвольный параметр:


СтрокаJSON = TelegramСервер.ЗаписьТаблицыЗначенийВJSONСтроку([ТаблицаЗначений]);  

TelegramСервер.УстановитьПроизвольныйПараметр(НакопленныеДанные.НастройкиБота.Ссылка,
НакопленныеДанные.ИдентификаторЧата
"НаименованиеПараметра", СтрокаJSON);


 - В регистре TelegramПроизвольныеПараметры будет создана запись с идентификаторами бота и чата, с названием параметра и записано его значение, в виде Json строки, предварительно подготовленной. 


Пример: Есть запрос, для выборки документов по определенным условиям. Заполняем таблицу значений выбранными данными. Переводим таблицу в Json строку и записываем в произвольный параметр.

2022-12-02_14-13-29.png

...


Рис.1.png

Данные по боту и сеансу

В процессе написания команды могут возникнуть вопросы, где получить дополнительные данные типа идентификатора бота и тому подобное? Для этого существую две специализированные структуры: НастройкиБота  и НакопленныеДанные .
Первая, как понятно из названия, содержит в себе параметры бота и имеет следующий вид:
  • Ссылка - СправочникСсылка.TelegramБоты - ссылка на бота 
  • Наименование - Строка - наименование бота
  • Токен - Строка - токен бота
  • ОграниченныйДоступ - Булево - Если Истина, то у новых пользователей бота ограниченный доступ
Вторая - содержит данные с информацией по сеансу пользователя и имеет следующие поля: 
  •   ИдентификаторЧата - Число - идентификатор чата с пользователем.
  •   ИдентификаторОбновления - Число - идентификатор получения обновления сообщения.
  •   ИдентификаторСообщения - Число - идентификатор сообщения.
  •   НастройкиБота - Структура - настройки бота.
  •   Ошибки - Структура - список ошибок, которые возникли в процессе проверок/действий.
  •   Параметры - Структура - параметры сеанса текущего пользователя Telegram.
  •   Сообщения - Структура - список сообщений, которые будут отправлены боту.
  •   ФИОПользователяTelegram - Строка - ФИО пользователя в профиле Telegram.
  •   ИмяПользователяTelegram - Строка - имя пользователя в профиле Telegram.
  •   ИмяПрофиля - Строка - имя профиля Telegram.
  •   ПользовательTelegram - СправочникСсылка.TelegramПользователи - кто прислал сообщение в Telegram.
  •   Пользователь - СправочникСсылка.Пользователи - кто прислал сообщение в Telegram.
  •   ТекстСообщения - Строка - текст последнего сообщения
  •   ТипСообщения - Перечисления.TelegramТипСообщения - тип последнего сообщения (текст, фото, стикер, документ, аудио, документ, запрос).
  •   ДатаСообщения - Дата - дата последнего сообщения Telegram.
  •   Сообщение - ДокументСсылка.TelegramСообщениеВходящее - последнее сообщение Telegram.

Логотип
 Действия | Описание курса | Использование клавиатур