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