|
ПолучитьИзВременногоХранилища возвращает Неопределено | ☑ | ||
---|---|---|---|---|
0
PsyTech
19.09.19
✎
16:06
|
Всем привет!
После перехода на платформу 1С:Предприятие 8.3 (8.3.13.1513) - работа с временным хранилищем начала иногда давать сбои. Проблема в следующем: ПоместитьВоВременноеХранилище(Неопределено) - получаем адрес и передаем его в фоновое задание, которое в цикле проверяет наличие ответа в асинхронном сервисе. В этом цикле есть ПолучитьИзВременногоХранилища(АдресВХранилище), которое иногда стало возвращать Неопределено. Это "иногда" не имеет ни какой закономерности. Как будто это хранилище очищается по какой-то причине, при этом номер соединения и сеанса не меняется. В чем может быть причина очистки хранилища? |
|||
1
Вафель
19.09.19
✎
16:07
|
а где ссылка на форму?
|
|||
2
Kashey
19.09.19
✎
16:10
|
(0) Второй параметр указывать нужно, который УИД при помещении
|
|||
3
PsyTech
19.09.19
✎
16:12
|
(1) формы нет, это рег задание
(2) А почему это до обновления 2 года работало? Вопрос в основном в этом. |
|||
4
Kashey
19.09.19
✎
16:21
|
(3) "Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы"
|
|||
5
PsyTech
19.09.19
✎
16:23
|
(4) ничего под данный случай не подходит. Справку читал)
|
|||
6
PsyTech
19.09.19
✎
16:29
|
Кстати, на другом сервере на той же платформе ошибки нет.
|
|||
7
GROOVY
19.09.19
✎
16:30
|
(6) Значит дело не в платформе.
|
|||
8
PsyTech
19.09.19
✎
16:31
|
(6) не исключено. А что может так влиять?
|
|||
9
PsyTech
20.09.19
✎
11:40
|
Выяснил, что ошибка появляется только когда через рег задание процедура запускается. Под тем же пользователем по кнопке все норм.
|
|||
10
palsergeich
20.09.19
✎
11:42
|
(9) логично, у рег задания нет гуида формы
|
|||
11
palsergeich
20.09.19
✎
11:43
|
Там же легальный способ передать между сеансами данные только через гуид формы, остальное не гарантируется
|
|||
12
Вафель
20.09.19
✎
11:45
|
(0) те ты из фонового запускаешь другое фоновое?
|
|||
13
palsergeich
20.09.19
✎
11:46
|
Если нужно гонять информацию между сеансами юзай или хранилище настроек или РС самопальный.
|
|||
14
palsergeich
20.09.19
✎
11:49
|
(12) судя по всему да.
|
|||
15
Вафель
20.09.19
✎
11:54
|
у вас случайно не несколько рабочих серверов?
|
|||
16
PsyTech
20.09.19
✎
12:16
|
(12) да, из регламентного запускаю фоновое.
|
|||
17
PsyTech
20.09.19
✎
12:17
|
(13) сеанс 1
|
|||
18
palsergeich
20.09.19
✎
12:23
|
(16) тогда по доке это запланированное поведение, а не баг.
То что работает на другой машине - грязный хак и решение с негарантированным результатом. |
|||
19
PsyTech
20.09.19
✎
12:27
|
(18) тогда почему оно работало до обновления платформы и сейчас работает, но в любой момент может сбойнуть даже на одном и том же наборе данных?
|
|||
20
palsergeich
20.09.19
✎
12:30
|
(19) потому что такое поведение возможно, но не гарантируется.
Единственный легальный способ передать информацию между сеансами по документации - это через гуид формы, все остальное не гарантируется. Читайте мануал. |
|||
21
palsergeich
20.09.19
✎
12:31
|
Так то я ТЗ могу создать на клиенте, но по доке этого нельзя, то есть в любом релизе, код который на это опирается может умереть.
|
|||
22
PsyTech
20.09.19
✎
14:00
|
"Если передан УникальныйИдентификатор, не являющийся уникальным идентификатором формы, то значение будет удалено после завершения сеанса пользователя."
|
|||
23
palsergeich
20.09.19
✎
14:41
|
(22) что не противоречит ничему
Фоновое задание это отдельный сеанс. |
|||
24
palsergeich
20.09.19
✎
14:43
|
(23) а вообще там ещё есть менеджер сеаесовых данных, и на самом деле все что не имеет уид формы живёт не более 20 минут, на ИТС вроде даже было объяснение почему так.
|
|||
25
palsergeich
20.09.19
✎
14:48
|
Ты читаешь то там, только не то.
Смотри примечание. Это то что гарантируется. А все остальные сценарии - не гарантируются. Ибо вмешивается ещё много других механизмов, для уид формы есть костыль, остальное - как повезет. |
|||
26
palsergeich
20.09.19
✎
14:53
|
Прочитай очень ВНИМАТЕЛЬНО примечание метода ПоместитьВоВременное хранилище.
Если не дойдет с первой попытки, читай до тех пор по буквам, пока до тебя не дойдет смысл первого предложения в нем. |
|||
27
palsergeich
20.09.19
✎
14:56
|
(26) И каждое фоновое задание - это отдельный сеанс.
Регламентные задание - запускает фоновое. Это сеанс раз. Запуская в фоновом фоновое - ты создаёшь сеанс 2. Если до тебя это не доходит, то увы, я дальше бессилен. |
|||
28
PsyTech
20.09.19
✎
15:36
|
спасибо кэп
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |