Имя: Пароль:
1C
1С v8
Как получать значение параметра из ДополнительныеСвойства
,
0 a_x_o_n
 
06.09.21
13:49
Я внес значение в ДополнительныеСвойства в модуле формы:

Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ТабЗнач = Объект.СписокУчеников.Выгрузить();
    ТекущийОбъект.ДополнительныеСвойства.Вставить("ДополнительныеДанные", ТабЗнач);    
КонецПроцедуры

Как теперь получить это значение в Модуле Объекта?
Я пытаюсь так,  но выдает что поле ДополнительныеСвойства не найдено

МассивКолонок = Документы.ОценкиПоКлассам.ДополнительныеСвойства.ДополнительныеДанные;

Подскажите пожалуйста, как получить параметр переданный в ДополнительныеСвойства?
1 1Сергей
 
06.09.21
13:50
Документы.ОценкиПоКлассам - это менеджер метаданных документа. А Вам нужен или объект или ссылка
2 acht
 
06.09.21
13:54
(0) В модуле объекта:

МассивКолонок = ДополнительныеСвойства.ДополнительныеДанные;

Ну или ЭтотОбъект.ДополнительныеСвойства.ДополнительныеДанные;
3 Dmitrii
 
гуру
06.09.21
13:55
(0) >> Модуле Объекта?

Если ЭтотОбъект.ДополнительныеСвойства.Свойство("ДополнительныеДанные") Тогда
МассивКолонок = ЭтотОбъект.ДополнительныеСвойства.ДополнительныеДанные;
Иначе
МассивКолонок = Новый Массив;
КонецЕсли;
4 a_x_o_n
 
06.09.21
13:56
(2) Поле объекта ДополнительныеДанные не обнаружено
5 a_x_o_n
 
06.09.21
14:01
(3) Аналогично, поле объекта ДополнительныеДанные не обнаружено. А в условии "Если" результат Ложь
6 a_x_o_n
 
06.09.21
14:13
Возможно ли такое что модуль объекта процедура "ПриЗаписи" У меня выполнится первее чем процедура "ПриЗаписи" у модуля формы? Тк поулчается что значение я заношу в модуле формы и если первым выполняется модуль объекта то конечно значения там еще нет
7 a_x_o_n
 
06.09.21
14:18
Да, процедура ПриЗаписи в модуле формы выполняется первее чем процедура при записи у модуля формы. отсюда и отсутствие значения в дополнительныеДанные
8 a_x_o_n
 
06.09.21
14:20
Поменял процедуру в модуле формы на ПередЗаписьюНаСервере и все заработало
благодарю всем за помощь
9 Вафель
 
06.09.21
14:22
(3)  Если БСП, то проще писать

МассивКолонок  = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ДополнительныеДанные", Новый Массив);
10 Dmitrii
 
гуру
06.09.21
14:53
(9) Согласен, что проще.
Но я с некоторых пор боюсь лишний раз использовать БСП без особой необходимости, чтобы потом не переписывать кучу кода из-за того, что в очередной новой версии БСП решили вдруг перенести или переписать какие-то методы или функции, параллельно отказавшись от обратной совместимости.