Имя: Пароль:
1C
1С v8
Проблема с УникальныйИдентификатор у ком-объетка, подскажите пожалуйста.
0 batmansoft
 
18.04.14
14:43
Делаю так:
    лИмя=Сред(строкаТип, поз +1);
    удОбъект=База.Справочники[лИмя].СоздатьЭлемент();
    для каждого Реквизит из Объект.Метаданные().Реквизиты цикл
        если Реквизит.Имя="ГоловнойКонтрагент" тогда
            продолжить;
        конецесли;
        попытка
            удОбъект[Реквизит.Имя]=удПолучитьОбъект(Объект[Реквизит.Имя]);
        исключение
        конецпопытки;
    конеццикла;    
    если типСтрокой="Справочники" тогда
         удОбъект.Наименование=Объект.Наименование;
    конецесли;    
    если ТипЗнч(Объект)=Тип("СправочникСсылка.Пользователи")
        ИЛИ ТипЗнч(Объект)=Тип("СправочникОбъект.Пользователи") тогда
        УдОбъект.Код=Объект.Код;
    Конецесли;
    УдОбъект.Записать();
    ЗаписатьСоответствие(Объект,УдОбъект);
    сообщить("Создан "+строка(Объект)+" "+строка(строкаТип));

Нормально доходит до ЗаписатьСоответствие, а внутри ЗаписатьСоответствие строки:
процедура ЗаписатьСоответствие(АОбъект,АУДОбъект)
    Запись=РегистрыСведений.шапСоответствиеВыгружаемыхОбъектов.СоздатьМенеджерЗаписи();
    Запись.ИБ=ИБ;
    Запись.Объект=АОбъект;
    Запись.УИД=мБаза.String(АУДОбъект.УникальныйИдентификатор());
    Запись.НазваниеОбъектаВПриемнике=мБаза.String(АУДОбъект);
    Запись.Код=АУДОбъект.Код;
    Запись.Записать();
конецпроцедуры

спотыкается на мБаза.String(АУДОбъект.УникальныйИдентификатор());
говорит что УникальныйИдентификатор() - поле объекта не онаружено, подскажите поажуйоса, как лечить, ведь у СправочникОбъект должно быть поле УникальныйИдентификатор()
1 batmansoft
 
18.04.14
14:50
АЮ спасибо, уже разобрался сам, надо передавать ссылку
...
    УдОбъект.Записать();
    ЗаписатьСоответствие(Объект,УдОбъект.Ссылка);
    сообщить("Создан "+строка(Объект)+" "+строка(строкаТип));
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.