Имя: Пароль:
1C
1С v8
Передать уникальный идентификатор в реквизит. Универсальный обмен через КД 3
0 ac13
 
03.08.20
10:49
Как передать уникальный идентификатор при универсальном обмене данных, настраиваемом в КД 3.0?

Пример обработчика "ПриОтправкеДанных":

ПКО_Справочник_Номенклатура_Отправка_ПриОтправкеДанных

    ДанныеXDTO.Вставить("ВидНоменклатуры", ДанныеИБ.ВидНоменклатуры);
    
    Если Не ЗначениеЗаполнено(ДанныеИБ.ЕдиницаИзмерения) Тогда
    ДанныеXDTO.Вставить("ЕдиницаИзмерения", Справочники.КлассификаторЕдиницИзмерения.ПолучитьЕдиницуИзмеренияПоУмолчанию());
    КонецЕсли;

    ДанныеXDTO.Вставить("КодОКВЭД", ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДанныеИБ.КодОКВЭД, "Код, Наименование"));

Как быть с уникальным идентификатором? Например, так не работает:

     ДанныеXDTO.Вставить("УИД", ДанныеИБ.Ссылка.УникальныйИдентификатор());
1 Ёпрст
 
03.08.20
10:57
(0) XMLСтрока(ТвояХрень)
2 ac13
 
03.08.20
11:08
(1) если я это прописываю в правилах базы источника, то имеет значение, будет написано
ДанныеИБ.Ссылка.УникальныйИдентификатор() или XMLСтрока(ДанныеИБ.Ссылка)?
3 Ns33
 
03.08.20
11:41
Т.к. УИД имеет Тип("УникальныйИдентификатор"), т.е. это не строка, то можно также Строка(ДанныеИБ.Ссылка.УникальныйИдентификатор()).
4 ac13
 
03.08.20
12:48
(3) да, преобразование в строку делаю, т.к. иначе ошибка о несоответствии типов. спасибо!