Обновить. Актуализирует кэши метаданных подсистемы с учетом режима работы программы.
// Актуализирует кэши метаданных подсистемы с учетом режима работы программы.
// Пример использования: после очистки хранилищ настроек.
//
// Параметры:
// Настройки - Структура - со свойствами:
// * Конфигурация - Булево - Обновить неразделенный справочник ПредопределенныеВариантыОтчетов.
// * Расширения - Булево - Обновить разделенный справочник ПредопределенныеВариантыОтчетовРасширений.
// * ОбщиеДанные - Булево - Обновить неразделенный справочник ПредопределенныеВариантыОтчетов.
// * РазделенныеДанные - Булево - Обновить разделенный справочник ВариантыОтчетов.
// * Оперативное - Булево - Актуализировать список вариантов отчетов, их наименования и описания.
// * Отложенное - Булево - Заполнить наименований полей, параметров, отборов и ключевых слов для поиска.
// * ИндексироватьСхему - Булево - Всегда индексировать схемы (не учитывать хеш-суммы).
//
Функция Обновить(Знач Настройки = Неопределено) Экспорт
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Если Настройки = Неопределено Тогда
Настройки = ПараметрыОбновленияНастроек();
КонецЕсли;
Результат = Новый Структура;
Результат.Вставить("ЕстьИзменения", Ложь);
Если Настройки.Оперативное Тогда
Если Настройки.ОбщиеДанные Тогда
Если Настройки.Конфигурация Тогда
ПромежуточныйРезультат = ОперативноеОбновлениеОбщихДанных("ОбщиеДанныеКонфигурации", Неопределено);
Результат.Вставить("Оперативное_ОбщиеДанные_Конфигурация", ПромежуточныйРезультат);
Если ПромежуточныйРезультат <> Неопределено И ПромежуточныйРезультат.ЕстьИзменения Тогда
Результат.ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
Если Настройки.Расширения Тогда
ПромежуточныйРезультат = ОперативноеОбновлениеОбщихДанных("ОбщиеДанныеРасширений", Неопределено);
Результат.Вставить("Оперативное_ОбщиеДанные_Расширения", ПромежуточныйРезультат);
Если ПромежуточныйРезультат <> Неопределено И ПромежуточныйРезультат.ЕстьИзменения Тогда
Результат.ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Настройки.РазделенныеДанные Тогда
Если Настройки.Конфигурация Тогда
ПромежуточныйРезультат = АктуализироватьВариантыОтчетов("РазделенныеДанныеКонфигурации");
Результат.Вставить("Оперативное_РазделенныеДанные_Конфигурация", ПромежуточныйРезультат);
Если ПромежуточныйРезультат <> Неопределено И ПромежуточныйРезультат.ЕстьИзменения Тогда
Результат.ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
Если Настройки.Расширения Тогда
ПромежуточныйРезультат = АктуализироватьВариантыОтчетов("РазделенныеДанныеРасширений");
Результат.Вставить("Оперативное_РазделенныеДанные_Расширения", ПромежуточныйРезультат);
Если ПромежуточныйРезультат <> Неопределено И ПромежуточныйРезультат.ЕстьИзменения Тогда
Результат.ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Настройки.Отложенное Тогда
Если Настройки.ОбщиеДанные Тогда
Если Настройки.Конфигурация Тогда
ПромежуточныйРезультат = ОбновитьИндексПоиска("ОбщиеДанныеКонфигурации", Настройки.ИндексироватьСхему);
Результат.Вставить("Отложенное_ОбщиеДанные_Конфигурация", ПромежуточныйРезультат);
Если ПромежуточныйРезультат <> Неопределено И ПромежуточныйРезультат.ЕстьИзменения Тогда
Результат.ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
Если Настройки.Расширения Тогда
ПромежуточныйРезультат = ОбновитьИндексПоиска("ОбщиеДанныеРасширений", Настройки.ИндексироватьСхему);
Результат.Вставить("Отложенное_ОбщиеДанные_Расширения", ПромежуточныйРезультат);
Если ПромежуточныйРезультат <> Неопределено И ПромежуточныйРезультат.ЕстьИзменения Тогда
Результат.ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Настройки.РазделенныеДанные Тогда
Если Настройки.Конфигурация Тогда
ПромежуточныйРезультат = ОбновитьИндексПоиска("РазделенныеДанныеКонфигурации", Настройки.ИндексироватьСхему);
Результат.Вставить("Отложенное_РазделенныеДанные_Конфигурация", ПромежуточныйРезультат);
Если ПромежуточныйРезультат <> Неопределено И ПромежуточныйРезультат.ЕстьИзменения Тогда
Результат.ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
Если Настройки.Расширения Тогда
ПромежуточныйРезультат = ОбновитьИндексПоиска("РазделенныеДанныеРасширений", Настройки.ИндексироватьСхему);
Результат.Вставить("Отложенное_РазделенныеДанные_Расширения", ПромежуточныйРезультат);
Если ПромежуточныйРезультат <> Неопределено И ПромежуточныйРезультат.ЕстьИзменения Тогда
Результат.ЕстьИзменения = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ЗапланироватьЗаполнениеПредставлений();
Возврат Результат;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОбновитьКомпонентыСПортала (БСП)
ОбновитьПрефиксКорреспондента (БСП)
ОбновитьНастройкиXDTOКорреспондента (БСП)
ОбновитьИсправленияИзСкрипта (БСП)
ОбновитьПредставлениеАдреса (БСП)