Интерактивное обновление классификаторов из сервиса. Выполняет обновление данных классификаторов в фоновом задании.
// Выполняет обновление данных классификаторов в фоновом задании.
//
// Параметры:
// ПараметрыПроцедуры - Структура - данные для обновления;
// АдресХранилища - Строка - адрес хранилища результат обновления.
//
Процедура ИнтерактивноеОбновлениеКлассификаторовИзСервиса(ПараметрыПроцедуры, АдресХранилища) Экспорт
РезультатОбновления = Новый Структура;
РезультатОбновления.Вставить("КодОшибки", "");
РезультатОбновления.Вставить("СообщениеОбОшибке", "");
ДанныеКлассификаторов = ПараметрыПроцедуры.ДанныеКлассификаторов;
ДанныеКлассификаторов.Колонки.Добавить("АдресФайла", ОбщегоНазначения.ОписаниеТипаСтрока(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
///////////////////////////////////////////////////////////////////////////////////////////////////////
ДанныеКлассификаторовДляИнтерактивногоОбновления (БСП)
ИнтерактивноеОбновлениеКлассификаторовИзФайла (БСП)
ДоступныеОбновленияКлассификаторов (БСП)
СлужебнаяДоступныеОбновленияКлассификаторов (БСП)
ИнтернетПоддержкаИСервисы_ОбновлениеКлассификаторов (БСП)
ИнтернетПоддержкаИСервисы_БИПВариантОбновленияКлассификаторовПриИзменении (БСП)
ИнтернетПоддержкаИСервисы_ДекорацияРасписаниеОбновленияКлассификаторовНажатие (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)