Конвертация 2.0 перенос табличной части с поиском номенклатуры по типу источника
Здравствуйте! Не особо ещё всё пониманию в конвертации, простые переносы могу делать, но возникла проблема, при переносе из одной табличной части в другую мне нужно товар в приемнике искать в зависимости от наименования типа товара в источнике. И я встала в ступор. Выгрузила в коллекцию
КоллекцияОбъектов = Новый Массив;
КоллекцияОбъектов = Источник.Товары.Выгрузить();
Для Каждого СтрокаТЧ Из Источник.Товары Цикл
НоваяСтрока = КоллекцияОбъектов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);
КонецЦикла;
затем в ПКС Номенклатура передВыгрузкой пишу
Значение = ОбъектКоллекции.Номенклатура.ТипНоменклатуры;
Правила конвертации подставляю НоменклатураТип.
Справочники ТипыНоменклатуры и Номенклатура , поиск организую по наименованию, которое рассчитываю так (ПередВыгрузкой):
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Сырье и материалы" тогда
Значение="10,1 Сырье и материалы";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Материалы и спецоснастка" тогда
Значение="10,10 Специальная оснаска и специальная одежда на";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Запасные части" тогда
Значение="10,5 Запасные части";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Инвентарь и хоз.принадлежности" тогда
Значение="10,9 Инвентарь и хозяйственные принадлежности";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="ГСМ и заправочные жидкости" тогда
Значение="10,3 Топливо";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Инструменты" тогда
Значение="10,11,2 Инструменты";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Спецодежда" тогда
Значение="10,11,1 Спецодежда";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Стройматериалы" тогда
Значение="10,8 Строительные материалы";
КонецЕсли;
КоллекцияОбъектов = Новый Массив;
КоллекцияОбъектов = Источник.Товары.Выгрузить();
Для Каждого СтрокаТЧ Из Источник.Товары Цикл
НоваяСтрока = КоллекцияОбъектов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);
КонецЦикла;
затем в ПКС Номенклатура передВыгрузкой пишу
Значение = ОбъектКоллекции.Номенклатура.ТипНоменклатуры;
Правила конвертации подставляю НоменклатураТип.
Справочники ТипыНоменклатуры и Номенклатура , поиск организую по наименованию, которое рассчитываю так (ПередВыгрузкой):
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Сырье и материалы" тогда
Значение="10,1 Сырье и материалы";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Материалы и спецоснастка" тогда
Значение="10,10 Специальная оснаска и специальная одежда на";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Запасные части" тогда
Значение="10,5 Запасные части";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Инвентарь и хоз.принадлежности" тогда
Значение="10,9 Инвентарь и хозяйственные принадлежности";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="ГСМ и заправочные жидкости" тогда
Значение="10,3 Топливо";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Инструменты" тогда
Значение="10,11,2 Инструменты";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Спецодежда" тогда
Значение="10,11,1 Спецодежда";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Стройматериалы" тогда
Значение="10,8 Строительные материалы";
КонецЕсли;
По теме из базы знаний
- Инфостарт. Восьмерка. Лучшее
- Выгрузка данных из Управления торговлей 10.3 / 10.2 в Бухгалтерию предприятия, ред. 2.0 (Версия 1.7.8)
- Перенос данных. Правила конвертации из УПП 1.3 в БП 3.0
- Перенос Номенклатура + Характеристика в один элемент Номенклатура
- 1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694)}: Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = НоменклатураТип (Справочник: Номенклатура)
ПКС = 5 (--> Наименование)
Объект = Запасные части (Типы номенклатуры)
СвойствоПриемника = Наименование (Строка)
Обработчик = ПередВыгрузкойСвойства
ОписаниеОшибки = Поле объекта не обнаружено (ТипНоменклатуры)
ПозицияМодуля = (1)
КодСообщения = 55
Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694)}: Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = НоменклатураТип (Справочник: Номенклатура)
ПКС = 5 (--> Наименование)
Объект = Запасные части (Типы номенклатуры)
СвойствоПриемника = Наименование (Строка)
Обработчик = ПередВыгрузкойСвойства
ОписаниеОшибки = Поле объекта не обнаружено (ТипНоменклатуры)
ПозицияМодуля = (1)
КодСообщения = 55
Может пойти от противного, у меня в ПКГС Товары стоит
КоллекцияОбъектов = Новый Массив;
КоллекцияОбъектов = Источник.Товары.Выгрузить();
Для Каждого СтрокаТЧ Из Источник.Товары Цикл
НоваяСтрока = КоллекцияОбъектов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);
КонецЦикла;
Может мне здесь сразу как-то передавать наименование для поиска?
может не срабатывает потом Значение = ОбъектКоллекции.Номенклатура.ТипНоменклатуры?
КоллекцияОбъектов = Новый Массив;
КоллекцияОбъектов = Источник.Товары.Выгрузить();
Для Каждого СтрокаТЧ Из Источник.Товары Цикл
НоваяСтрока = КоллекцияОбъектов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);
КонецЦикла;
Может мне здесь сразу как-то передавать наименование для поиска?
может не срабатывает потом Значение = ОбъектКоллекции.Номенклатура.ТипНоменклатуры?
(9)я просто не смогла сопоставить номенклатуру с типом номенклатуры. Как это нужно было задать? Я сначала просто сопоставила две табличные части, но потом оказалось, что номенклатура будет отличаться от источника и искать её придется по наименованию типа номенклатуры.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот