|
Запутался в УстановитьСсылкуНового() и ПолучитьСсылкуНового() | ☑ | ||
---|---|---|---|---|
0
Wobland
28.09.11
✎
10:16
|
как это всё работает? исходная задача: программно создаю контрагента и договор (подчинённый справочник). записывать не хочу. так вот владелец у договора не проставляется. делаю так:
Контрагент=Справочники.Контрагенты.СоздатьЭлемент(); СсылкаНового=Справочники.Контрагенты.ПолучитьСсылку(); Контрагент.УстановитьСсылкуНового(СсылкаНового); Договор=Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); Договор.Владелец=Контрагент.ПолучитьСсылкуНового(); |
|||
1
Ненавижу 1С
гуру
28.09.11
✎
10:20
|
(0) откуда знаешь,что не проставляется?
|
|||
2
PR
28.09.11
✎
10:21
|
(1) Интуиция :))
|
|||
3
Wobland
28.09.11
✎
10:22
|
(1) в отладчике гляжу - объект не найден. то же самое и на форме открывшегося договора
|
|||
4
Wobland
28.09.11
✎
10:22
|
+(3) Контрагент.Ссылка.УникальныйИдентификатор(), кстати, равен 00000000-0000-0000-0000-000000000000, а СсылкаНового.УникальныйИдентификатор() уже что-то осмысленное
|
|||
5
sda553
28.09.11
✎
10:23
|
То что объект не найден говорит что у тебя все отлично отработало. А что ты там ожидал увидеть. Когда объект запишется он станет найденным
|
|||
6
Beduin
28.09.11
✎
10:23
|
(4) А договор ты записываешь при этом?
|
|||
7
sda553
28.09.11
✎
10:24
|
Контрагент=Справочники.Контрагенты.СоздатьЭлемент();
СсылкаНового=Справочники.Контрагенты.ПолучитьСсылку(); Контрагент.УстановитьСсылкуНового(СсылкаНового); Договор=Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); Договор.Владелец=Контрагент.ПолучитьСсылкуНового(); .... Контрагент.Записать(); Вот после это и проверь в отладчике, что в договоре стало |
|||
8
Wobland
28.09.11
✎
10:27
|
(7) в договоре та же ерунда. хотя в отладчике после Записать() всё нормально. другой вопрос задам. ожидать того, что незаписанный владелец у договора присвоится корректно идеологически неверно?
|
|||
9
sda553
28.09.11
✎
10:29
|
(8) То что присваевается "Объект не найден" как раз и говорит что договор от контрагента которого в базе нет и в базу этот контрагент не записан. Т.е. то что поставлено в первой задаче решено.
Идеологически же неправильно. По идеологии надо завести контрагента "Нет контрагента" и такие договора скидывать на него. |
|||
10
Wobland
28.09.11
✎
10:30
|
(9) в голове стало яснее, спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |