Имя: Пароль:
1C
 
Записать объект с указанным идентификатором
0 Stim
 
05.12.15
23:16
Что-то туплю.
ПРостая обработка,на форме выведен реквизит ИД.

Код обработки:



&НаКлиенте
Процедура ИДПриИзменении(Элемент)
    ИДПриИзмененииНаСервере();
КонецПроцедуры

&НаСервере
Процедура ИДПриИзмененииНаСервере()
    Сообщить(ИД);
    НайденныйКонтрагент = Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор(ИД));
    Сообщить(Строка(НайденныйКонтрагент));
    
    Если НЕ ЗначениеЗаполнено(НайденныйКонтрагент.код) Тогда
        КонтрагентОб = Справочники.Контрагенты.СоздатьЭлемент();
        КонтрагентОб.УстановитьСсылкуНового(НайденныйКонтрагент);
        КонтрагентОб.Записать();
    Сообщить(КонтрагентОб.ссылка.УникальныйИдентификатор());        
    КонецЕсли;    
КонецПроцедуры

Результат:

3b6b6ced-e527-44aa-8075-4653e18fec8f
<Объект не найден> (90:80754653e18fec8f44aae5273b6b6ced)
d4659c31-9b89-11e5-b73b-b8975aac3502



Почему так? УстановитьСсылкуНового() - элемент должен создаваться с указанным идентификатором, разве нет?
объекта с таким идентификатором еще нет - Объект не найден
1 Stim
 
05.12.15
23:19
+ собственно говоря этот код добавляет элемент справочника при каждом выполнении. почему так??
2 hhhh
 
06.12.15
00:14
(1) а где заполняешь поле Код?
3 Aleksey
 
06.12.15
00:20
В типовой 1С при записи новый контрагент меняет ГУИД. Это фича такая.
Юзай КонтрагентОб.ОбменДанными.Загрузка.Истина
4 Aleksey
 
06.12.15
00:20
онтрагентОб.ОбменДанными.Загрузка = Истина