ИнтерактивноеОбновлениеКлассификаторовИзСервиса (БСП)

Автор: 1С
ОбщийМодуль.РаботаСКлассификаторами
БСП

Интерактивное обновление классификаторов из сервиса. Выполняет обновление данных классификаторов в фоновом задании.

// Выполняет обновление данных классификаторов в фоновом задании.
//
// Параметры:
//  ПараметрыПроцедуры - Структура - данные для обновления;
//  АдресХранилища - Строка - адрес хранилища результат обновления.
//
Процедура ИнтерактивноеОбновлениеКлассификаторовИзСервиса(ПараметрыПроцедуры, АдресХранилища) Экспорт
	
	РезультатОбновления = Новый Структура;
	РезультатОбновления.Вставить("КодОшибки",         "");
	РезультатОбновления.Вставить("СообщениеОбОшибке", "");
	
	ДанныеКлассификаторов = ПараметрыПроцедуры.ДанныеКлассификаторов;
	ДанныеКлассификаторов.Колонки.Добавить("АдресФайла", ОбщегоНазначения.ОписаниеТипаСтрока(250));
	
	Если ПараметрыПроцедуры.РежимОбновления = 0 Тогда
		
		Результат = ДанныеАутентификации();
		Если Результат.Ошибка Тогда
			РезультатОбновления.КодОшибки = КодОшибкиНеверныйЛогинИлиПароль();
			РезультатОбновления.СообщениеОбОшибке = Результат.ИнформацияОбОшибке;
			ПоместитьВоВременноеХранилище(РезультатОбновления, АдресХранилища);
			Возврат;
		КонецЕсли;
		
		РезультатЗагрузки = ЗагрузитьФайлыКлассификаторов(
			ДанныеКлассификаторов,
			Результат.ДанныеАутентификации);
		
		Если РезультатЗагрузки.Ошибка Тогда
			ЗаполнитьЗначенияСвойств(
				РезультатОбновления,
				РезультатЗагрузки,
				"КодОшибки, СообщениеОбОшибке");
			ПоместитьВоВременноеХранилище(РезультатОбновления, АдресХранилища);
			Возврат;
		КонецЕсли;
	Иначе
		Для Каждого ОписаниеКлассификатора Из ДанныеКлассификаторов Цикл
			Если ОписаниеКлассификатора.ДанныеФайла.Размер() = 0 Тогда
				ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Файл классификатора %1 (%2) имеет размер равный 0.
						|Загрузка данных остановлена.'"),
					ОписаниеКлассификатора.Наименование,
					ОписаниеКлассификатора.Идентификатор);
				ЗаписатьИнформациюВЖурналРегистрации(
					ТекстИсключения,
					Истина,
					Метаданные.Обработки.ОбновлениеКлассификаторов);
				ВызватьИсключение ТекстИсключения;
			КонецЕсли;
			ОписаниеКлассификатора.АдресФайла = ПоместитьВоВременноеХранилище(ОписаниеКлассификатора.ДанныеФайла);
		КонецЦикла;
	КонецЕсли;
	
	ОбработатьФайлыПриИнтерактивнойЗагрузке(
		ДанныеКлассификаторов,
		РезультатОбновления);
	
	ПоместитьВоВременноеХранилище(РезультатОбновления, АдресХранилища);
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

ДанныеКлассификаторовДляИнтерактивногоОбновления (БСП)

ИнтерактивноеОбновлениеКлассификаторовИзФайла (БСП)

ДоступныеОбновленияКлассификаторов (БСП)

СлужебнаяДоступныеОбновленияКлассификаторов (БСП)

ИнтернетПоддержкаИСервисы_ОбновлениеКлассификаторов (БСП)

ИнтернетПоддержкаИСервисы_БИПВариантОбновленияКлассификаторовПриИзменении (БСП)

ИнтернетПоддержкаИСервисы_ДекорацияРасписаниеОбновленияКлассификаторовНажатие (БСП)

ИнтерактивнаяЗагрузкаКлассификаторовДоступна (БСП)

ИнтернетПоддержкаИСервисы_БИПДекорацияОбновлениеКлассификаторовНеВыполняетсяОбработкаНавигационнойСсылки (БСП)

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