ВыполнитьОбновлениеИнформационнойБазыВФоне (БСП)

Автор: 1С
ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный
БСП

Выполнить обновление информационной базы фоне. Запускает обновление информационной базы в длительной операции.

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

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

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

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

ВыполнитьОбновлениеИнформационнойБазы (БСП)

ВыполнитьОбновлениеТекущейОбластиДанных (БСП)

ВыполнитьОбновлениеДоступаСпискаВФоне (БСП)

ОбновитьИнформационнуюБазуВФоне (БСП)

ВыполнитьВФоне (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз