Имя: Пароль:
1C
1С v8
Не получается сохранить в (или прочитать из) ХранилищеЗначений
0 ADV
 
03.02.26
15:26
8.3.27.1936, управляемое приложение
в справочнике есть реквизит Содержание и реквизит формы (строка) ТекстНаФорме.
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ТекущийОбъект.Содержание = Новый ХранилищеЗначения(ТекстНаФорме);
КонецПроцедуры здесь в отладчике ТекущийОбъект.Содержание.Получить();
показывает правильное значение
При чтении
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ТекстНаФорме = ТекущийОбъект.Содержание.Получить();
КонецПроцедуры
получаю получаю пустое значение.
Что делаю неправильно?
1 Ненавижу 1С
 
гуру
03.02.26
15:43
(0) попробуйте прочитать через запрос/консоль
посмотрите, что происходит в событиях объекта и подписках
2 ADV
 
03.02.26
15:48
(1) запросом я пробовал смотреть, возвращается значение реквизита ХранилищеЗначений. Но вероятно Вы советуете какой-то иной способ, который мне непонятен
3 Мультук
 
гуру
03.02.26
16:51
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ТекущийОбъект.Содержание = Новый ХранилищеЗначения(ТекстНаФорме);
КонецПроцедуры 


&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)

   //Присвоили локальной переменной и выбросили в мусор
   ТекстНаФорме = ТекущийОбъект.Содержание.Получить();

   //Можно попробовать вот так
   ЭтаФорма.ТекстНаФорме = ТекущийОбъект.Содержание.Получить();

КонецПроцедуры 


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    //так работает. Копи-паст из рабочего кода
    ЭлементОбъект = РеквизитФормыВЗначение("Объект");
    ТекстНаФорме  = ЭлементОбъект.Содержание.Получить(); 
КонецПроцедуры



//Но имхо 1С тебя пошлет, ибо {ПриЧтенииНаСервере} никакой формы (как я понимаю, ещё нет)
Ерунду написал, спс (5)
4 ADV
 
03.02.26
16:01
добавил аналогичные реквизит справочника, реквизит формы и код в справочник, который был в конфигурации, все сработало. Получается дело в какой-то настройке добавленного мною справочника?
5 Ненавижу 1С
 
гуру
03.02.26
16:37
(3)

//Но имхо 1С тебя пошлет, ибо никакой формы (как я понимаю, ещё нет)

откуда вы это берете? а ничего что это событие формы?
6 Ненавижу 1С
 
гуру
03.02.26
16:39
(4) может на событие ПриЧтенииНаСервере не подписана форма?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший