Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ХранилищеЗначения.получить() возвращает неопределено

ХранилищеЗначения.получить() возвращает неопределено
Я
   LevelUP
 
16.07.21 - 19:24
Здравствуйте!
Решил вот поработать с ХранилищемЗначений

- Создал реквизит документа условно "тест"
- Назначил реквизиту тип "ХранилищеЗначений"
- ПриЗаписи() в модуле документа установил значение таким образом
тест=новый ХранилищеЗначения(Новый ТаблицаЗначений);

- беру значение в модуле формы в процедуре &НаСервере
следующим кодом
обб=РеквизитФормыВЗначение("объект");
ИзХран=обб.тест.получить();


Возвращается неопределено. ЧЯДТ?
   runoff_runoff
 
1 - 16.07.21 - 19:36
не хранятся пустые значения.. надо бы добавить колонки хотя бы..
   LevelUP
 
2 - 16.07.21 - 19:39
(1)Ну я пробовал так тест=новый ХранилищеЗначения("ааа"); 
Результат тот же.
База файловая
   LevelUP
 
3 - 16.07.21 - 19:42
Читаю СП
ХранилищеЗначения (ValueStorage)
Получить (Get)
Синтаксис:
Получить()
Возвращаемое значение:
Тип: Произвольный.
Значение, содержащееся в хранилище.
Описание:
Получает из хранилища сохраненное в нем значение.
Доступность:
Сервер, толстый клиент, внешнее соединение.


Может дело в том, что я под Тонким клиентом? Но, с другой стороны, ведь при этом получаю на сервере?
   Mort
 
4 - 16.07.21 - 19:44
ПриЗаписи()  - а надо ПередЗаписью()
   LevelUP
 
5 - 16.07.21 - 20:23
(4) ПередЗаписью() заработало, спасибо!
Хотя вот строковые, например, переменные и ПриЗаписи() без проблем записываются.

Но вот теперь вопрос, можно ли записать в такую переменную с типом ХранилищеЗначения из-под модуля формы? что-то у меня не вышло пока.
По крайней мере таким кодом:

обб=РеквизитФормыВЗначение("объект");
Хран = Новый ХранилищеЗначения("ааа");
обб.тест=хран;
   Mort
 
6 - 16.07.21 - 20:35
В модуле формы надо в 

Процедура ПередЗаписью(ТекущийОбъект) 

ТекущийОбъект.тест = и.т.д.
   Mort
 
7 - 16.07.21 - 20:37
А читать в

ПриЧтенииНаСервере(ТекущийОбъект), а не в ПриСозданииНаСервере как делает большинство говнокодеров.
   Mort
 
8 - 16.07.21 - 20:40
*ПередЗаписьюНаСервере, конечно имелось в виду
   LevelUP
 
9 - 16.07.21 - 20:50
Спасибо, Mort, теперь все ясно.
Вот ТекущегоОбъекта мне и не хватало.
Так-то РеквизитФормыВЗначение("объект") прям скажем, не тот объект, который в итоге будет записан при сохранении формы документа.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.