Имя: Пароль:
1C
 
УстановитьСсылкуНового() и ПолучитьСсылкуНового()?
0 Bobroff
 
25.09.06
11:41
В модуле формы есть код:

Процедура ПередОткрытием()
   
   Если ЭтоНовый() Тогда    
       УстановитьСсылкуНового(Справочники.МедицинскиеУчрежденияИВрачи.ПолучитьСсылку(Новый УникальныйИдентификатор()));
       Сообщить(ЭтотОбъект.ПолучитьСсылкуНового());
   КонецЕсли;
   
КонецПроцедуры;


В результате выводиться: <Объект не найден> (5372:9da0990a546eb2994abb647c2745bc80)

Потом идёт код:

Процедура ПередЗаписью(Отказ)
Если ЭтоНовый() Тогда
    Записать();
    Сообщить(Ссылка.УникальныйИдентификатор());
КонецПроцедуры;
   
В результате выводиться: 2745bc80-647c-4abb-9da0-990a546eb299

Почему разные сслыки получаються? Разве УстановитьСсылкуНового() не должно получать ссылку, которая потом будет установленна при записи?
1 Bobroff
 
25.09.06
11:59
up
2 dimoff
 
25.09.06
12:02
Это та же самая сыслка, просто когда сообщает о ненайденности объекта - пишет её немного по другому
3 Andrey_spb
 
25.09.06
12:04
(0) Ты после УстановитьСсылкуНового ещё раз получаешь новую Ссылку или я чего-то не догоняю?
4 dimoff
 
25.09.06
12:05
Напиши
Если ЭтоНовый() Тогда  
УникИдент = Новый УникальныйИдентификатор();  
       УстановитьСсылкуНового(Справочники.МедицинскиеУчрежденияИВрачи.ПолучитьСсылку(УникИдент));
       Сообщить(УникИдент);
   КонецЕсли;

Получишь то же что при записи
5 Andrey_spb
 
25.09.06
12:06
(3) а, ну да, это я гоню...
6 Bobroff
 
25.09.06
12:24
Я правильно понимаю: если сначала выполнить код:

УникИдент = Новый УникальныйИдентификатор();  
       УстановитьСсылкуНового(Справочники.МедицинскиеУчрежденияИВрачи.ПолучитьСсылку(УникИдент));

...то потом при записи элементы присвоиться ссылка, полученная в этом коде?
7 dimoff
 
25.09.06
12:26
(6) У тебя в (0) всё правильно. То что я написал - то же что в (0), это просто чтобы наглядно показать что ссылки одинаковые, просто при ошибке пишутся по разному, части уида меняются местами при выводе в табло.
8 Bobroff
 
25.09.06
12:36
(7) - thanks...