Как сделать команду внешней обработки фоновой
Всем привет. Конфигурация БП3.0, последняя.
Есть внешняя обработка, в неё грузят файл эксель, он разбирается, подставляются данные в дерево значений. Далее по кнопке "Загрузить" идет цикл по этому дереву и для каждой строки создается реализация.
И вот как сделать эту кнопку "Загрузить" чтоб она все действия выполняла в фоне не могу понять...
Код сейчас выглядит так:
Где ДЗф дерево значений из формы.
Есть внешняя обработка, в неё грузят файл эксель, он разбирается, подставляются данные в дерево значений. Далее по кнопке "Загрузить" идет цикл по этому дереву и для каждой строки создается реализация.
И вот как сделать эту кнопку "Загрузить" чтоб она все действия выполняла в фоне не могу понять...
Код сейчас выглядит так:
&НаКлиенте
Процедура СоздатьРТУ(Команда)
СоздатьДокументыНаСервере();
КонецПроцедуры
&НаСервере
Процедура СоздатьДокументыНаСервере()
ДЗ = РеквизитФормыВЗначение("ДЗф");
Для каждого стр_ОРГ из ДЗ.Строки Цикл
Организация = стр_орг.Организация;
...
СоздатьРТУНаСервере(Организация);
...
ПоказатьГде ДЗф дерево значений из формы.
По теме из базы знаний
- [ТАКСИ] Шаблон внешней обработки...и не только
- Образец внешней обработки с длительной операцией на базе БСП 2.3 (Переработанная)
- Формирование внешнего отчета в фоне
- Как контролировать качество внешних обработок, отчетов, правил обмена, расширений 1С и поставить это на поток
- Запуск внешней обработки фоном БСП
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) Добавлю, что для возможности использовать метод внешней обработки в качестве фонового задания можно на стороне сервера выполнить что-то наподобие:
ИмяФункцииИлиПроцедуры = "ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки";
АдресВХранилище = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификаторФормыВызоваДлительнойОперации);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Мое фоновое задание'");
ПараметрыВыполнения.ЗапуститьВФоне = Истина;
ПараметрыВыполнения.ЗапуститьНеВФоне = Ложь;
ПараметрыВыполнения.БезРасширений = Ложь;
ПараметрыВыполнения.ОжидатьЗавершение = Ложь;
ПараметрыВыполнения.АдресРезультата = АдресВХранилище;
ДополнительнаяОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Моя дополнительная ОтчетОбработка");
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ИмяОбработки", "ВнешняяОбработка.МояВнешняяОбработка");
ПараметрыЗадания.Вставить("ИмяМетода", "МояЭкспортнаяПроцедураМодуляОбработки");
ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина);
ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка", ДополнительнаяОбработка);
ПараметрыПроцедурыМодуляОбъекта = Новый Структура;
ПараметрыПроцедурыМодуляОбъекта.Вставить("ПараметрМоегоФоновогоЗадания1", ЗначениеПараметраФЗ1);
ПараметрыПроцедурыМодуляОбъекта.Вставить("ПараметрМоегоФоновогоЗадания2", ЗначениеПараметраФЗ2);
ПараметрыЗадания.Вставить("ПараметрыВыполнения", ПараметрыПроцедурыМодуляОбъекта);
ДлительнаяОперация = ДлительныеОперации.ВыполнитьВФоне(ИмяФункцииИлиПроцедуры, ПараметрыЗадания, ПараметрыВыполнения);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот