Имя: Пароль:
1C
 
Установить ДопСвойства из обработки для документа - можно?
,
0 mikecool
 
28.04.16
09:41
Подумалось, что в обработке отработает
Заказ = Документы.ЗаказКлиента.СоздатьДокумент();
Заказ.ДополнительныеСвойства.Вставить("ПрограмноеСозданиеИзРеализации", Истина); // вот это
Заказ.Заполнить(Реализация);

однако не работает, нет в инициализации документа такого свойства
может я не так пишу или как тогда указать объекту это мое свойство?
1 Рэйв
 
28.04.16
09:43
в каком месте ты их ищешь?
2 mikecool
 
28.04.16
09:45
(1) после обработки стартует Инициализироватьдокумент - вот здесь и хочу поймать
3 mikecool
 
28.04.16
09:45
+2 после обработкизаполнения
4 Рэйв
 
28.04.16
09:46
(2)покажи код как пробуешь получить. Помоему ты или не у того объекта их ищешь
5 Рэйв
 
28.04.16
09:47
или лни гдето переопределяются
6 mikecool
 
28.04.16
09:54
судя по
ДокументОбъект.<Имя документа>.ДополнительныеСвойства (DocumentObject.<Имя документа>.AdditionalProperties)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ДополнительныеСвойства (AdditionalProperties)
Использование:

Только чтение.
Описание:

Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.

должны передаваться
7 mikecool
 
28.04.16
09:55
(4) в заказе отрабатывает
ОбработкаЗаполнения
ИнициализироватьДокумент
и здесь я спрашиваю
Если Не ДополнительныеСвойства.Свойство("ПрограмноеСозданиеИзРеализации") Тогда
выдает Ложь на наличие свойства
8 Рэйв
 
28.04.16
09:57
(7)Выведи в табло
Заказ.ДополнительныеСвойства.ПрограмноеСозданиеИзРеализации

и проследи отладчиком с рождения до момента как где оно исчезает и там смотри почему
9 mikecool
 
28.04.16
10:01
(8) вот жешь
Заказ.ДополнительныеСвойства.Вставить("ПрограмноеСозданиеИзРеализации", Истина);
в структуре нет ни одного свойства
выполняю на сервере без контекста, может от него вставлять не хочет?
10 aleks_default
 
28.04.16
10:02
(9)видимо отладчик для тебя табу?
11 mikecool
 
28.04.16
10:05
(10) думаешь, откуда я узнал (9)?
12 hhhh
 
28.04.16
10:07
(11) попробуй

Заказ000.ДополнительныеСвойства.Вставить("ПрограмноеСозданиеИзРеализации", Истина);
13 Живой Ископаемый
 
28.04.16
10:09
2(0) Доп.свойства - это реквизит инстанса объекта в памяти. Не в базе данных. То есть ты даже можешь инстанциировать два объекта, которые будут по сути одним и тем же объектом в БД, и установить ему разные доп.свойства.
Зачем правда так делать, с учетом того что записаться сможет только тот кто запишется первый - не понятно.
Но вот такой вот факт
14 mikecool
 
28.04.16
10:11
(12) а вот заменить имя переменной с Заказ на _Заказ помогло, спасибо
хотя никаких заказов больше не было создано... чудо )
15 Живой Ископаемый
 
28.04.16
10:11
ну и само собой если это разные контексты, то и объекты разные, если только мы не передаем как-то этот объект из олдного контекста в другой - по ссылке или копируя все свойства (в том. числе и доп.) (во-втором случае правда объект все равно другой, но у него хоть значения свойств такие же, и нам этого может быть достаточно)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.