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