1С 8.3 БСП ВыполнитьПроцедуру - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 БСП ВыполнитьПроцедуру

Данные > Примеры кода 1С > 1С 8.3 БСП > Длительные операции
Реклама:
Перейти в раздел примеры кода 1С 8.3:
  • 1С 8.3 БСП
1С 8.3 БСП ВыполнитьПроцедуру. Запустить выполнение процедуры в фоновом задании, если это возможно.
Примера кода от rayastar
//В общем виде процесс запуска и обработки результата длительной операции в модуле формы выглядит следующим образом:

//1) Процедура, которая будет исполняться в фоне, располагается в модуле менеджера объекта или в серверном общем модуле:
Процедура ВыполнитьРасчет(Знач МойПараметр1, Знач МойПараметр2) Экспорт
   ...
КонецПроцедуры

//2) Запуск операции на сервере и подключение обработчика ожидания (при необходимости):
&НаКлиенте
Процедура ВыполнитьРасчет()
   ДлительнаяОперация = НачатьВыполнениеНаСервере();
   ОповещениеОЗавершении = Новый ОписаниеОповещения("ОбработатьРезультат", ЭтотОбъект);
   ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
   ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, ПараметрыОжидания);
КонецПроцедуры

&НаСервере
Функция НачатьВыполнениеНаСервере()
   Возврат ДлительныеОперации.ВыполнитьПроцедуру(, "Обработки.МояОбработка.ВыполнитьРасчет",
   МойПараметр1, МойПараметр2);
КонецФункции

//3) Обработка результата длительной операции:
&НаКлиенте
Процедура ОбработатьРезультат(Результат, ДополнительныеПараметры) Экспорт
   Если Результат = Неопределено Тогда
       Возврат;
   КонецЕсли;
   ПриЗавершенииРасчета();
КонецПроцедуры


//
&НаСервере
Функция ЗапуститьФоновуюОтправкуФайлов()

   ОтправляемыеФайлы = Новый Массив;
   Для Каждого Файл Из Файлы.ПолучитьЭлементы() Цикл

       ОписаниеФайла = Новый Структура;
       ОписаниеФайла.Вставить("ИмяФайла", Файл.Наименование);
       ОписаниеФайла.Вставить("ДатаИзменения");
       ОписаниеФайла.Вставить("Каталог");
       ОписаниеФайла.Вставить("ДвоичныеДанные", ПолучитьИзВременногоХранилища(Файл.Адрес));

       ОтправляемыеФайлы.Добавить(ОписаниеФайла);
   КонецЦикла;

   ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияПроцедуры();
   ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Отправка файлов в сервиса распознавания документов'");

   ФоновоеЗадание = ДлительныеОперации.ВыполнитьПроцедуру(ПараметрыВыполнения,
"Обработки.РаспознаваниеДокументов.ОтправитьФайлыНаРаспознавание", ОтправляемыеФайлы);

   Возврат ФоновоеЗадание;

КонецФункции;
// Автор библиотеки: ООО "1С-Софт". Все права защищены © 2021
// Типовая конфигурация Библиотека стандартных подсистем (далее - БСП)
// Код БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0):
// ссылка на лицензию: https://creativecommons.org/licenses/by/4.0/legalcode
Поиск кода
0
комментарии
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 12.06.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому