Имя: Пароль:
1C
1С v8
Менять значение доп реквизита ПриЗаписи()
0 Segate
 
06.02.14
10:45
Не могу понять, как изменить значение доп реквизита при записи объекта?

У меня есть доп реквизит Дата, при соблюдении каких то условий, я должен писать в него дату. Но не могу понять как.
При записи в ТЧ допРеквизиты его еще нет(если дата не заполнена), создать новую строку(дополнительныеРеквизиты.Добавить()) не получается. А процедура УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ссылка,табСвойства)
Вызывает конфликт блокировок...
Как правильно работать с доп реквизитами?
1 Segate
 
06.02.14
11:16
ап =)

Строка=ссылка.ПолучитьОбъект().ДополнительныеРеквизиты.Добавить();
Строка.Свойство=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Дата закупки");
Строка.Значение = ТекущаяДата();
Такой код создает строку, и строка имеет тип Документ табличная часть строка.
Но при этом в ТЧ дополнительные реквизиты ее все равно нет.
Как это побороть?
2 Segate
 
06.02.14
11:45
неужели способов программного заполнения Доп реквизитов нет?

Помогите, кто сталкивался
3 AaNnDdRrEeYy
 
06.02.14
11:51
без вот этого надо
Строка=ссылка.ПолучитьОбъект()

зачем еще одну копию объекта в памяти разворачивать?

используй ту же что уже есть

Строка = ЭтотОбъект.ДополнительныеРеквизиты.Добавить();

а еще луче делать это ПередЗаписью()
4 Defender aka LINN
 
06.02.14
11:52
(0) При записи объект УЖЕ записан.
5 AaNnDdRrEeYy
 
06.02.14
11:56
(4) однако все еще можно вернуть, Отказ=Истина.
совсем совсем записан - уже после записи
6 Torquader
 
06.02.14
11:57
А, может быть, стоит попробовать ПередЗаписью ?
7 Defender aka LINN
 
06.02.14
11:59
(5) Это просто транзакция не зафиксирована
8 Segate
 
06.02.14
12:06
(3)Спасибо =) Это и так делается перед записью.

Понял в чем моя проблема.
Я поднимал ПолучитьОбъект, и потом не сохранял его(не мог сохранить, потому как он заблокирован), и в этом случае строка ТЧ не сохранялась и умирала вместе с окончанием процедуры.

ЭтотОбъект все решил.
Независимо от того, куда вы едете — это в гору и против ветра!