ПолучитьИзВременногоХранилища возвращает неопределено в фоновом задании #757041


#0 by Сергиус
1С:Предприятие 8.3 (8.3.6.2100) - из Серверной процедуры формы делаю вызов фонового задания         ПараметрыДляФЗ, Новый УникальныйИдентификатор, "Тестовое задание"); После этого выполнение передается в процедуру, и там при попытке получить по адресу выдается неопределенно. Вот ДДФайла всегда неопределено. Какие способы есть передать таки файл в фоновую процедуру?
#1 by Лефмихалыч
файл большой? Может просто его в виде ДвочныеДанные параметром передать? Один ведь кол ты его на сервер в этом виде совать пытаешься, отправляя во временное хренилище
#2 by Сергиус
19 МБ, попробую так.
#3 by Сергиус
+Спасибо, так прокатило.
#4 by Лефмихалыч
ну... во временное хранилище онточно так же передается путем сериализации ДвоичныхДанных в строку и пропихивания этой строки серверу. По этому, может лучше через шару какую или в БД хранить. Хотя в БД - та же сериализация двочных данных.
#5 by Сергиус
Возможно это глюк какой-то именно функции ПолучитьИзВременногоХранилища. Еще в "лохматом" 10-м году, для 8.2.11 была подобная ошибка: 10055148  Метод ПолучитьИзВременногоХранилища Проблема: Метод ПолучитьИзВременногоХранилища, вызванный в фоновом задании, возвращает значение Неопределено. Дата публикации: 2010-06-07
#6 by Лефмихалыч
Мне, кстати, это сотонинство временнохранилищное тоже всегда неопределено возвращает. С учетом вышеописанного механизма работы, я забил на него болт и передаю туда-сюда двоичные данные, когда надо. Результат-то тот же, только код проще становится и Неопределено не возвращается.
#7 by Лефмихалыч
каюсь, так сказать
#8 by ИсчадиеADO
в фоновом задании 1с не запилило получение из врем. хранилища. только передачу. аргументировали типа только для того чтоб вернуть результат. я на dёфоруме находил, там Максим Радченко, емнип, отвечал
#9 by ИсчадиеADO
из фонового временное хранилище получает. важно чтоб ссылка на форме хранилась
#10 by DmitrO
У них просто временное хранилище разделено на сеансы, данные временного хранилища каждого сеанса изолированы, на сколько я понимаю это для того чтобы доступ к ним не синхронизировать. Единственный случай когда данные врем хранилища переходят из одного сеанса в другой, это при завершение фонового данные переходят в вызвавший его сеанс.
#11 by DmitrO
И возможен этот случай, только потому, что сеанс фонового задания уже завершен.
#12 by Лефмихалыч
у меня даже в пределах одного сеанса не получалось (правда в последний раз это еще в 8.2 было) из &НаКлиенте в &НАСервере черех гноилище это передать ни чего, кроме Неопределено. Неопределено отлично передается, а вот файл - нихт. Вообще не понимаю, зачем оно нужно.
#13 by ИсчадиеADO
а почему это только при завершении? как же тогда реализовано получение прогресс бара в фоновом задании?
#14 by Гёдза
Возможно только из фонового в сеанс, но не обратно
#15 by DmitrO
да ладно.. у меня проблем не было
#16 by Лефмихалыч
ну, даже на солнце пятна бывают же :)
#17 by DmitrO
прогресс бар на сообщениях пользователю, хранилище тут непричем
#18 by ИсчадиеADO
% берется из периодически из результатов фонового задания :)
#19 by ИсчадиеADO
модуль длительные операции. даж метод есть
#20 by DmitrO
Исчадиеее, специально для тебя посмотрел в СП ) ПоместитьВоВременноеХранилище ... Примечание: Временное хранилище, сформированное в одном сеансе, недоступно из другого сеанса. Исключением является возможность передачи данных из фонового задания в сеанс, инициировавший фоновое задание, с помощью временного хранилища. Для такой передачи следует в родительском сеансе поместить во временное хранилище пустое значение, передав идентификатор формы. Затем полученный адрес передать в фоновое задание через параметры фонового задания. Далее, если этот адрес использовать в параметре <Адрес>, то результат будет скопирован в сеанс, из которого было запущено фоновое задание. Данные, помещенные во временное хранилище в фоновом задании, не будут доступны из родительского сеанса до момента завершения фонового задания.
#21 by ИсчадиеADO
специально для тебя запилил  обработку которая получает структуру из фонового задания до его завершения :) врет твоя справка, ага. сам попробуй
#22 by vhl
ты вообще этот модуль смотрел?
#23 by vhl
Если хочешь просто передать файл в фоновое задание, то вот тебе решение:
#24 by ИсчадиеADO
ок, да признаю, сам дурак. на файловой и на клиент серверной отрабатывает по разному (на файловой получает). а в длительных операциях запилено получение сообщений пользователя из фонового задания и поиск сообщения в формате. ок
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С