Имя: Пароль:
1C
 
Не могу вернуть данные с сервера по указанному адресу. Подкажите, плж
0 Лунтик
 
22.03.26
13:10
```
&НаКлиенте
Процедура Тест()
Адрес=ПоместитьВоВременноеХранилище(неопределено);
ОбработатьНаСервере(Адрес);    
х=ПолучитьИзВременногоХранилища(Адрес);
Сообщить(х); //<----------------- ничего не выводит
конецпроцедуры

процедура ОбработатьНаСервере(Адрес)
ПоместитьВоВременноеХранилище(1, Адрес);
конецпроцедуры
```

Почему единица не выводится??
1 H A D G E H O G s
 
22.03.26
13:44
А если
Адрес=ПоместитьВоВременноеХранилище(неопределено);
заменить на
Адрес=ПоместитьВоВременноеХранилище(неопределено,ЭтаФорма.УникальныйИдентификатор);
2 craxx
 
22.03.26
16:43
(1) ЭтаФорма - легаси.
ЭтотОбъект надо
3 Garykom
 
гуру
22.03.26
16:45
И вот это наше ближайшее будущее? Нейрослопы?
4 Маленький Вопросик
 
22.03.26
18:52
15 лет "опыта" на мисте)
5 timurhv
 
22.03.26
19:04
Синтаксис:
ПоместитьВоВременноеХранилище(<Данные>, <Адрес>)

<Адрес> (необязательный)
Тип: УникальныйИдентификатор, Строка.
...
Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.
6 timurhv
 
22.03.26
19:13
Адрес = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
7 Garykom
 
гуру
22.03.26
20:12
(6) Не возникает вопрос зачем помещать "Неопределено"?
И ожидать "1" в сообщить...
8 timurhv
 
22.03.26
21:16
(7) Нет, тут всю логику не выложили в (0), просто в качестве примера на пальцах что у автора происходит.

Скорее всего, вместо неопределено на сервер с клиента какие-то данные, а потом обратно и там уже ничего нет.
9 Garykom
 
гуру
22.03.26
21:25
Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.

Скорее всего сработало неявное поведение платформы
По сути даже не баг а фича

1. Засунул во временное хранилище без адреса - получил временный адрес, значение будет того при очередном вызове
2. Затем использовал этот адрес для помещения другого значения
3. Получил упс, ибо вероятно фоновый процесс в это же время грохает значение по этому адресу

Чтобы такого не происходило, надо использовать как начальный адрес или уникальный идентификатор формы
Или Новый УникальныйИдентификатор
10 Лунтик
 
25.03.26
20:07
о, слово новое! загуглила - КРУТЬ!

Слово slop в переводе с английского языка изначально означало помои или еду такой жидкой консистенции, что ее неприятно есть.
11 Лунтик
 
25.03.26
20:12
Фраза "значение будет того" - самая годная)) спс!
12 Лунтик
 
25.03.26
20:20
А подскажите, пожалуйста, еще - в какой момент память будет того?
в момент чтения по этому адресу или память будет занята вечно (пока пользовательский сеанс длится)?
имеется в виду такой синтаксис, без второго параметра
и до сервера, скажем, дело не дошло (фоновый процесс не запустился)
13 Garykom
 
гуру
25.03.26
21:03
(12) Это надо у разрабов платформы 1С спрашивать
Или тестами
14 rozer76
 
25.03.26
21:30
(12) емнип, если там уникальныйидентификатор формы то живет пока жива форма, если Новый Уникальныйидентификатор то живет до конца сеанса
15 H A D G E H O G s
 
25.03.26
21:38
(14)
если Новый Уникальныйидентификатор то живет до конца сеанса -

живет 20 минут.
16 Garykom
 
гуру
25.03.26
21:56
(15) Там вроде есть методы продлить
Кажется каждая запись или чтение продлевает, точно не помню
Были темы что в длительных фоновых приходилось обновлять или как-то так
17 Garykom
 
гуру
25.03.26
21:57
(16)+ Причем возможно в разных версиях платформ 1С разное поведение
А еще время жизни может зависеть от где создано или куда передано
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой