![]() |
|
8.3.12 Фоновое задание + Поместить во временное хранилище + ОФ | ☑ | ||
---|---|---|---|---|
0
Air777
16.08.18
✎
16:55
|
До 8.3.10 хоть как то работало в обычных формах. В 8.3.12 окончательно сломали. Выходит штатного рабочего метода вернуть результат в обычных формах теперь нет вовсе. Опять тягать через Ж.. простите, через базу и сериализацию в строку наше всё (
Спасибо вам разработчики. |
|||
1
polosov
16.08.18
✎
17:00
|
"Повторное указание в качестве параметра Адрес метода ПоместитьВоВременноеХранилище() значения, для которого применялся метод УдалитьИзВременногоХранилища(), приведет к исключению.
В режиме совместимости с версией 8.3.11 поведение не изменилось." Ты про это? |
|||
2
PiotrLoginov
16.08.18
✎
17:01
|
(0) Во-первых, ИМНИП, критика платформы здесь запрещена. Во-вторых, почему у меня все возвращает из ФЗ?
|
|||
3
PiotrLoginov
16.08.18
✎
17:02
|
*ЕМНИП
|
|||
4
Air777
16.08.18
✎
17:13
|
(1) в описании изменений к платформе нет этого но глядя в то что они ковырялись там очевидно да.
Я про ПоместитьВоВременноеХранилище(<Данные>, <Адрес>) ... Сохраняет сериализуемое значение во временное хранилище. ... Примечание: Временное хранилище, сформированное в одном сеансе, недоступно из другого сеанса. Исключением является возможность передачи данных из фонового задания в сеанс, инициировавший фоновое задание, с помощью временного хранилища. Для такой передачи следует в родительском сеансе поместить во временное хранилище пустое значение, передав идентификатор формы. Затем полученный адрес передать в фоновое задание через параметры фонового задания. Далее, если этот адрес использовать в параметре <Адрес>, то результат будет скопирован в сеанс, из которого было запущено фоновое задание. Данные, помещенные во временное хранилище в фоновом задании, не будут доступны из родительского сеанса до момента завершения фонового задания. Данные, помещенные в фоновом сеансе в хранилище по сформированному в родительском сеансе адресу, сразу после помещения становятся недоступными в фоновом сеансе. |
|||
5
Air777
16.08.18
✎
17:15
|
Изменение режима совместимости не решает проблему.
|
|||
6
Air777
16.08.18
✎
17:16
|
Есть много сообщений на форуме на эту тему. Оно хоть и криво но работало. Многие комментаторы отмечали что кривизна - фича.
Теперь умерла даже фича |
|||
7
Cyberhawk
16.08.18
✎
17:16
|
Сообщить + ПолучитьСообщенияПользователя решает
|
|||
8
DTX 4th
16.08.18
✎
17:20
|
(4) Тип это работает только в УФ?
|
|||
9
Air777
16.08.18
✎
17:21
|
(7) мне нужно вернуть с сервера сгенерированные табличные документы. А там только текст. Варианты через Ж я знаю еще как минимум еще 2. Но я хотел штатный
|
|||
10
Air777
16.08.18
✎
17:21
|
(8)Да и это расходится с описанием
|
|||
11
Вафель
16.08.18
✎
17:22
|
(10) зачем ты ОФ платформу обновляешь?
|
|||
12
Air777
16.08.18
✎
17:24
|
(11) Ну не обновлять это вообще не вариант. Есть другие изменения в платформе которые интересны.
|
|||
13
Cyberhawk
16.08.18
✎
17:25
|
(9) "там только текст" // Не знаю, где "там", но через строку можно все что хочешь передать
|
|||
14
Air777
16.08.18
✎
17:27
|
(13) Я же не сказал что это не вариант. Да это вариант но он и с той же грядки нештатных методов. Разрабы штатные то курочат а нештатные и подавна. Возьмут завтра введут лимит на длину строки и опять досвидос или еще чего.
|
|||
15
Air777
16.08.18
✎
17:29
|
+ передавать строкой большой файл это затратно. Я замеры делал через временное хранилище существенно быстрее на больших данных так как реально только указатель в памяти передается. А тут текстовый поток безмерной длины
|
|||
16
Cyberhawk
16.08.18
✎
17:29
|
Я так понял тебе не нужно что-то получать из ФЗ пока оно не завершено - тебе достаточно просто по его завершению получить результат, так?
|
|||
17
Air777
16.08.18
✎
17:30
|
да
|
|||
18
Cyberhawk
16.08.18
✎
17:31
|
Выполняй вызов ФЗ и получение его результата на сервере, а не на клиенте
|
|||
19
Air777
16.08.18
✎
17:32
|
На клиент как я передам значение результата?
|
|||
20
Air777
16.08.18
✎
17:32
|
Это ж ОФ
|
|||
21
Cyberhawk
16.08.18
✎
17:33
|
Какие проблемы?
|
|||
22
Air777
16.08.18
✎
17:34
|
(21)Разверни ответ я не понял
|
|||
23
Air777
16.08.18
✎
17:37
|
Народ у кого то тут есть доступ к партнерскому форуму? Пожалуйста переадресуйте вопрос туда.
На мой взгляд это очевидный баг и несоответствия описанию |
|||
24
Новиков
16.08.18
✎
17:41
|
И что писать? Вот это? "8.3.12 Фоновое задание + Поместить во временное хранилище + ОФ"?
|
|||
25
Cyberhawk
16.08.18
✎
17:41
|
(22) Опиши как передаешь в ФЗ адрес ВХ
|
|||
26
Air777
16.08.18
✎
17:55
|
//Модуль формы
Перем Ключ; Процедура Выполнить() АдресРезультата=ПоместитьВоВременноеХранилище(Неопределено,Новый УникальныйИдентификатор); Параметры=Новый Массив; Параметры.Добавить(АдресРезультата); Ключ=Новый УникальныйИдентификатор; ФоновыеЗадания.Выполнить("ПолныеПрава.Сформировать",Параметры, Ключ, "ФЗ"); ПодключитьОбработчикОжидания("ПроверкаГотовности",1); КонецПроцедуры // Процедура ПроверкаГотовности() Экспорт ФильтрОтбора = Новый Структура("Наименование,Ключ,Состояние", "ФЗ", Ключ, СостояниеФоновогоЗадания.Завершено); МассивЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(ФильтрОтбора); Если МассивЗаданий.Количество() > 0 Тогда Значение=ПолучитьИзВременногоХранилища(АдресРезультата); Сообщить(Значение); … КонецЕсли; КонецПроцедуры //Серверный модуль ПолныеПрава Процедура Сформировать(АдресРезульта) Экспорт Результат=1; ПоместитьВоВременноеХранилище(Результат, АдресРезульта); КонецПроцедуры |
|||
27
Air777
16.08.18
✎
17:56
|
Всегда возвращает Неопределено хотя должно быть 1
|
|||
28
Air777
16.08.18
✎
17:58
|
на 8.3.8 и 8.3.10 в файловой работает идеально в серверной со 2й попытки. В 8.3.12 в серверной не работает вовсе
|
|||
29
Air777
16.08.18
✎
18:05
|
Тестировал на 8.3.12.1595
|
|||
30
Cyberhawk
16.08.18
✎
18:06
|
Выполняй код получения адреса ВХ и вызова ФЗ на сервере
|
|||
31
Fragster
гуру
16.08.18
✎
18:13
|
Ну вообще помещенные во временное хранилище данные протухают при следующем вызове, если не указать при помещении идентификатор формы. Это по документации так. то, что работало в 8.3.8 - случайность :)
|
|||
32
Cyberhawk
16.08.18
✎
18:17
|
"помещенные во временное хранилище данные протухают при следующем вызове, если не указать при помещении идентификатор формы" // Ошибаешься
|
|||
33
mszsuz
16.08.18
✎
18:20
|
(26) А в ОФ можно в модуле формы объявлять переменную "Параметры"?
|
|||
34
mszsuz
16.08.18
✎
18:23
|
(31) серьезно?
|
|||
35
Air777
16.08.18
✎
18:27
|
Ребят может таки переадресуете вопрос на партнерский форум а?
Все таки хотелось бы внятного ответа, а не гадания на кофейной гуще. Заранее спасибо. |
|||
36
Air777
16.08.18
✎
18:28
|
(30) это никак не решает проблему передачи результат между сервером и клиентом. Сам сервер не хранит состояние, а в базу я это писать не хочу. Остается только в строку, но это тоже не подходит.
|
|||
37
Cyberhawk
16.08.18
✎
18:29
|
Какую проблему?
|
|||
38
mszsuz
16.08.18
✎
18:30
|
(35) Там ошибками не занимаются. Пиши на v8@1c.ru
|
|||
39
mszsuz
16.08.18
✎
18:33
|
(36) Посмотри в отладчике, в Сформировать(АдресРезульта) параметром точно адрес прилетает?
|
|||
40
mszsuz
16.08.18
✎
18:38
|
(31) "Если передан УникальныйИдентификатор, не являющийся уникальным идентификатором формы, то значение будет удалено после завершения сеанса пользователя."
т.е. значение будет храниться всё время сеанса. И оно должно быть сериализуемым. |
|||
41
Fragster
гуру
16.08.18
✎
18:47
|
(40) ну там же описание для фоновых написано - только УИД формы для передачи между сеансами катит
|
|||
42
Air777
16.08.18
✎
23:39
|
(39) точно, это выдержка из рабочего кода.
|
|||
43
Agidel
09.11.18
✎
10:52
|
А если вместо
АдресРезультата=ПоместитьВоВременноеХранилище(Неопределено,Новый УникальныйИдентификатор); написать АдресРезультата=ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |