Здравствуйте! Поступила задача, с КД к сожалению никогда не работал...выгружаются данные из УТ, но в бп не загружаются. Появляются ошибки:

Начало загрузки: 16.07.2018 12:56:06

Ошибка в глобальном обработчике события ПослеЗагрузкиОбъекта (конвертация)
 ИмяПКО = КонтактнаяИнформация
 ТипОбъекта = Регистр сведений запись: Контактная информация
 Объект = РегистрСведенийМенеджерЗаписи.КонтактнаяИнформация
 Обработчик = ПослеЗагрузкиОбъекта (глобальный)
 ОписаниеОшибки = Метод объекта не обнаружен (Метаданные)
 ПозицияМодуля = (2)
 КодСообщения = 54

Ошибка при загрузке данных: {Обработка.ОбменДаннымиXML.МодульОбъекта(1596)}: Ошибка в глобальном обработчике события ПослеЗагрузкиОбъекта (конвертация)
 ИмяПКО = КонтактнаяИнформация
 ТипОбъекта = Регистр сведений запись: Контактная информация
 Объект = РегистрСведенийМенеджерЗаписи.КонтактнаяИнформация
 Обработчик = ПослеЗагрузкиОбъекта (глобальный)
 ОписаниеОшибки = Метод объекта не обнаружен (Метаданные)
 ПозицияМодуля = (2)
 КодСообщения = 54

Окончание загрузки: 16.07.2018 12:56:06

Подскажите куда копать?
---
Скорее всего это не контрагент, а контактные данные этого контрагента, т.е. регистр сведений Контактная информация, а в качестве объекта выступает Объект = РегистрСведенийМенеджерЗаписи.КонтактнаяИнформация (судя по ошибке), а у менеджера записи РС нет метода Метаданные(), соответственно ошибка у вас и возникает.
---
Где-то битая ссылка передаётся.
---
а какое решение? ТИИ сделать?
---
В самом обработчике ПослеЗагрузкиОбъекта код смотрели? Скорее всего там какие-то проверки и вызывается метод Метаданные. Попробуйте отладкой проверить этот обработчик или в правилах выведите сообщения. Правила как я понимаю типовые?
---
В самом обработчике ПослеЗагрузкиОбъекта код смотрели? Скорее всего там какие-то проверки и вызывается метод Метаданные. Попробуйте отладкой проверить этот обработчик или в правилах выведите сообщения. Правила как я понимаю типовые?

не совсем, есть нюансы.
---
проверил Обработчик. Вот его код:
/
```1c
    /подставляет обязательные значения
    МетаданныеДокумента = Объект.Объект.Метаданные();

    Если Метаданные.Документы.Содержит(МетаданныеДокумента) Тогда
    ОбъектСодержитРеквизитОрганизация = ОбщегоНазначения.ЕстьРеквизитДокумента("Организация",МетаданныеДокумента);
    ОбъектСодержитРеквизитСклад = ОбщегоНазначения.ЕстьРеквизитДокумента("Склад",МетаданныеДокумента);
    ОбъектСодержитПодразделениеОрганизации = ОбщегоНазначения.ЕстьРеквизитДокумента("ПодразделениеОрганизации",МетаданныеДокумента);

    Если ОбъектСодержитРеквизитОрганизация И НЕ ЗначениеЗаполнено(Объект.Организация) Тогда

    Объект.Организация = Параметры.ОсновнаяОрганизация;

    КонецЕсли;

    Если ОбъектСодержитРеквизитСклад Тогда

    Если (НЕ ЗначениеЗаполнено(Объект.Склад)) Тогда

    Объект.Склад = Параметры.СкладДляОбменаДаннымиСУТ;

    КонецЕсли;

    КонецЕсли;

    // Заполнение реквизита ПодразделениеОрганизации
    Если ТипЗнч(Объект) = Тип("ДокументОбъект.СписаниеСРасчетногоСчета")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеНаРасчетныйСчет")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ПриходныйКассовыйОрдер")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
    Если Объект.ЭтоНовый() ИЛИ Объект.Ссылка.Организация <> Объект.Организация Тогда

    ОсновноеПодразделение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновноеПодразделениеОрганизации");
    Если ОбъектСодержитПодразделениеОрганизации Тогда
    Если ОсновноеПодразделение.Владелец = Объект.Организация Тогда
    Объект.ПодразделениеОрганизации = ОсновноеПодразделение;
    Иначе
    Объект.ПодразделениеОрганизации = Неопределено;
    КонецЕсли;
    КонецЕсли;

    Если ТипЗнч(Объект) = Тип("ДокументОбъект.СписаниеСРасчетногоСчета") Тогда
    Если Объект.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ОплатаПоставщику
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ВозвратПокупателю
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеПодотчетномуЛицу
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.РасчетыПоКредитамИЗаймам
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПрочиеРасчетыСКонтрагентами
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеЗП Тогда
    Объект.ПодразделениеДт = Неопределено;
    // {ОбособленныеПодразделения
    Иначе
    Объект.ПодразделениеДт = ?(ОбъектСодержитПодразделениеОрганизации, Объект.ПодразделениеОрганизации, Неопределено);
    // }ОбособленныеПодразделения
    КонецЕсли;
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеНаРасчетныйСчет") Тогда
    Если Объект.ВидОперации = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ОплатаПокупателя
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ВозвратОтПоставщика
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.РасчетыПоКредитамИЗаймам
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ПрочиеРасчетыСКонтрагентами Тогда
    Объект.ПодразделениеКт = Неопределено;
    // {ОбособленныеПодразделения
    Иначе
    Объект.ПодразделениеКт = ?(ОбъектСодержитПодразделениеОрганизации, Объект.ПодразделениеОрганизации, Неопределено);
    // }ОбособленныеПодразделения
    КонецЕсли;
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПриходныйКассовыйОрдер") Тогда
    Если Объект.ВидОперации = Перечисления.ВидыОперацийПКО.ОплатаПокупателя
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийПКО.ВозвратОтПоставщика
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийПКО.ВозвратОтПодотчетногоЛица
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийПКО.ПолучениеНаличныхВБанке
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийПКО.РасчетыПоКредитамИЗаймам
    Тогда
    Объект.ПодразделениеКт = Неопределено;
    // {ОбособленныеПодразделения
    Иначе
    Объект.ПодразделениеКт = ?(ОбъектСодержитПодразделениеОрганизации, Объект.ПодразделениеОрганизации, Неопределено);
    // }ОбособленныеПодразделения
    КонецЕсли;
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
    Если Объект.ВидОперации = Перечисления.ВидыОперацийРКО.ОплатаПоставщику
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийРКО.ВозвратПокупателю
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийРКО.ВыдачаПодотчетномуЛицу
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийРКО.РасчетыПоКредитамИЗаймам
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийРКО.ВзносНаличнымиВБанк
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийРКО.ВыплатаДепонентов
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыПоВедомостям
    ИЛИ Объект.ВидОперации = Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику
    Тогда
    Объект.ПодразделениеДт = Неопределено;
    // {ОбособленныеПодразделения
    Иначе
    Объект.ПодразделениеДт = ?(ОбъектСодержитПодразделениеОрганизации, Объект.ПодразделениеОрганизации, Неопределено);
    // }ОбособленныеПодразделения
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.АвансовыйОтчет")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ОтчетКомиссионераОПродажах")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ОтчетКомитентуОПродажах")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.КорректировкаДолга") Тогда
    //Выполнить процедуру ЗаполнениеДокументов.ПриИзмененииЗначенияОрганизации(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"));
    Если ОбъектСодержитРеквизитОрганизация И ОбъектСодержитПодразделениеОрганизации
    И ЗначениеЗаполнено(Объект.Организация) Тогда
    ПодразделениеПоУмолчанию = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновноеПодразделениеОрганизации");
    // Если ПодразделениеОрганизации не заполнено.
    Если Объект.ЭтоНовый() ИЛИ Объект.Ссылка.Организация <> Объект.Организация Тогда
    Если НЕ ЗначениеЗаполнено(Объект.ПодразделениеОрганизации) Тогда
    // Если ПодразделениеПоУмолчанию соответствует выбранной организации, подставляем его.
    Если ПодразделениеПоУмолчанию.Владелец = Объект.Организация Тогда
    Объект.ПодразделениеОрганизации = ПодразделениеПоУмолчанию;
    КонецЕсли;
    Иначе // Если ПодразделениеОрганизации заполнено.
    // Если ПодразделениеОрганизации не соответствует выбранной организации.
    Если НЕ Объект.ПодразделениеОрганизации.Владелец = Объект.Организация Тогда
    // Если ПодразделениеПоУмолчанию соответствует выбранной организации, подставляем его.
    Если ПодразделениеПоУмолчанию.Владелец = Объект.Организация Тогда
    Объект.ПодразделениеОрганизации = ПодразделениеПоУмолчанию;
    Иначе // Выбрана не основная организация. ПодразделениеОрганизации нужно очистить.
    Объект.ПодразделениеОрганизации = Справочники.ПодразделенияОрганизаций.ПустаяСсылка();
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли
    КонецЕсли;
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ГТДИмпорт") Тогда
    // Выполнить процедуру ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект);
    Если ОбъектСодержитРеквизитОрганизация
    И ЗначениеЗаполнено(Объект.Организация)
    И ОбъектСодержитПодразделениеОрганизации
    И (НЕ ЗначениеЗаполнено(Объект.ПодразделениеОрганизации)) Тогда

    ПодразделениеОрганизации = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновноеПодразделениеОрганизации");

    Если ЗначениеЗаполнено(ПодразделениеОрганизации) И ПодразделениеОрганизации.Владелец = Объект.Организация Тогда
    Объект.ПодразделениеОрганизации = ПодразделениеОрганизации;
    КонецЕсли;
    КонецЕсли;
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ВозвратТоваровОтПокупателя")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ВозвратТоваровПоставщику")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ОприходованиеТоваров")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ОтчетОРозничныхПродажах")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеТоваровУслуг")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.РеализацияТоваровУслуг")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.СписаниеТоваров")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ТребованиеНакладная")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.КомплектацияНоменклатуры")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.СчетНаОплатуПокупателю")
    ИЛИ ТипЗнч(Объект) = Тип("ДокументОбъект.ПеремещениеТоваров") Тогда

    Если ТипЗнч(Объект) = Тип("ДокументОбъект.ПеремещениеТоваров") Тогда
    Если ОбщегоНазначения.ЕстьРеквизитДокумента("ПодразделениеОтправитель",МетаданныеДокумента) Тогда
    Если Объект.ЭтоНовый() ИЛИ Объект.Ссылка.Организация <> Объект.Организация ИЛИ Объект.Ссылка.СкладОтправитель <> Объект.СкладОтправитель Тогда
    ПодразделениеВозврат = Неопределено;
    ПараметрСклад = Объект.СкладОтправитель;
    ПараметрОрганизация = Объект.Организация;
    Выполнить(Алгоритмы.ПолучитьПодразделение);
    Объект.ПодразделениеОтправитель = ПодразделениеВозврат;
    КонецЕсли;
    КонецЕсли;
    Если ОбщегоНазначения.ЕстьРеквизитДокумента("ПодразделениеПолучатель",МетаданныеДокумента) Тогда
    Если Объект.ЭтоНовый() ИЛИ Объект.Ссылка.Организация <> Объект.Организация ИЛИ Объект.Ссылка.СкладПолучатель <> Объект.СкладПолучатель Тогда
    ПодразделениеВозврат = Неопределено;
    ПараметрСклад = Объект.СкладПолучатель;
    ПараметрОрганизация = Объект.Организация;
    Выполнить(Алгоритмы.ПолучитьПодразделение);
    Объект.ПодразделениеПолучатель = ПодразделениеВозврат;
    КонецЕсли;
    КонецЕсли;
    Иначе
    Если ОбъектСодержитРеквизитОрганизация
    И ОбъектСодержитРеквизитСклад
    И ОбъектСодержитПодразделениеОрганизации Тогда

    Если Объект.ЭтоНовый() ИЛИ Объект.Ссылка.Организация <> Объект.Организация ИЛИ Объект.Ссылка.Склад <> Объект.Склад Тогда
    ПодразделениеВозврат = Неопределено;
    ПараметрСклад = Объект.Склад;
    ПараметрОрганизация = Объект.Организация;
    Выполнить(Алгоритмы.ПолучитьПодразделение);
    Объект.ПодразделениеОрганизации = ПодразделениеВозврат;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
```

Видимо с Объектом не все в порядке
---
Проверьте, что у вас на узле. возможно там правда битая ссылка после непосредственного удаления объекта, а чтобы обмен не тормозил на ошибке - можете поставить в этот обработчик попытку. Вот эта строка выглядит довольно странно:
```1c
    МетаданныеДокумента = Объект.Объект.Метаданные();
```
. В данном обработчике доступен Объект, т.е должно быть так:
```1c
    МетаданныеДокумента =Объект.Метаданные();
```
---
чике доступен Объект, т.е должно

Вот я так и поставил....12 объектов он выгружает.

На одном валится ошибка.
---
сам объект, на котором ошибка проявляется проверяли? что он из себя представляет?
---
элемент Справочника контрагенты....вроде ничего необычного....
---
Скорее всего это не контрагент, а контактные данные этого контрагента, т.е. регистр сведений Контактная информация, а в качестве объекта выступает Объект = РегистрСведенийМенеджерЗаписи.КонтактнаяИнформация (судя по ошибке), а у менеджера записи РС нет метода Метаданные(), соответственно ошибка у вас и возникает.
---
да, проверил...именно так...вы правы...буду смотреть как обойти...
---
как вариант в обработчике проверять тип у объекта перед получением метаданных, попытка -исключение тоже поможет решить проблему, но лучше не использовать ее.
---
ем метаданных, попытка -исключение тоже поможет решить проблему, но лучше не использовать ее.

а почему не использовать? так для справки мне.
---
просто, если в попытку завернуть весь этот обработчик , то в случае ошибки в другой части кода эта ошибка также проигнорируется и соответственно вы о ней не будете знать, пока кто-то из пользователей не заметит. Можно завернуть в попытку только получение метаданных и сделать чтото типа такого:
```1c
    пДанныеКорректны = Истина;
    Попытка МетаданныеДокумента = Объект.Метаданные();
    Исключение
    пДанныеКорректны = Ложь;
    КонецПопытки;
    Если пДанныеКорректны Тогда
    //далее основной код обработчика
    КонецЕсли;
```
---
в случае ошибки в другой части кода эта ошибка также проигнорируется и соответственно вы о ней не будете знать, пока кто-то из пользователей не заметит. Можно завернуть в попытку только получение метаданных и сделать чтото типа такого:

понял, спасибо большое.