Имя: Пароль:
1C
1С v8
ПолучитьИзВременногоХранилища(Адрес)
0 Sasha_H
 
17.08.19
19:59
ПолучитьИзВременногоХранилища(Адрес) = НЕОПРЕДЕЛЕНО

Дело обстоит так:
в одном серверном вызове помещаем таблицу значений:  Адрес = ПоместитьВоВременноеХранилище(ТаблицаСДанными, Новый УникальныйИдентификатор);

Читаю СП: Если передан УникальныйИдентификатор, не являющийся уникальным идентификатором формы, то значение будет удалено после завершения сеанса пользователя.

Передал просто идентификатор, но при попытке получения уже в другом контексте по Адресу данные = Неопределенно

А сама задача следующая: есть конфигурашка на базе БСП 3.0. В ней надо запилить отчет чтобы поддерживал функционал БСП тоесть ОбщуюФорму отчета.

Условия: необходимо чтобы пользователь мог указать файл  Ексель в котором который отчитается и вот по этому источнику уже построится отчет.
Можно запилить в параметр полный путь к файлу (но не хотят так) по причине, что отчетом могут пользоваться еще из вне!!!

Тоесть я пилю обработку которая разруливает отчитку файла и открывает отчет, где я указываю Массив с данными в виде структуры.

А тут качели начинаются, проблема в том, что ПриКомпоновкеРезультата я не могу достучатся до своего массива. Кто с БСП хорошо работал тот понимает о чем я.

Конечно если отключить БСП, а это в отчет добавить основную форму - проблем нет. Но клиент желает плюшек из БСП, отправить почту и т.д.



КАК прокинуть в СКД этот массив может будут какие предложения? В скд это как Объект ну и ест-но массив преобразовать в таблицузначений. Я хотел использовать хранилище но не выходит.
1 Sasha_H
 
17.08.19
20:03
1С:Предприятие 8.3 (8.3.13.1644)

Режим совместимости: Версия 8.3.12
Пробовал вырубать совместимость проблема остается
2 Конструктор1С
 
17.08.19
21:34
Отчеты бсп формируются в фоне. Фоновое задание это отдельный сеанс. А в другом сеансе временное хранилище не доступно. Можно сохранить временный файл на сервере, при компоновке прочитать его, а потом удалить
3 runoff_runoff
 
17.08.19
22:46
возьмите идентификатор формы вместо нового..
4 MaxS
 
18.08.19
06:25
Если используется несколько серверов в кластере 1С, то неизвестно на каком из них будет выполнятся задание. Соответственно неизвестно  где искать временный файл и т.п.
5 ДенисЧ
 
18.08.19
06:47
(2) @Отчеты бсп формируются в фоне. Фоновое задание это отдельный сеанс. А в другом сеансе временное хранилище не доступно@

Тогда расскажи, как в той же бсп в длительных операциях справляются с сообщениями от той длительной операции.
6 Конструктор1С
 
18.08.19
11:01
(6) справка гласит:

Примечание:
Временное хранилище, сформированное в одном сеансе, недоступно из другого сеанса.
Исключением является возможность передачи данных из фонового задания в сеанс, инициировавший фоновое задание, с помощью временного хранилища. Для такой передачи следует в родительском сеансе поместить во временное хранилище пустое значение, передав идентификатор формы. Затем полученный адрес передать в фоновое задание через параметры фонового задания. Далее, если этот адрес использовать в параметре <Адрес>, то результат будет скопирован в сеанс, из которого было запущено фоновое задание.
Данные, помещенные во временное хранилище в фоновом задании, не будут доступны из родительского сеанса до момента завершения фонового задания.
Данные, помещенные в фоновом сеансе в хранилище по сформированному в родительском сеансе адресу, сразу после помещения становятся недоступными в фоновом сеансе.
7 Franchiser
 
гуру
18.08.19
11:46
Сталкивался с этим, смотри ли темы.
В фоновое задание не работает передача тз через вх. Нужно передавать ТЗ без ВХ.
8 Franchiser
 
гуру
18.08.19
11:48
9 palsergeich
 
18.08.19
18:05
(5) Они оставили лазеечку, когда Гуид ВХ = Гуид формы
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.