ЧтениеНовостейСлужбыПоддержки (БСП)

Автор: 1С
ОбщийМодуль.ИнформационныйЦентрСервер
БСП

Чтение новостей службы поддержки. Процедура регламентного задания ЧтениеНовостейСлужбыПоддержки

// Процедура регламентного задания ЧтениеНовостейСлужбыПоддержки
//
Процедура ЧтениеНовостейСлужбыПоддержки() Экспорт
	
	ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ЧтениеНовостейСлужбыПоддержки);
    
    Если Не ЗначениеЗаполнено(Константы.АдресСервисаНовостей.Получить()) Тогда
        Возврат;
    КонецЕсли;
    
    УстановитьПривилегированныйРежим(Истина);
    
    ПрефиксСервиса = Константы.ПрефиксСервисаДляНовостей.Получить();
    ИмяКонфигурации = Метаданные.Имя;
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
    	"ВЫБРАТЬ ПЕРВЫЕ 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
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ПолучитьПроксиНовостейСлужбыПоддержки (БСП)

ПолучитьПроксиСлужбыПоддержки (БСП)

ОткрытьОбращенияВСлужбуПоддержки (БСП)

ОткрытьОбращениеВСлужбуПоддержки (БСП)

УстановленаИнтеграцияСоСлужбойПоддержки (БСП)

ТекстВыводаИнформацииОбОшибкеВСлужбеПоддержки (БСП)

ИнтернетПоддержкаИСервисы_СообщениеВСлужбуТехническойПоддержки (БСП)

ОткрытьВзаимодействиеВСлужбуПоддержки (БСП)

ОтправитьСообщениеВСлужбуТехническойПоддержки (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом