285 lines
16 KiB
Plaintext
285 lines
16 KiB
Plaintext
#Область ПрограммныйИнтерфейс
|
||
|
||
Функция АктуальнаяВерсияКонфигурации(Конфигурация, ВерсияКонфигурации, ВерсияПлатформы = Неопределено) Экспорт
|
||
|
||
АдресРесурса = АдресРесурсаПоИмениМетода("info");
|
||
ТелоЗапроса = Новый Структура("programName", Конфигурация.Имя);
|
||
ТелоЗапроса.Вставить("versionNumber", ВерсияКонфигурации);
|
||
ТелоЗапроса.Вставить("updateType", "NewConfigurationAndOrPlatform");
|
||
|
||
Если ВерсияПлатформы <> Неопределено Тогда
|
||
ТелоЗапроса.Вставить("platformVersion", ВерсияПлатформы);
|
||
Иначе
|
||
ТелоЗапроса.Вставить("platformVersion", "1.1.1.1");
|
||
КонецЕсли;
|
||
|
||
Соединение = Новый HTTPСоединение("update-api.1c.ru",443,,,, 15, Новый ЗащищенноеСоединениеOpenSSL);
|
||
|
||
Возврат HttpОбщегоНазначенияВызовСервера.ВыполнитьPostЗапрос(Соединение, АдресРесурса, , ТелоЗапроса);
|
||
|
||
КонецФункции
|
||
|
||
Функция КонфигурацииИзПодписки(ИдЧата) Экспорт
|
||
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст =
|
||
"ВЫБРАТЬ
|
||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК КонфигурацияНаименование,
|
||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Имя КАК КонфигурацияИмя,
|
||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||
|ИЗ
|
||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||
|ГДЕ
|
||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата";
|
||
|
||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||
|
||
РезультатЗапроса = Запрос.Выполнить();
|
||
|
||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||
|
||
МассивКонфигураций = Новый Массив;
|
||
|
||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||
Конфигурация = Новый Структура("Наименование, Имя, ТекущаяВерсия, АктуальнаяВерсия",
|
||
ВыборкаДетальныеЗаписи.КонфигурацияНаименование,ВыборкаДетальныеЗаписи.КонфигурацияИмя,
|
||
ВыборкаДетальныеЗаписи.ТекущаяВерсия, ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||
МассивКонфигураций.Добавить(Конфигурация);
|
||
КонецЦикла;
|
||
|
||
Возврат МассивКонфигураций;
|
||
|
||
КонецФункции
|
||
|
||
Функция СтатусКонфигурацииИзПодписки(ИдЧата, Конфигурация) Экспорт
|
||
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст =
|
||
"ВЫБРАТЬ
|
||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК Наименование,
|
||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||
|ИЗ
|
||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||
|ГДЕ
|
||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата
|
||
| И ОтслеживаниеВерсийКонфигураций.Конфигурация = &Конфигурация";
|
||
|
||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||
Запрос.УстановитьПараметр("Конфигурация", Конфигурация);
|
||
|
||
РезультатЗапроса = Запрос.Выполнить();
|
||
|
||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||
|
||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||
Результат = Новый Структура("Наименование, ТекущаяВерсия, АктуальнаяВерсия",
|
||
ВыборкаДетальныеЗаписи.Наименование,
|
||
ВыборкаДетальныеЗаписи.ТекущаяВерсия,
|
||
ВыборкаДетальныеЗаписи.АктуальнаяВерсия);
|
||
Возврат Результат;
|
||
КонецЕсли;
|
||
|
||
Возврат Неопределено;
|
||
|
||
КонецФункции
|
||
|
||
Функция СписокКонфигураций(ИдЧата) Экспорт
|
||
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст =
|
||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||
| ОтслеживаниеВерсийКонфигураций.Конфигурация КАК Конфигурация,
|
||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Наименование КАК КонфигурацияНаименование,
|
||
| ОтслеживаниеВерсийКонфигураций.Конфигурация.Имя КАК КонфигурацияИмя,
|
||
| ИСТИНА КАК Подписка
|
||
|ПОМЕСТИТЬ ВТ_ОтслеживаемыеКонфигурации
|
||
|ИЗ
|
||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||
|ГДЕ
|
||
| ОтслеживаниеВерсийКонфигураций.ИдЧата = &ИдЧата
|
||
|;
|
||
|
|
||
|////////////////////////////////////////////////////////////////////////////////
|
||
|ВЫБРАТЬ
|
||
| Конфигурации.Наименование КАК Наименование,
|
||
| Конфигурации.Имя КАК Имя,
|
||
| ЕСТЬNULL(ВТ_ОтслеживаемыеКонфигурации.Подписка, ЛОЖЬ) КАК Подписка
|
||
|ИЗ
|
||
| Справочник.Конфигурации КАК Конфигурации
|
||
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОтслеживаемыеКонфигурации КАК ВТ_ОтслеживаемыеКонфигурации
|
||
| ПО (ВТ_ОтслеживаемыеКонфигурации.Конфигурация = Конфигурации.Ссылка)
|
||
|
|
||
|УПОРЯДОЧИТЬ ПО
|
||
| Подписка УБЫВ";
|
||
|
||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||
РезультатЗапроса = Запрос.Выполнить();
|
||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||
МассивКонфигураций = Новый Массив;
|
||
|
||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||
Конфигурация = Новый Структура("Наименование, Имя, Подписка", ВыборкаДетальныеЗаписи.Наименование,
|
||
ВыборкаДетальныеЗаписи.Имя, ВыборкаДетальныеЗаписи.Подписка);
|
||
|
||
МассивКонфигураций.Добавить(Конфигурация);
|
||
КонецЦикла;
|
||
|
||
Возврат МассивКонфигураций;
|
||
|
||
КонецФункции
|
||
|
||
Функция КонфигурацияПоИмени(ИмяКонфигурации) Экспорт
|
||
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст =
|
||
"ВЫБРАТЬ
|
||
| Конфигурации.Ссылка КАК Конфигурация
|
||
|ИЗ
|
||
| Справочник.Конфигурации КАК Конфигурации
|
||
|ГДЕ
|
||
| Конфигурации.Имя = &Имя";
|
||
|
||
Запрос.УстановитьПараметр("Имя", ИмяКонфигурации);
|
||
|
||
РезультатЗапроса = Запрос.Выполнить();
|
||
|
||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||
|
||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||
Возврат ВыборкаДетальныеЗаписи.Конфигурация;
|
||
КонецЕсли;
|
||
|
||
Возврат Неопределено;
|
||
|
||
КонецФункции
|
||
|
||
Процедура УстановитьДанныеПользователя(ИдЧата, НовыйСтатус, ДополнительнаяИнформация) Экспорт
|
||
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст =
|
||
"ВЫБРАТЬ
|
||
| ТелеграмПользователи.Ссылка КАК Ссылка,
|
||
| ТелеграмПользователи.СтатусДиалога КАК СтатусДиалога
|
||
|ИЗ
|
||
| Справочник.ТелеграмПользователи КАК ТелеграмПользователи
|
||
|ГДЕ
|
||
| ТелеграмПользователи.id = &ИдЧата";
|
||
|
||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||
|
||
РезультатЗапроса = Запрос.Выполнить();
|
||
|
||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||
|
||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||
ПользовательОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
|
||
Если ПользовательОбъект <> Неопределено Тогда
|
||
ПользовательОбъект.СтатусДиалога = НовыйСтатус;
|
||
ПользовательОбъект.ДополнительнаяИнформация = ДополнительнаяИнформация;
|
||
ПользовательОбъект.Записать();
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
Функция ДанныеПользователя(ИдЧата) Экспорт
|
||
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст =
|
||
"ВЫБРАТЬ
|
||
| ТелеграмПользователи.СтатусДиалога КАК СтатусДиалога,
|
||
| ТелеграмПользователи.ДополнительнаяИнформация КАК ДополнительнаяИнформация
|
||
|ИЗ
|
||
| Справочник.ТелеграмПользователи КАК ТелеграмПользователи
|
||
|ГДЕ
|
||
| ТелеграмПользователи.id = &ИдЧата";
|
||
|
||
Запрос.УстановитьПараметр("ИдЧата", ИдЧата);
|
||
|
||
РезультатЗапроса = Запрос.Выполнить();
|
||
|
||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||
|
||
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
|
||
Возврат Новый Структура("СтатусДиалога, ДополнительнаяИнформация", ВыборкаДетальныеЗаписи.СтатусДиалога,
|
||
ВыборкаДетальныеЗаписи.ДополнительнаяИнформация);
|
||
КонецЕсли;
|
||
|
||
Возврат Неопределено;
|
||
|
||
КонецФункции
|
||
|
||
Функция СписокНеактуальныхКонфигурацийДляУведомления() Экспорт
|
||
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст =
|
||
"ВЫБРАТЬ
|
||
| УведомленияОНовыхВерсиях.ИдЧата КАК ИдЧата
|
||
|ПОМЕСТИТЬ ВТ_ЧатыПолучающиеУведомления
|
||
|ИЗ
|
||
| РегистрСведений.УведомленияОНовыхВерсиях КАК УведомленияОНовыхВерсиях
|
||
|ГДЕ
|
||
| УведомленияОНовыхВерсиях.ОтправлятьУведомления
|
||
|;
|
||
|
|
||
|////////////////////////////////////////////////////////////////////////////////
|
||
|ВЫБРАТЬ
|
||
| ОтслеживаниеВерсийКонфигураций.ИдЧата КАК ИдЧата,
|
||
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ОтслеживаниеВерсийКонфигураций.Конфигурация) КАК КонфигурацияПредставление,
|
||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия КАК ТекущаяВерсия,
|
||
| ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия КАК АктуальнаяВерсия
|
||
|ИЗ
|
||
| РегистрСведений.ОтслеживаниеВерсийКонфигураций КАК ОтслеживаниеВерсийКонфигураций
|
||
|ГДЕ
|
||
| ОтслеживаниеВерсийКонфигураций.ТекущаяВерсия <> ОтслеживаниеВерсийКонфигураций.АктуальнаяВерсия
|
||
| И ОтслеживаниеВерсийКонфигураций.ИдЧата В
|
||
| (ВЫБРАТЬ
|
||
| Т.ИдЧата КАК ИдЧата
|
||
| ИЗ
|
||
| ВТ_ЧатыПолучающиеУведомления КАК Т)
|
||
|ИТОГИ ПО
|
||
| ИдЧата";
|
||
|
||
РезультатЗапроса = Запрос.Выполнить();
|
||
|
||
ВыборкаИдЧата = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||
|
||
ДанныеДляУведомлений = Новый Массив;
|
||
|
||
Пока ВыборкаИдЧата.Следующий() Цикл
|
||
ВыборкаДетальныеЗаписи = ВыборкаИдЧата.Выбрать();
|
||
ДанныеВерсийКонфигураций = Новый Массив;
|
||
|
||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||
ДанныеВерсийКонфигураций.Добавить(Новый Структура("КонфигурацияПредставление, ТекущаяВерсия, АктуальнаяВерсия",
|
||
ВыборкаДетальныеЗаписи.КонфигурацияПредставление,
|
||
ВыборкаДетальныеЗаписи.ТекущаяВерсия,
|
||
ВыборкаДетальныеЗаписи.АктуальнаяВерсия));
|
||
КонецЦикла;
|
||
|
||
ДанныеДляУведомлений.Добавить(Новый Структура("ИдЧата, Конфигурации", ВыборкаИдЧата.ИдЧата, ДанныеВерсийКонфигураций));
|
||
КонецЦикла;
|
||
|
||
Возврат ДанныеДляУведомлений;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#Область СлужебныеПроцедурыИФункции
|
||
|
||
Функция БазовыйАдрес()
|
||
|
||
Возврат "update-platform/programs/update";
|
||
|
||
КонецФункции
|
||
|
||
Функция АдресРесурсаПоИмениМетода(ИмяМетода)
|
||
|
||
Возврат СтрШаблон("%1/%2", БазовыйАдрес(), ИмяМетода);
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти |