КД. Ошибка загрузки данных

1. Nigelist 12.11.18 14:21 Сейчас в теме
Пытаюсь перенести данные из конфигурации с обычными формами в конфигурации с управляемыми. Основная сложность с переносом изображений номенклатуры. Все обработки переноса изображений были взяты из похожего обмена. Выгрузка проходит без проблем, а вот уже на загрузке получаю ошибку:
Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1498)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
    ИмяПКО                 =  ФайлыНоменклатуры
    ТипОбъекта             =  Присоединенный файл (Номенклатура)
    Объект                 =  13
    Обработчик             =  ПослеЗагрузкиОбъекта
    ОписаниеОшибки         =  Поле объекта не обнаружено (ПослеЗагрузкиПрисоединенногоФайла)
    ПозицияМодуля          =  (1)
    КодСообщения           =  21

Ругается похоже на этот код.
Выполнить(Алгоритмы.ПослеЗагрузкиПрисоединенногоФайла);

//Занесем данные об объекте в таблицу отложенной обработки 
НоваяСтрока = Параметры.ЗагруженныеОбъектыПереноса.Добавить();
НоваяСтрока.ИмяПКО = "ФайлыНоменклатуры";
НоваяСтрока.Объект = Объект;
НоваяСтрока.Параметры = ПараметрыОбъекта;


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

Подскажите, что я делаю не верно?
По теме из базы знаний
Найденные решения
8. maks_20 169 13.11.18 13:25 Сейчас в теме
(7) Значит у вас в параметрах нет параметра Параметры.ЗагруженныеОбъектыПереноса, а вы к нему пытаетесь обратиться. Добавьте его в глобальном обработчике ПередЗагрузкойДанных. Вот для примера добавление такого параметра в одной из моих конвертаций:
ПроводимыеДокументы = Новый ТаблицаЗначений;
ПроводимыеДокументы.Колонки.Добавить("Дата");
ПроводимыеДокументы.Колонки.Добавить("Документ");

Параметры.Вставить("ПроводимыеДокументы", ПроводимыеДокументы);
Nigelist; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tomvlad 3868 12.11.18 14:58 Сейчас в теме
У алгоритма «ПослеЗагрузкиПрисоединенногоФайла» установлен флаг «Используется при загрузке»?
4. Nigelist 13.11.18 06:17 Сейчас в теме
(2)Это где? Что то я такой флаг не нашел.
3. maks_20 169 12.11.18 14:58 Сейчас в теме
может у самого алгоритма параметры как-то некорректно заданы. попробуйте вот этот код
Объект.Автор                        = ПараметрыСеанса.ТекущийПользователь;
Объект.ДатаСоздания                    = ТекущаяДата();
Объект.ДатаМодификацииУниверсальная    = УниверсальноеВремя(ТекущаяДата());
Объект.Изменил                        = ПараметрыСеанса.ТекущийПользователь;
Объект.ИндексКартинки                = ФайловыеФункцииСлужебныйКлиентСервер.ПолучитьИндексПиктограммыФайла(Объект.Расширение);
перенести в
в сам обработчик вместо
Выполнить(Алгоритмы.ПослеЗагрузкиПрисоединенногоФайла);
5. Nigelist 13.11.18 11:19 Сейчас в теме
(3) ругается то он на другую строку. А именно на:
НоваяСтрока.Объект = Объект;
6. maks_20 169 13.11.18 12:03 Сейчас в теме
(5) Я не уверен, что на эту строку. У вас ошибка: Поле объекта не обнаружено (ПослеЗагрузкиПрисоединенногоФайла). Т.е. ошибка происходит внутри алгоритма, а указанная вами строка уже после вызова алгоритма идет.
Nigelist; +1 Ответить
7. Nigelist 13.11.18 12:34 Сейчас в теме
(6) попробовал, практически та же ошибка:
Ошибка в обработчике события ПослеЗагрузкиОбъекта
    ИмяПКО                 =  ФайлыНоменклатуры
    ТипОбъекта             =  Присоединенный файл (Номенклатура)
    Объект                 =  13
    Обработчик             =  ПослеЗагрузкиОбъекта
    ОписаниеОшибки         =  Поле объекта не обнаружено (ЗагруженныеОбъектыПереноса)
    ПозицияМодуля          =  (9)
    КодСообщения           =  21
8. maks_20 169 13.11.18 13:25 Сейчас в теме
(7) Значит у вас в параметрах нет параметра Параметры.ЗагруженныеОбъектыПереноса, а вы к нему пытаетесь обратиться. Добавьте его в глобальном обработчике ПередЗагрузкойДанных. Вот для примера добавление такого параметра в одной из моих конвертаций:
ПроводимыеДокументы = Новый ТаблицаЗначений;
ПроводимыеДокументы.Колонки.Добавить("Дата");
ПроводимыеДокументы.Колонки.Добавить("Документ");

Параметры.Вставить("ПроводимыеДокументы", ПроводимыеДокументы);
Nigelist; +1 Ответить
9. Nigelist 14.11.18 09:07 Сейчас в теме
(8) Тут я ещё оказывается пропустил код в процедуре ПослеЗагрузкиДанных:
ЗагруженныеОбъектыПереноса = Параметры.ЗагруженныеОбъектыПереноса;
ЗагруженныеОбъектыПереноса.Сортировать("ИмяПКО");

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

И снова ловлю ошибку:
Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7386)}: Значение не является значением объектного типа (Отбор)

Не подскажите, где проблема?
10. Nigelist 14.11.18 09:42 Сейчас в теме
(8) хотя номенклатура с файлами вроде выгрузилась.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот