Обновить (БСП)

Автор: 1С
ОбщийМодуль.ИнформацияПриЗапуске
БСП

Обновить. Актуализирует данные подсистемы с учетом режима работы программы.

// Актуализирует данные подсистемы с учетом режима работы программы.
//   Пример использования: после очистки хранилищ настроек.
//
// Параметры:
//   Настройки - Структура - Необязательный. Настройки обновления.
//       * ОбщиеДанные       - Булево - Необязательный. Обновлять неразделенные данные.
//       * РазделенныеДанные - Булево - Необязательный. Обновлять разделенные данные.
//       * Оперативное - Булево - Необязательный. Оперативное обновление данных.
//       * Отложенное  - Булево - Необязательный. Отложенное обновление данных.
//       * Полное      - Булево - Необязательный. Не учитывать хеш-суммы при отложенном обновление данных.
//
Функция Обновить(Настройки = Неопределено) Экспорт
	
	Если Настройки = Неопределено Тогда
		Настройки = Новый Структура;
	КонецЕсли;
	
	ПоУмолчанию = Новый Структура("ОбщиеДанные, РазделенныеДанные, Оперативное, Отложенное, Полное");
	Если Настройки.Количество() < ПоУмолчанию.Количество() Тогда
		Если ОбщегоНазначения.РазделениеВключено() Тогда
			Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
				ПоУмолчанию.ОбщиеДанные       = Ложь;
				ПоУмолчанию.РазделенныеДанные = Истина;
			Иначе // Неразделенный сеанс.
				ПоУмолчанию.ОбщиеДанные       = Истина;
				ПоУмолчанию.РазделенныеДанные = Ложь;
			КонецЕсли;
		Иначе
			Если ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда // АРМ.
				ПоУмолчанию.ОбщиеДанные       = Ложь;
				ПоУмолчанию.РазделенныеДанные = Истина;
			Иначе // Коробка.
				ПоУмолчанию.ОбщиеДанные       = Истина;
				ПоУмолчанию.РазделенныеДанные = Истина;
			КонецЕсли;
		КонецЕсли;
		ПоУмолчанию.Оперативное  = Истина;
		ПоУмолчанию.Отложенное   = Ложь;
		ПоУмолчанию.Полное       = Ложь;
		ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Настройки, ПоУмолчанию, Ложь);
	КонецЕсли;
	
	Результат = Новый Структура;
	Результат.Вставить("ЕстьИзменения", Ложь);
	
	Если Настройки.Оперативное И Настройки.ОбщиеДанные Тогда
		
		Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ РегистрСведений.ПакетыИнформацииПриЗапуске УПОРЯДОЧИТЬ ПО Номер");
		ТаблицаДоОбновления = Запрос.Выполнить().Выгрузить();
		
		ОперативноеОбновлениеОбщихДанных();
		
		ТаблицаПослеОбновления = Запрос.Выполнить().Выгрузить();
		
		Если Не ОбщегоНазначения.ДанныеСовпадают(ТаблицаДоОбновления, ТаблицаПослеОбновления) Тогда
			Результат.ЕстьИзменения = Истина;
		КонецЕсли;
		
	КонецЕсли;
	
	Возврат Результат;
КонецФункции

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

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

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

ОбновитьТелефон (БСП)

ОбновитьКомпонентыСПортала (БСП)

ОбновитьПрефиксКорреспондента (БСП)

ОбновитьНастройкиXDTOКорреспондента (БСП)

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

ОбновитьПредставлениеАдреса (БСП)

ОбновитьКурсВалюты (БСП)

ОбновитьПрисоединенныйФайл (БСП)

ОбновитьПрогрессВФоне (БСП)

TurboConf ИР адаптер 2.63