Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Выполнить в фоне часть процедур во внешней обработке.

Выполнить в фоне часть процедур во внешней обработке.
Я
   Sevish
 
08.11.20 - 18:40
Добрый день!
Как выполнить в фоне процедуру модуля конфигурации - проблем нет.
Но возникла задача выполнить процедуру модуля внешней обработки.
Файл - Открыть - Внешняя обработка. На форме кнопка. Нажимаем, и процедура именно этой обработки выполняется в фоне...
Как это сделать, если возможно?
   Конструктор1С
 
1 - 08.11.20 - 18:44
(0) БСП подключена?
   jsmith82
 
2 - 08.11.20 - 18:51
странно, что спросил. в интернете же есть
   Sevish
 
3 - 08.11.20 - 19:20
БСП не подключена, голая УПП. В интернете есть, но если обработка подключена как внешняя обработка в справочник.
А мне надо просто - открыл и выполнил.
   GedKo
 
4 - 08.11.20 - 20:19
сделай расширение
   Провинциальный 1сник
 
5 - 08.11.20 - 20:21
(4) Так голая же УПП, какие расширения, если там режим совместимости древний
   Sevish
 
6 - 08.11.20 - 21:30
Да, все верно, древний, расширение то же не прокатит.
Вообще проблема-то вот в этой одной строке: ДлительныеОперации.ВыполнитьВФоне("ИмяМодуля.ИмяПроцедуры", СтруктураПараметров, ПараметрыВыполнения);
У меня есть только ИмяПроцедуры в текущем модуле внешней обработки.
   RomanYS
 
7 - 08.11.20 - 21:40
(6) Значит нужно сделать общий модуль, который будет выполнять интерфейсную функцию. Или взять из БСП. В УПП готового не нашёл
   Конструктор1С
 
8 - 09.11.20 - 06:59
(6) у тебя относительно свежая версия модуля длительных операций. В УПП давно не заглядывал, но должно прокатить вот так:

СтруктураПараметров.Вставить("ИмяМетода", "ТутНазваниеЭкспортнойПроцедурыМодуляОбработки");
ДлительныеОперации.ВыполнитьВФоне("ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки", СтруктураПараметров, ПараметрыВыполнения);
   ДенисЧ
 
9 - 09.11.20 - 07:02
Закладка, как говорится )))
Не заметил при беглом просмотре...
   SleepyHead
 
10 - 09.11.20 - 08:58
(0) На инфостарте про это десятки статей, я даже свою пилил...
   ДенисЧ
 
11 - 09.11.20 - 08:59
(10) Она золотая? ))
   SleepyHead
 
12 - 09.11.20 - 09:03
(11) Я не знаю, разрешено ли правилами давать ссылку на свою статью здесь, на мисте, поэтому ограничиваюсь тонкими намеками, что мне можно написать в скайп.
   ДенисЧ
 
13 - 09.11.20 - 09:03
(12) Я просто хотел пошутить )))
Если ты ё пилил, значит, она должна быть золотой )))
   SleepyHead
 
14 - 09.11.20 - 09:07
(13) Простите, Остап Ибрагимович, я не сразу оценил, на что намек ))

Правила перечитал, запрета не нашел, поэтому вот
http://catalog.mista.ru/1c/articles/1207439/
   Конструктор1С
 
15 - 09.11.20 - 09:20
(14) это под БСП и УФ, а у ТС УПП на ОФ
   Конструктор1С
 
16 - 09.11.20 - 09:21
но по идее зайдёт
   Kassern
 
17 - 09.11.20 - 09:57
(0) Как вариант создать свой модуль для вызова фоновых заданий. А с внешних обработок уже отсылать код на выполнение в фоне.
Функция ЗапуститьФоновоеВыполнение(ТекстПроцедуры,СтруктураПараметров=Неопределено) Экспорт
    УникальныйИдентификатор = Новый УникальныйИдентификатор;
    ПараметрыВыполнения = Новый Массив;
    ПараметрыВыполнения.Добавить(ТекстПроцедуры);
    ПараметрыВыполнения.Добавить(СтруктураПараметров);
    
    ФоновыеЗадания.Выполнить("ФоновоеВыполнение.ФоноваяПроцедура",ПараметрыВыполнения,УникальныйИдентификатор);
    Возврат УникальныйИдентификатор;
КонецФункции

Процедура ФоноваяПроцедура(ТекстМодуля,ПараметрыВыполнения) Экспорт
    ПолныйТекстМодуля = "";
    Для Каждого ТекПараметр Из ПараметрыВыполнения Цикл
        ПолныйТекстМодуля = ПолныйТекстМодуля+ТекПараметр.Ключ+"=ПараметрыВыполнения."+ТекПараметр.Ключ+";"+Символы.ПС;
    КонецЦикла;
    ПолныйТекстМодуля = ПолныйТекстМодуля + ТекстМодуля;
    Выполнить(ПолныйТекстМодуля);
КонецПроцедуры

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.