Перенести кэш данных классификаторов. Выполняет перенос данных из кэша поставляемых данных в регистр сведений
// Выполняет перенос данных из кэша поставляемых данных в регистр сведений
// КэшДанныхКлассификаторов.
//
Процедура ПеренестиКэшДанныхКлассификаторов() Экспорт
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
Возврат;
КонецЕсли;
РаботаСКлассификаторами.ЗаписатьИнформациюВЖурналРегистрации(
НСтр("ru = 'Перенос кэша поставляемых данных в подсистему ""Работа с классификаторами"". Начало обновления.'"),
Ложь);
МодульПоставляемыеДанные = ОбщегоНазначения.ОбщийМодуль("ПоставляемыеДанные");
Дескрипторы = МодульПоставляемыеДанные.ДескрипторыПоставляемыхДанныхИзКэша(
РаботаСКлассификаторами.ВидПоставляемыхДанныхКлассификаторы());
Для Каждого Дескриптор Из Дескрипторы Цикл
ДанныеФайла = МодульПоставляемыеДанные.ПоставляемыеДанныеИзКэша(
Дескриптор.ИдентификаторФайла);
// Если файла физически нет в кэше, невозможно его перенести
// в кэш подсистемы "Работа с классификаторами".
Если ДанныеФайла = Неопределено Тогда
Продолжить;
КонецЕсли;
ОписаниеФайла = РаботаСКлассификаторами.ОписаниеДанныхФайлаКлассификатора(
ПоместитьВоВременноеХранилище(ДанныеФайла));
Для Каждого Характеристика Из Дескриптор.Характеристики Цикл
Если Характеристика.Код = "Идентификатор" Тогда
ОписаниеФайла.Идентификатор = Характеристика.Значение;
ИначеЕсли Характеристика.Код = "Версия" Тогда
ОписаниеФайла.Версия = Число(Характеристика.Значение);
ИначеЕсли Характеристика.Код = "КонтрольнаяСумма" Тогда
ОписаниеФайла.КонтрольнаяСумма = Характеристика.Значение;
ИначеЕсли Характеристика.Код = "ОписаниеВерсии" Тогда
ОписаниеФайла.ОписаниеВерсии = Характеристика.Значение;
ИначеЕсли Характеристика.Код = "Размер" Тогда
ОписаниеФайла.Размер = Характеристика.Значение;
ИначеЕсли Характеристика.Код = "Размер" Тогда
ОписаниеФайла.Размер = Характеристика.Значение;
КонецЕсли;
КонецЦикла;
// Не корректные данные кэша пропускаем.
Если Не ЗначениеЗаполнено(ОписаниеФайла.Идентификатор) Тогда
Продолжить;
КонецЕсли;
РаботаСКлассификаторами.ОбновитьКэшКлассификатора(ОписаниеФайла);
КонецЦикла;
// При работе в модели сервиса файлы классификаторов кэшировались в поставляемых
// данных. При переходе на версию 2.4.1.10 кэш перенесен в регистр сведений
// "КэшДанныхКлассификаторов". Устаревшие данные будут удалены через очередь заданий.
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ИмяМетода", "УдалитьКэшПоставляемыхКлассификаторов");
ПараметрыЗадания.Вставить("ОбластьДанных", -1);
ПараметрыЗадания.Вставить("ЗапланированныйМоментЗапуска", ТекущаяУниверсальнаяДата());
ПараметрыЗадания.Вставить("КоличествоПовторовПриАварийномЗавершении", 3);
МодульОчередьЗаданий = ОбщегоНазначения.ОбщийМодуль("ОчередьЗаданий");
МодульОчередьЗаданий.ДобавитьЗадание(ПараметрыЗадания);
РаботаСКлассификаторами.ЗаписатьИнформациюВЖурналРегистрации(
НСтр("ru = 'Перенос кэша поставляемых данных в подсистему ""Работа с классификаторами"". Успешно завершено.'"),
Ложь);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОбновитьКэшКлассификатора (БСП)
УдалитьКэшПоставляемыхКлассификаторов (БСП)
ДескрипторПоставляемыхДанныхИзКэша (БСП)
УдалитьПоставляемыеДанныеИзКэша (БСП)
ПеренестиЗащищаемыеОбластиПерсональныхДанных (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)