Имя: Пароль:
1C
1С v8
Передача файла в фоновое задание через временное хранилище
0 Franchiser
 
гуру
09.11.18
17:19
Можно ли передать файл через временное хранилище с сервера в фоновое задание. Почему-то на сервере файл в ВХ есть, но при переходе в фоновое задание значение становится "Не определено".
1 ptiz
 
09.11.18
17:26
Тема становится модной.

Тоже новая платформа?
8.3.12 Фоновое задание + Поместить во временное хранилище + ОФ
2 Franchiser
 
гуру
09.11.18
17:30
(1) у меня УФ
3 Cyberhawk
 
09.11.18
17:32
Так помещенное в ВХ значение доступно в порожденном ФЗ только если на сервере родителя есть форма и был использован ее УИД
4 Cyberhawk
 
09.11.18
17:33
И то это в обратную сторону так
5 Franchiser
 
гуру
09.11.18
17:36
Не понял как можно передать двоичные данные для формирования отчета в фоновом режиме
6 Вафель
 
09.11.18
17:40
(5) может проще адрес файла передать. а его положить на сетевой каталог
7 ptiz
 
09.11.18
17:43
(3) Вот только что сделал с произвольным ИД - всё сохраняется между клиентом и сервером.
8 Cyberhawk
 
09.11.18
17:45
(5) Передавай просто ДвоичныеДанные
9 Cyberhawk
 
09.11.18
17:47
(7) Без указания контекста выполнения метода "ПоместитьВоВременноеХранилище" информация ни о чем )
10 Franchiser
 
гуру
09.11.18
17:48
(6) если 2 сервера, неизвестно на каком из них будет инициализировано выполнение в фоне же.
11 Franchiser
 
гуру
09.11.18
17:49
(7) что конкретно ты сделал?
12 Вафель
 
09.11.18
17:49
(10) >> положить в сетевой каталог
13 Franchiser
 
гуру
09.11.18
17:51
(12) ясно, нет такого сетевого каталога
14 Franchiser
 
гуру
09.11.18
17:52
есть каталоги временных файлов в каждом отдельном случае
15 ptiz
 
09.11.18
17:53
(11) Алгоритм аналогичный тому, что в ветке про ОФ: передаю Адрес врем.хранилища (хранить можно в реквизите формы или еще где-то) в фоновое задание:

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

    ПараметрыЗадания = Новый Массив;
    ПараметрыЗадания.Добавить(АдресРезультата);
    
    ФоновыеЗадания.Выполнить("ПолныеПрава.Сформировать", ПараметрыЗадания, КлючЗадания, "ФЗ");


Ответ фонового задания прекрасно ловится по адресу АдресРезультата.
16 Franchiser
 
гуру
09.11.18
17:56
(15) попробуй файл с клиента передать
17 Вафель
 
09.11.18
18:02

&НаКлиенте
Процедура Сформировать(Команда)
    
    ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьЗавершение", ЭтотОбъект);
    НачатьПомещениеФайла(ОписаниеОповещения, , ИмяФайла , Ложь, УникальныйИдентификатор);
    
КонецПроцедуры

&НаКлиенте
Процедура ЗагрузитьЗавершение(Результат, АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
        Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("АдресХранилища", АдресХранилища);
    СкомпоноватьРезультат(РежимКомпоновкиРезультата.Непосредственно);
    
КонецПроцедуры
18 Franchiser
 
гуру
09.11.18
18:09
(17) это мне?
19 Вафель
 
09.11.18
18:11
(18) передача файла в отчет
20 Franchiser
 
гуру
09.11.18
18:21
(19) отлично, но в фоновое задание не передается
21 Franchiser
 
гуру
09.11.18
18:53
(9) Если передать файл напрямую ошибка "недопустимое значение параметра"
22 Franchiser
 
гуру
09.11.18
19:14
(21) мой косяк
(9) действительно можно передать двоичные данные без ВХ
23 Franchiser
 
гуру
09.11.18
20:02
24 Cyberhawk
 
12.11.18
09:53
Ну как там, получилось?
25 Franchiser
 
гуру
12.11.18
22:13
(24) да, все отлично: файл передал напрямую
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн