- Добавил доработки
This commit is contained in:
@@ -52,6 +52,50 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокКонфигураций(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация КАК Конфигурация,
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК КонфигурацияНаименование,
|
||||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Имя КАК КонфигурацияИмя,
|
||||
| ИСТИНА КАК Подписка
|
||||
|ПОМЕСТИТЬ ВТ_ОтслеживаемыеКонфигурации
|
||||
|ИЗ
|
||||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||||
|ГДЕ
|
||||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Конфигурации.Наименование КАК Наименование,
|
||||
| Конфигурации.Имя КАК Имя,
|
||||
| ЕСТЬNULL(ВТ_ОтслеживаемыеКонфигурации.Подписка, ЛОЖЬ) КАК Подписка
|
||||
|ИЗ
|
||||
| Справочник.Конфигурации КАК Конфигурации
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОтслеживаемыеКонфигурации КАК ВТ_ОтслеживаемыеКонфигурации
|
||||
| ПО (ВТ_ОтслеживаемыеКонфигурации.Конфигурация = Конфигурации.Ссылка)
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Подписка УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
МассивКонфигураций = Новый Массив;
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Конфигурация = Новый Структура("Наименование, Имя, Подписка", ВыборкаДетальныеЗаписи.Наименование,
|
||||
ВыборкаДетальныеЗаписи.Имя, ВыборкаДетальныеЗаписи.Подписка);
|
||||
|
||||
МассивКонфигураций.Добавить(Конфигурация);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивКонфигураций;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АктуализироватьВерсииКонфигураций()Экспорт
|
||||
|
||||
@@ -101,6 +145,87 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонфигурацияПоИмени(ИмяКонфигурации) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Конфигурации.Ссылка КАК Конфигурация
|
||||
|ИЗ
|
||||
| Справочник.Конфигурации КАК Конфигурации
|
||||
|ГДЕ
|
||||
| Конфигурации.Имя = &Имя";
|
||||
|
||||
Запрос.УстановитьПараметр("Имя", ИмяКонфигурации);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
Возврат ВыборкаДетальныеЗаписи.Конфигурация;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УстановитьСтатусДиалога(ИдЧата, НовыйСтатус, ДополнительнаяИнформация) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ТелеграмПользователь.Ссылка КАК Ссылка,
|
||||
| ТелеграмПользователь.СтатусДиалога КАК СтатусДиалога
|
||||
|ИЗ
|
||||
| Справочник.ТелеграмПользователь КАК ТелеграмПользователь
|
||||
|ГДЕ
|
||||
| ТелеграмПользователь.id = &ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
ПользовательОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
|
||||
Если ПользовательОбъект <> Неопределено Тогда
|
||||
ПользовательОбъект.СтатусДиалога = НовыйСтатус;
|
||||
ПользовательОбъект.ДополнительнаяИнформация = ДополнительнаяИнформация;
|
||||
ПользовательОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьДанныеПользователя(ИдЧата) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ТелеграмПользователь.СтатусДиалога КАК СтатусДиалога,
|
||||
| ТелеграмПользователь.ДополнительнаяИнформация КАК ДополнительнаяИнформация
|
||||
|ИЗ
|
||||
| Справочник.ТелеграмПользователь КАК ТелеграмПользователь
|
||||
|ГДЕ
|
||||
| ТелеграмПользователь.id = &ИдЧата";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||||
Возврат Новый Структура("СтатусДиалога, ДополнительнаяИнформация", ВыборкаДетальныеЗаписи.СтатусДиалога,
|
||||
ВыборкаДетальныеЗаписи.ДополнительнаяИнформация);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
@@ -66,7 +66,11 @@
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
||||
КонецЦикла;
|
||||
ИначеЕсли ЭтоОдиночноеОбновление(ДанныеОбновления) Тогда
|
||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(Обновление);
|
||||
Если ДанныеОбновления.Получить("message") <> Неопределено Тогда
|
||||
ПараметрыСообщения = СтруктураСообщенияТелеграм(ДанныеОбновления);
|
||||
ИначеЕсли ДанныеОбновления.Получить("callback_query") <> Неопределено Тогда
|
||||
ПараметрыСообщения = СтруктураКоллбэкЗапроса(ДанныеОбновления);
|
||||
КонецЕсли;
|
||||
МассивСообщенийТелеграм.Добавить(ПараметрыСообщения)
|
||||
КонецЕсли;
|
||||
|
||||
@@ -96,6 +100,33 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтруктураКоллбэкЗапроса(Обновление)
|
||||
|
||||
ДанныеСообщения = Обновление["callback_query"];
|
||||
|
||||
ПараметрыСообщения = Новый Структура;
|
||||
ПараметрыСообщения.Вставить("ИдКоллбэкЗапроса", Обновление["update_id"]);
|
||||
|
||||
Автор = АвторСообщения(ДанныеСообщения["from"]);
|
||||
ПараметрыСообщения.Вставить("Автор", Автор);
|
||||
|
||||
Если ДанныеСообщения.Получить("message") <> Неопределено Тогда
|
||||
НовоеСообщение = ТелеграмСообщение(ДанныеСообщения["message"], Автор);
|
||||
ПараметрыСообщения.Вставить("Сообщение", НовоеСообщение);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыСообщения.Вставить("Дата", ТекущаяДатаСеанса());
|
||||
|
||||
ИдЧата = Автор.id;
|
||||
ПараметрыСообщения.Вставить("ИдЧата", ИдЧата);
|
||||
|
||||
ДанныеКоллбэка = ДанныеСообщения["data"];
|
||||
ПараметрыСообщения.Вставить("ДанныеКоллбэка", ДанныеКоллбэка);
|
||||
|
||||
Возврат ПараметрыСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СохранитьСообщениеВБазу(СтруктураСообщения) Экспорт
|
||||
|
||||
МенеджерЗаписи = РегистрыСведений.ТелеграмСообщения.СоздатьМенеджерЗаписи();
|
||||
@@ -144,8 +175,9 @@
|
||||
|
||||
ИдОбновления = СоответствиеОбновления.Получить("update_id");
|
||||
Сообщение = СоответствиеОбновления.Получить("message");
|
||||
КоллбэкЗапрос = СоответствиеОбновления.Получить("callback_query");
|
||||
|
||||
Если ИдОбновления <> Неопределено И Сообщение <> Неопределено Тогда
|
||||
Если ИдОбновления <> Неопределено И (Сообщение <> Неопределено ИЛИ КоллбэкЗапрос <> Неопределено) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -16,7 +16,35 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КнопкаКлавиатуры(Надпись) Экспорт
|
||||
Функция КлавиатураВстроенная(Клавиатура) Экспорт
|
||||
|
||||
СоответствиеКлавиатуры = Новый Соответствие();
|
||||
|
||||
СоответствиеКлавиатуры.Вставить("inline_keyboard", Клавиатура);
|
||||
|
||||
Возврат СоответствиеКлавиатуры;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Функция КнопкаКлавиатурыВстроенной(Надпись, Url = Неопределено, CallbackData = Неопределено) Экспорт
|
||||
|
||||
СоответствиеКнопка = Новый Соответствие;
|
||||
СоответствиеКнопка.Вставить("text", ?(НЕ ЗначениеЗаполнено(Надпись), "<?>", Надпись));
|
||||
|
||||
Если Url <> Неопределено Тогда
|
||||
СоответствиеКнопка.Вставить("url", Url);
|
||||
КонецЕсли;
|
||||
|
||||
Если CallbackData <> Неопределено Тогда
|
||||
СоответствиеКнопка.Вставить("callback_data", CallbackData);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СоответствиеКнопка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КнопкаКлавиатурыОтвета(Надпись) Экспорт
|
||||
|
||||
СоответствиеКнопка = Новый Соответствие;
|
||||
СоответствиеКнопка.Вставить("text", ?(НЕ ЗначениеЗаполнено(Надпись), "<?>", Надпись));
|
||||
@@ -34,7 +62,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого НадписьКнопки Из МассивНаименованийКнопок Цикл
|
||||
Результат.Добавить(КнопкаКлавиатуры(НадписьКнопки));
|
||||
Результат.Добавить(КнопкаКлавиатурыОтвета(НадписьКнопки));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
Reference in New Issue
Block a user