Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 сен 2021, 02:35

Передача параметров в ФоновоеЗадание через БСП

Автор hopyres, 06 апр 2020, 09:17

0 Пользователей и 1 гость просматривают эту тему.

hopyres


    ДаннФормы = Новый Структура;
    ДаннФормы.Вставить("Тест", "Тест");
    АдресВХ = ПоместитьВоВременноеХранилище(ДаннФормы, Новый УникальныйИдентификатор);

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

Процедура ДлительнаяОперацияXML(СтруктураПараметров, АдресРезультата) Экспорт
с = ПолучитьИзВременногоХранилища(СтруктураПараметров.АдресВХ);

КонецПроцедуры


В процедуре ДлительнаяОперацияXML из временного хранилища прилетает значение Неопределено, где пропадают из данные?
:(:(:(

LexaK

при запуске внешней обработки в Фоновом режиме данные можно передать просто через структуру параметров как есть, без помещения в хранилище,
вот какой-то пример

...
ПараметрыМетода.Вставить("ПолноеИмяОбъекта", "ВнешняяОбработка."+НаименованиеОбработки);
ПараметрыМетода.Вставить("ИмяМетода", прДанные.ИмяМетода);
ПараметрыМетода.Вставить("ПараметрыВыполнения", лкПараметры);//лкПараметры - как раз данные для фонового задания, как есть Массивы, ТЗ и др.
ПараметрыМетода.Вставить("ЭтоВнешняяОбработка", Истина); //ЭтоДопОбработка);
ПараметрыМетода.Вставить("ИмяОбработки", АдресОбработкиСервер);
Задание = 0;
Попытка
// это обход ошибки трансляции при запуске обработки в базах без БСП
Выполнить("Задание = ДлительныеОперации.ЗапуститьВыполнениеВФоне(
|ЭтаФорма.УникальныйИдентификатор,
|""ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки"",
|ПараметрыМетода,
|прДанные.ИмяМетода);");
...
ответ Понравился? (в смысле пригодился?)

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск