Имя: Пароль:
1C
 
не присваивается создаваемому документу ссылка
0 inkvizitr
 
14.04.23
14:18
Добрый день
пишу такой код

ДокументОБъект = Документы.ОперацияБух.СоздатьДокумент();

ПолноеИмя = ДокументОБъект.Метаданные().ПолноеИмя();
Менеджер = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
СсылкаПоИдентификатору = Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор);
    
ДокументОБъект.УстановитьСсылкуНового(СсылкаПоИдентификатору);

смотрю в отладке ссылка пустая, что делаю не так, подскажите?
1 Kigo_Kigo
 
14.04.23
14:19
а зачем?
2 Волшебник
 
14.04.23
14:21
пишите ДокументОБъект.Записать()
он сам присвоит
3 RomanYS
 
14.04.23
14:23
(0) Всё так, до записи будет пустая. Есть метод ПолучитьСсылкуНового() для проверки
4 inkvizitr
 
14.04.23
14:24
(1) мне нужно создать документ, заполнить его и открыть форму не записанного
(2) для меня ДокументОБъект.Записать() не очень решение
5 lodger
 
14.04.23
14:25
(1) в ходе транзакции чухнуть ссылку не записанного документа ещё куда-то. (в реквизит Спр, в данные РС РН и т.д.)
6 inkvizitr
 
14.04.23
14:26
(3) странно я вроде всегда считал что ПолучитьСсылку как раз генерирует ссылку и присваивает УстановитьСсылкуНового объекту до записи
7 Волшебник
 
14.04.23
14:27
(4) Сразу открывайте форму
8 piter3
 
14.04.23
14:28
Может начать с описания задачи,а не способа решения
9 inkvizitr
 
14.04.23
14:28
(5) ты прав, так и  есть нужно запихнуть ссылку не созданного документа в регистр бухгалтерии, где записи регистра так же будут в подвешенном состоянии
10 inkvizitr
 
14.04.23
14:29
(7) открыть форму записанного документа?
11 Волшебник
 
14.04.23
14:30
(9) Вы там совсем ополоумели?
12 Волшебник
 
14.04.23
14:30
(10) Открыть форму нового объекта.
13 inkvizitr
 
14.04.23
14:31
(10) а почему нет?
14 inkvizitr
 
14.04.23
14:31
(11) а почему нет?
15 Волшебник
 
14.04.23
14:33
(14) У незаписанного документа нет стабильной ссылки. Он не может являться регистратором для записей регистра. Никаких "подвешенных" записей быть не может. Они или есть, или их нет.

Да, Вы можете создать набор записей, который ещё не записан в базу и даже показать его пользователю, но не надо заниматься глупостями как в сабже.
16 lodger
 
14.04.23
14:36
имхо,
к ОперацииБух (и других похожим по механике документам в других конфах) подход "показать незаписанный, но заполненный" не очень корректно применять.
лично я обычно делаю кнопку "заполнить" для записанного документа такого типа. это на порядок легче и быстрее реализуется, а для юзера что так пляски с бубном, что эдак.
17 inkvizitr
 
14.04.23
14:40
(15) (16) спасибо за ваше мнение но мы пока пойдем другим путем, как говорится боятся это для слабаков!!!
а если ничего умнее не спроектирую, тогда будем использовать ДокументОБъект.Записать()
18 Волшебник
 
14.04.23
14:44
(17) Давайте я Вам подкину вредный совет:

Сделайте НачатьТранзакцию, потом запишите документ и откройте форму. Ссылка будет. Дальше пусть пользователь заполняет документ. Если нажмёт Отмена, то сделайте ОтменитьТранзакцию, а если ОК, то ЗафиксироватьТранзакцию.
19 Гипервизор
 
14.04.23
14:44
(17) "Когда-то и меня вела дорога приключений" ))
20 Мультук
 
14.04.23
14:47
(18)

НачатьТранзакцию не живёт в тонком клиенте
ОткрытьФорму -- не живёт на сервере

Так что -- увы.
21 Волшебник
 
14.04.23
14:51
(20) Ну может у них толстый клиент, тогда всё получится
22 RomanYS
 
14.04.23
15:02
(6) Есть небольшая разница:
ПолучитьСсылку - это метод менеджера
ПолучитьСсылкуНового - это метод объекта

Откройте уже СП
23 Мимохожий Однако
 
15.04.23
06:51
(0) Покажи код, как открываешь создаваемый документ ОперацияБух
24 banco
 
17.04.23
16:07
А зачем вот это все?
ПолноеИмя = ДокументОБъект.Метаданные().ПолноеИмя();
Менеджер = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
СсылкаПоИдентификатору = Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор);

Ты же знаешь что за документ. Почему не писать сразу
Документы.ОперацияБух.ПолучитьСсылку