Чтение новостей службы поддержки. Процедура регламентного задания ЧтениеНовостейСлужбыПоддержки
// Процедура регламентного задания ЧтениеНовостейСлужбыПоддержки
//
Процедура ЧтениеНовостейСлужбыПоддержки() Экспорт
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ЧтениеНовостейСлужбыПоддержки);
Если Не ЗначениеЗаполнено(Константы.АдресСервисаНовостей.Получить()) Тогда
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
ПрефиксСервиса = Константы.ПрефиксСервисаДляНовостей.Получить();
ИмяКонфигурации = Метаданные.Имя;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ОбщиеДанныеИнформационногоЦентра.ДатаНачалаАктуальности КАК ДатаНачалаАктуальности
|ИЗ
| Справочник.ОбщиеДанныеИнформационногоЦентра КАК ОбщиеДанныеИнформационногоЦентра
|ГДЕ
| ОбщиеДанныеИнформационногоЦентра.ТипИнформации = &УведомлениеОПожелании
| ИЛИ ОбщиеДанныеИнформационногоЦентра.ТипИнформации = &Новость
|
|УПОРЯДОЧИТЬ ПО
| ДатаНачалаАктуальности УБЫВ";
Запрос.УстановитьПараметр("УведомлениеОПожелании", ОпределитьСсылкуТипаИнформации("УведомлениеОПожелании"));
Запрос.УстановитьПараметр("Новость", ОпределитьСсылкуТипаИнформации("Новость"));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Если Выборка.Следующий() Тогда
ДатаНачала = Выборка.ДатаНачалаАктуальности;
Иначе
ДатаНачала = '00010101000000';
КонецЕсли;
Прокси = ПолучитьПроксиНовостейСлужбыПоддержки();
Ответ = Прокси.getNews(ПрефиксСервиса, ИмяКонфигурации, ДатаНачала);
Для каждого НовостьXDTO Из Ответ.news Цикл
Идентификатор = Новый УникальныйИдентификатор(НовостьXDTO.id);
Если ЗначениеЗаполнено(Идентификатор) Тогда
ТипИнформации = ОпределитьСсылкуТипаИнформации("УведомлениеОПожелании");
Иначе
ТипИнформации = ОпределитьСсылкуТипаИнформации("Новость");
Идентификатор = Новый УникальныйИдентификатор();
КонецЕсли;
Новость = Справочники.ОбщиеДанныеИнформационногоЦентра.СоздатьЭлемент();
Новость.Идентификатор = Идентификатор;
Новость.Наименование = НовостьXDTO.name;
Новость.ДатаНачалаАктуальности = НовостьXDTO.startDate;
Новость.ДатаОкончанияАктуальности = НовостьXDTO.endDate;
Новость.ТипИнформации = ТипИнформации;
Новость.Критичность = НовостьXDTO.criticality;
Новость.ТекстHTML = НовостьXDTO.textHTML.htmlText;
Если НовостьXDTO.textHTML.Свойства().Получить("images") <> Неопределено Тогда
Картинки = Новый Структура;
Если ТипЗнч(НовостьXDTO.textHTML.images) = Тип("ОбъектXDTO") Тогда
Картинки.Вставить(НовостьXDTO.textHTML.images.name, Новый Картинка(XMLЗначение(Тип("ДвоичныеДанные"), НовостьXDTO.textHTML.images.data), Истина));
Иначе
Для каждого КартинкаXDTO Из НовостьXDTO.textHTML.images Цикл
Картинки.Вставить(КартинкаXDTO.name, Новый Картинка(XMLЗначение(Тип("ДвоичныеДанные"), КартинкаXDTO.data), Истина));
КонецЦикла;
КонецЕсли;
Новость.Вложения = Новый ХранилищеЗначения(Картинки);
КонецЕсли;
Новость.Записать();
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПолучитьПроксиНовостейСлужбыПоддержки (БСП)
ПолучитьПроксиСлужбыПоддержки (БСП)
ОткрытьОбращенияВСлужбуПоддержки (БСП)
ОткрытьОбращениеВСлужбуПоддержки (БСП)
УстановленаИнтеграцияСоСлужбойПоддержки (БСП)
ТекстВыводаИнформацииОбОшибкеВСлужбеПоддержки (БСП)
ИнтернетПоддержкаИСервисы_СообщениеВСлужбуТехническойПоддержки (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)