Имя: Пароль:
1C
1С v8
УФ БСП Как из Общего модуля вернуть в док Таблицу Значений?
0 aka AMIGO
 
25.02.17
17:27
В Общий модуль передаю структуру-параметры, обрабатываю, получаю ТЗ, и не могу понять, как в БСП возвращатить результаты родителю?
Вход:
        ТЗП = Новый ТаблицаЗначений;
        ТЗП = ЭтаФорма.ТЗ.Выгрузить();
        Упаковано = ЗначениеВСтрокуВнутр(Новый ХранилищеЗначения(ТЗП, Новый СжатиеДанных(9)));
        СтруктураПараметров.Вставить("ТЗП",Упаковано);
        Файло = ВыбратьФайлНаСервере(ФайлExcel);
        СтруктураПараметров.Вставить("Файло",Файло);
//--------------------
Вызов в ОМ:
РезультатВыполнения  = ДлительныеОперации.ЗапуститьВыполнениеВФоне(УникальныйИдентификатор,
        "ДлительныеОбработки.ЗаполнитьТЧ",
        СтруктураПараметров,
        "Наименование фонового задания");
        ИдентификаторЗадания = РезультатВыполнения.ИдентификаторЗадания;
        АдресХранилища       = РезультатВыполнения.АдресХранилища;
//-------------------
Прием в ОМ:
Процедура ЗаполнитьТЧ(СтруктураПараметров, АдресХранилища) Экспорт
    Файло = СтруктураПараметров.Файло; //Таблица файла Excel
    ХЗ = ЗначениеИзСтрокиВнутр(СтруктураПараметров.ТЗП);
    ТЗ = ХЗ.Получить();
Далее в ОМ идет обработка,в результате получаю ТЗдляТЧ, которую надо передать обратно, в док.
Два оператора в конце:
    Упаковано = ЗначениеВСтрокуВнутр(Новый ХранилищеЗначения(ТЗдляТЧ, Новый СжатиеДанных(9)));
    ПоместитьВоВременноеХранилище(Упаковано, АдресХранилища);

Я упаковал в ОМ, всё замечательно. Как теперь извлечь в документе?

Облазил весь отладчик, не увидел способа.
Реквизиты в документе:
https://i.paste.pics/487004ef6522840b2c401d6f8e303936.png
1 aka AMIGO
 
25.02.17
17:39
Забыл самое главное (почти)
Перед первым оператором кода в сабже стоит:
        АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
//а далее уже:
        ТЗП = Новый ТаблицаЗначений;
        ...
2 Звездец
 
25.02.17
17:50
Подожди, а откуда у тебя изначально таблица значений на клиенте?
3 Звездец
 
25.02.17
17:52
по сути передачи ТЗ с сервера на клиент: передавай Массив значений например или структуру
4 aka AMIGO
 
25.02.17
18:05
(2) ТЗ на клиенте формируется динамически. Её, готовую, я и передаю в структуре-параметре.

(3) - Уже предполагал такой вариант.. Но как и где я получу результат? Во Временном хранилище?
5 Звездец
 
25.02.17
18:07
Не совсем понял суть проблемы. Я так понимаю ТаблицаЗначений на клиенте - элемент формы? делай вызов функции из общего модуля, результатом которой будет массив или структура
6 aka AMIGO
 
25.02.17
18:15
(5) Угу. Понятно, спасибо, сейчас таймаут, переделаю код.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой