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