Вход | Регистрация
 

Реквизит типа ХранилищеЗначения очищается в форме при создании копированием

Реквизит типа ХранилищеЗначения очищается в форме при создании копированием
Я
   Xammsa
 
12.12.20 - 11:52
Добрый день!
У справочника есть реквизит с типом ХранилищеЗначения, в который при записи элемента справочника сохраняются данные, а при открытии формы извлекаются.
Всё происходит нормально, кроме создания элемента справочника копированием - в этом случае ХранилищеЗначения оказывается пустым. Все остальные реквизиты копируются.

Вот код, реквизит справочника-ХранилищеЗначения называется "НастройкиКомпоновщика". На форме есть реквизит "КомпоновщикНастроек", куда и загружаются данные из хранилища значения при создании формы.

//Сохранение
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

    ТекущийОбъект.НастройкиКомпоновщика = Новый ХранилищеЗначения(КомпоновщикНастроек.ПолучитьНастройки());

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

//Загрузка в реквизит формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    СохраненныеНастройки = об.НастройкиКомпоновщика.Получить(); //при создании копированием получает значение Неопределено
    
    КомпоновщикНастроек.ЗагрузитьНастройки(СохраненныеНастройки);            
    
КонецПроцедуры

Проверил отладчиком в модуле объекта в событии ПриКопировании() для нового элемента справочника - реквизит НастройкиКомпоновщика заполнен правильно. А вот в модуле формы он уже пуст.
Не пойму, почему это происходит только при копировании.
   Xammsa
 
1 - 12.12.20 - 11:54
В процедуре ПриСозданииНаСервере первая строчка:

Об = РеквизитФормыВЗначение("Объект");
   Вафель
 
2 - 12.12.20 - 12:08
руками копировать.
по иддее событие нужно не в присоздании, а в причтении. но для новых объектов оно увы не вызывается
   acht
 
3 - 12.12.20 - 12:12
(1) В основном реквизите, который ДанныеФормыСтруктура, этого хранилища уже нет. Странно, что он у тебя есть при обычном открытии формы.
Бери параметр формы ЗначениеКопирования (кажется так) и перечитывай из него. Ну и для уже существующих, тебе правильно говорят, надо ПриЧтении извлекать.
   Xammsa
 
4 - 12.12.20 - 13:32
Спасибо, всё получилось!

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