Можно ли как-то получить ссылку ещё не записанного документа?

1. Дмитрий Копейкин (nodalt) 3 30.11.12 17:43 Сейчас в теме
В синт. помощнике есть методы:
ПолучитьСсылкуНового()
ПолучитьСсылку()
Новый УникальныйИдентификатор


Но не получилось у меня их склеить так чтобы добиться нужного результата.

Создаю документ:
НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();


Затем мне нужно без записи получить ссылку на этот документ:
Переменная = НовыйДокумент.Ссылка; 

Подскажите пожалуйста как это сделать?
Ответы
2. andrewks 1202 30.11.12 17:44 Сейчас в теме
Ссылку незаписанного документа никак не получишь. но можно записать документ с определённым сгенерированным гуидом
3. andrewks 1202 30.11.12 17:45 Сейчас в теме
кстати, а зачем ссылка на объект без его записи? всё равно с этой ссылкой ничего не сделаешь, даже если бы платформа и позволила её получить
4. Сергей (sergey198) 30.11.12 17:47 Сейчас в теме
Если Документ.ЭтоНовый() Тогда
// Получаем возможно уже установленную ранее ссылку нового
СсылкаНаОбъект = Документы.ПолучитьСсылкуНового();
Если ЗначениеНеЗаполнено(СсылкаНаОбъект) Тогда
// Если ссылка нового пустая, то запрашиваем ее у менеджера и устанавливаем
СсылкаНаОбъект = Документы.РеализацияТоваровУслуг.ПолучитьСсылку();
Документ.УстановитьСсылкуНового(СсылкаНаОбъект);
КонецЕсли;
Иначе
СсылкаНаОбъект = Документ.Ссылка;
КонецЕсли;
miruch; creatermc; EMelihoff; Dr.ZIG; mikele_bes; ixilimuse; kirlog; shulz; kasper076; nodalt; +10 1 Ответить 2
5. Дмитрий Копейкин (nodalt) 3 30.11.12 17:50 Сейчас в теме
(3) andrewks, да сам пока не знаю, нужна ли она мне. Методы увидел, попробовал - не получается. Вот и захотелось узнать. Но бывают такие ситуации, когда программно создаёшь объект, потом показываешь форму объекта пользователю и он уже решает: записывать или нет. А в промежутке между принятием решения нужна ссылка. Может быть это неправильно или не оптимально, но всё же ...
6. Дмитрий Копейкин (nodalt) 3 30.11.12 17:52 Сейчас в теме
(4) sergey198, ааааа, вон оно как! Спасибо, попробую ...
6. andrewks 1202 30.11.12 17:52 Сейчас в теме
А в промежутке между принятием решения нужна ссылка.

если объект не записан в базу, то в промежутке между принятием решения нужен объект, а не ссылка, ибо оперировать можно только с ним (объектом)
8. игорь ром (djd.sf) 30.11.12 17:52 Сейчас в теме
(1) а смысл какой? почему без записи?
9. andrewks 1202 30.11.12 17:55 Сейчас в теме
или, иными словами, ценность полученной т.н. "новой ссылки" (гуида) практически нулевая, за исключением случаев, когда нам нужно создать новый документ с заданной ссылкой (гуидом), или изменить ссылку существующего документа на другую
10. Дмитрий Копейкин (nodalt) 3 30.11.12 17:58 Сейчас в теме
(8) djd.sf, не могу сейчас привести конкретный пример, в (5) написал по этому поводу.
Давайте остановимся на следующем мотиве: "просто ради общеобразовательных целей" =)
Ну увидел методы, а воспользоваться не получилось - вот и спросил.
Спасибо всем за обсуждение.
11. игорь ром (djd.sf) 30.11.12 17:59 Сейчас в теме
(5) ну, тогда смею предположить что-то типа такого(в качестве шутки;))):

НачатьТранзакцию();

/////// Запись объектов

//////

ТекстВопроса= "Сохранить?";
Ответ = Вопрос((ТекстВопроса), РежимДиалогаВопрос.ДаНет, 0);
Если Ответ = КодВозвратаДиалога.Нет Тогда
ОтменитьТранзакцию();
Возврат;
КонецЕсли;
ЗафиксироватьТранзакцию();
ЗЫ, Но что-то мне кажется, что все это извращение. Если это пакетная запись (и скорее всего на стороне сервера) от клиента мало, что зависит. Объекты по-любому надо записать. Потом их можно удалить. Если же речь об одном объекте, то не проще сначала спросить пользователя, потом записать?
12. Алекс Ю (AlexO) 116 30.11.12 18:04 Сейчас в теме
(1) nodalt, (2) andrewks,
1C - это не ЯП ООП.
Здесь ссылка имеет одно единственное значение - по ней идентифицируется объект в базе.
Если нет объекта в базе - нет и ссылки на него.
Все остальное - это не ссылка, а игры с цифрами.
(4) sergey198,
не путайте 1сников, ваша "ПолучитьСсылкуНового" получает пустое место, а не ссылку - по ней потом НИЧЕГО не найдешь, если объект не сохранен в базе.
Manticor; nodalt; +2 Ответить 1
13. andrewks 1202 30.11.12 18:08 Сейчас в теме
(12) AlexO, именно поэтому я специально и писал "ссылка (гуид)", ибо, пока объекта нет в БД, то такая "ссылка" является виртуальной, несуществующей
14. Алекс Ю (AlexO) 116 30.11.12 18:15 Сейчас в теме
(13) andrewks,
да это вообще не ссылка, даже в ковычках, а пустой набор цифр, ничего не отражающий :)
15. Роман Шамкин (luckily) 23.12.16 08:38 Сейчас в теме
Недавно сталкивался с этим. Нужно копать по этой процедуре УстановитьНовыйНомер()
16. Сергей Кулешов (KulSer) 24.06.17 12:27 Сейчас в теме
На сайте http://guesto.ru нашел познавательный примерчик на эту тему.
Вот ссылка, если кому интересно. http://guesto.ru/1c-polucheniye-ssylki-ne-zapisannogo-obyekta/
Мне самому было интересно.
Оставьте свое сообщение