1. nodalt 2 30.11.12 17:43 Сейчас в теме

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

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


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

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


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

Подскажите пожалуйста как это сделать?
Ответы
Избранное Подписка Сортировка: Древо
8. djd.sf 30.11.12 17:52 Сейчас в теме
(1) а смысл какой? почему без записи?
10. nodalt 2 30.11.12 17:58 Сейчас в теме
(8) djd.sf, не могу сейчас привести конкретный пример, в (5) написал по этому поводу.
Давайте остановимся на следующем мотиве: "просто ради общеобразовательных целей" =)
Ну увидел методы, а воспользоваться не получилось - вот и спросил.
Спасибо всем за обсуждение.
12. AlexO 126 30.11.12 18:04 Сейчас в теме
(1) nodalt, (2) andrewks,
1C - это не ЯП ООП.
Здесь ссылка имеет одно единственное значение - по ней идентифицируется объект в базе.
Если нет объекта в базе - нет и ссылки на него.
Все остальное - это не ссылка, а игры с цифрами.
(4) sergey198,
не путайте 1сников, ваша "ПолучитьСсылкуНового" получает пустое место, а не ссылку - по ней потом НИЧЕГО не найдешь, если объект не сохранен в базе.
jobkostya1c8; Manticor; nodalt; +3 Ответить
13. andrewks 1262 30.11.12 18:08 Сейчас в теме
(12) AlexO, именно поэтому я специально и писал "ссылка (гуид)", ибо, пока объекта нет в БД, то такая "ссылка" является виртуальной, несуществующей
14. AlexO 126 30.11.12 18:15 Сейчас в теме
(13) andrewks,
да это вообще не ссылка, даже в ковычках, а пустой набор цифр, ничего не отражающий :)
2. andrewks 1262 30.11.12 17:44 Сейчас в теме
Ссылку незаписанного документа никак не получишь. но можно записать документ с определённым сгенерированным гуидом
3. andrewks 1262 30.11.12 17:45 Сейчас в теме
кстати, а зачем ссылка на объект без его записи? всё равно с этой ссылкой ничего не сделаешь, даже если бы платформа и позволила её получить
5. nodalt 2 30.11.12 17:50 Сейчас в теме
(3) andrewks, да сам пока не знаю, нужна ли она мне. Методы увидел, попробовал - не получается. Вот и захотелось узнать. Но бывают такие ситуации, когда программно создаёшь объект, потом показываешь форму объекта пользователю и он уже решает: записывать или нет. А в промежутке между принятием решения нужна ссылка. Может быть это неправильно или не оптимально, но всё же ...
11. djd.sf 30.11.12 17:59 Сейчас в теме
(5) ну, тогда смею предположить что-то типа такого(в качестве шутки;))):

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

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

//////

ТекстВопроса= "Сохранить?";
Ответ = Вопрос((ТекстВопроса), РежимДиалогаВопрос.ДаНет, 0);
Если Ответ = КодВозвратаДиалога.Нет Тогда
ОтменитьТранзакцию();
Возврат;
КонецЕсли;
ЗафиксироватьТранзакцию();
ЗЫ, Но что-то мне кажется, что все это извращение. Если это пакетная запись (и скорее всего на стороне сервера) от клиента мало, что зависит. Объекты по-любому надо записать. Потом их можно удалить. Если же речь об одном объекте, то не проще сначала спросить пользователя, потом записать?
4. sergey198 30.11.12 17:47 Сейчас в теме
Если Документ.ЭтоНовый() Тогда
// Получаем возможно уже установленную ранее ссылку нового
СсылкаНаОбъект = Документы.ПолучитьСсылкуНового();
Если ЗначениеНеЗаполнено(СсылкаНаОбъект) Тогда
// Если ссылка нового пустая, то запрашиваем ее у менеджера и устанавливаем
СсылкаНаОбъект = Документы.РеализацияТоваровУслуг.ПолучитьСсылку();
Документ.УстановитьСсылкуНового(СсылкаНаОбъект);
КонецЕсли;
Иначе
СсылкаНаОбъект = Документ.Ссылка;
КонецЕсли;
tigcorp; freeek; stol6; myoker; pim1c; NN2P; user624351_support; Saint13; miralisssa; creatermc; EMelihoff; Dr.ZIG; mikele_bes; ixilimuse; kirlog; shulz; kasper076; nodalt; +18 1 Ответить
6. nodalt 2 30.11.12 17:52 Сейчас в теме
(4) sergey198, ааааа, вон оно как! Спасибо, попробую ...
6. andrewks 1262 30.11.12 17:52 Сейчас в теме
А в промежутке между принятием решения нужна ссылка.

если объект не записан в базу, то в промежутке между принятием решения нужен объект, а не ссылка, ибо оперировать можно только с ним (объектом)
9. andrewks 1262 30.11.12 17:55 Сейчас в теме
или, иными словами, ценность полученной т.н. "новой ссылки" (гуида) практически нулевая, за исключением случаев, когда нам нужно создать новый документ с заданной ссылкой (гуидом), или изменить ссылку существующего документа на другую
15. luckily 23.12.16 08:38 Сейчас в теме
Недавно сталкивался с этим. Нужно копать по этой процедуре УстановитьНовыйНомер()
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 110 000 руб. до 120 000 руб.
Полный день

Аналитик 1С
Санкт-Петербург
зарплата от 80 000 руб.
Полный день

Программист 1С
Самара
зарплата от 50 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день