Конвертация 2.0 перенос табличной части с поиском номенклатуры по типу источника

1. Natali_77 13.12.19 13:53 Сейчас в теме
Здравствуйте! Не особо ещё всё пониманию в конвертации, простые переносы могу делать, но возникла проблема, при переносе из одной табличной части в другую мне нужно товар в приемнике искать в зависимости от наименования типа товара в источнике. И я встала в ступор. Выгрузила в коллекцию
КоллекцияОбъектов = Новый Массив;

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

затем в ПКС Номенклатура передВыгрузкой пишу
Значение = ОбъектКоллекции.Номенклатура.ТипНоменклатуры;
Правила конвертации подставляю НоменклатураТип.

Справочники ТипыНоменклатуры и Номенклатура , поиск организую по наименованию, которое рассчитываю так (ПередВыгрузкой):
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Сырье и материалы" тогда
Значение="10,1 Сырье и материалы";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Материалы и спецоснастка" тогда
Значение="10,10 Специальная оснаска и специальная одежда на";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Запасные части" тогда
Значение="10,5 Запасные части";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Инвентарь и хоз.принадлежности" тогда
Значение="10,9 Инвентарь и хозяйственные принадлежности";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="ГСМ и заправочные жидкости" тогда
Значение="10,3 Топливо";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Инструменты" тогда
Значение="10,11,2 Инструменты";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Спецодежда" тогда
Значение="10,11,1 Спецодежда";
КонецЕсли;
Если СокрЛП(источник.ТипНоменклатуры.Наименование)="Стройматериалы" тогда
Значение="10,8 Строительные материалы";
КонецЕсли;
По теме из базы знаний
Найденные решения
20. Natali_77 13.12.19 21:27 Сейчас в теме
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 13.12.19 14:17 Сейчас в теме
Ну в принципе можно и так. Вопрос то в чем?
3. Natali_77 13.12.19 14:25 Сейчас в теме
(2)
Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694)}: Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = НоменклатураТип (Справочник: Номенклатура)
ПКС = 5 (--> Наименование)
Объект = Запасные части (Типы номенклатуры)
СвойствоПриемника = Наименование (Строка)
Обработчик = ПередВыгрузкойСвойства
ОписаниеОшибки = Поле объекта не обнаружено (ТипНоменклатуры)
ПозицияМодуля = (1)
КодСообщения = 55
5. RustamZz 13.12.19 14:49 Сейчас в теме
(3)
Источник.Наименование
должно быть всюду.
4. Natali_77 13.12.19 14:45 Сейчас в теме
ошибку исправила, но номенклатура пустая загружается.
6. RustamZz 13.12.19 14:51 Сейчас в теме
(4) А в приемнике они есть? Галочка поиск на каких полях стоит? Продолжить по полям поиска галка стоит?
7. Natali_77 13.12.19 14:58 Сейчас в теме
8. Natali_77 13.12.19 15:01 Сейчас в теме
Может пойти от противного, у меня в ПКГС Товары стоит
КоллекцияОбъектов = Новый Массив;

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


Может мне здесь сразу как-то передавать наименование для поиска?
может не срабатывает потом Значение = ОбъектКоллекции.Номенклатура.ТипНоменклатуры?
9. RustamZz 13.12.19 15:14 Сейчас в теме
(8) Я обычно делаю Значение структурой и заполняю ее по полям справочника приемника.
А из выше приведенного нужно все убрать и просто сопоставить две табличные части.
10. Natali_77 13.12.19 15:16 Сейчас в теме
(9)я просто не смогла сопоставить номенклатуру с типом номенклатуры. Как это нужно было задать? Я сначала просто сопоставила две табличные части, но потом оказалось, что номенклатура будет отличаться от источника и искать её придется по наименованию типа номенклатуры.
11. Natali_77 13.12.19 15:18 Сейчас в теме
Я кстати вижу в xml , что выгрузка заменяет название на нужное, но оно потом просто не находится в базе. Хотя если я копирую название из файла, то оно по поиску в базе находится.
12. RustamZz 13.12.19 16:05 Сейчас в теме
(11) Поля поиска какие в этом справочнике?
13. Natali_77 13.12.19 16:28 Сейчас в теме
(12)
Прикрепленные файлы:
14. Natali_77 13.12.19 16:30 Сейчас в теме
А это правило для Наименования
Прикрепленные файлы:
15. RustamZz 13.12.19 16:33 Сейчас в теме
(14) А зачем до 100 символов догонять наименование?
16. Natali_77 13.12.19 17:20 Сейчас в теме
(15) Это я пробовала разные варианты, что с этим, что без этого, одинаково не находит номенклатуру.
17. Natali_77 13.12.19 17:22 Сейчас в теме
А можно как-то просто сохранить в какую-нибудь таблицу табличную часть источника, а потом при загрузке в приемник поработать с этой таблицей? Просто раньше не пробовала такого.
18. RustamZz 13.12.19 17:49 Сейчас в теме
(17) Нет нельзя. Файл выгрузки можно посмотреть с одним документом и одной строкой в ТЧ?
19. Natali_77 13.12.19 18:01 Сейчас в теме
(18) Не пойму как тогда сделать, чтобы у меня товар из источника в приемник выгружался в зависимости от названия типа номенклатуры...
20. Natali_77 13.12.19 21:27 Сейчас в теме
Оставьте свое сообщение

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