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