КД 2.1. В приемнике не устанавливается реквизит ссылочного типа в табличной части

1. Chronic 26.05.21 14:47 Сейчас в теме
Добрый день. Переношу документ «Отчет переработчика» из УНФ 1.6 в ERP 2.4. В УНФ услуга переработки указывается в шапке документа, в ERP в табличной части "Услуги". Соответственно, для табличной части «Услуги» создал ПКГС, и в событии «Перед обработкой» заполняю КоллекцияОбъектов данными из шапки, с примитивными типами все хорошо, а вот со ссылочными проблема, в частности, реквизит Номенклатура при загрузке в ERP остается пустым, хотя в файле выгрузки он есть на своем месте. ПКО для реквизита табличной части Номенклатура заполнено(см скрины). Пожалуйста, подскажите куда копать, кажется проблема должна решаться очень просто?

XML табличной части
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. trendt_it 26.05.21 15:50 Сейчас в теме +0.3 $m
Добрый день.
Напишите в ПКС "Номенклатура" в обработчике "Перед обработкой" Значение = Источник.Расход, должно заработать. Можно попробовать еще колонку таблицы значений типизировать как "Справочник.Номенклатура".
horsgroup; +1 Ответить
3. Chronic 26.05.21 18:38 Сейчас в теме
Спасибо за ответ, но, к сожалению, ни то, ни другое не помогло.
4. starjevschik 26.05.21 18:40 Сейчас в теме
еще в ПКС должно быть правило конвертации указано, оно там есть? Можно поставить вывод сообщений при выгрузке и при загрузке и посмотреть, что куда попадает или не попадает.
5. Chronic 26.05.21 18:44 Сейчас в теме
(4) Да ПКО для Номенклатуры стоит, на втором скриншоте это видно

Главное при загрузке если выводить доп. сообщения прекрасно видно, что отрабатывается объект с НПП=105.

Загрузка объекта № 105
	ИмяПКО                 =  Номенклатура
	ТипОбъекта             =  Номенклатура
	КодСообщения           =  
6. Chronic 26.05.21 18:46 Сейчас в теме
Что еще интересно, что если из приемника из справочника Номенклатура удалить эту услугу, то она отлично загружается, но в документ не встает
8. user779438 30.05.21 02:34 Сейчас в теме
(6)А что в xml файле на выгрузку идет? Определиться надо не выгружает или не загружает.
В ПКО Номенклатура поиск по каким полям указан?
10. Chronic 30.05.21 13:42 Сейчас в теме
(7) Объект справочника "Номенклатура" и выгружается и загружается в базу приемник, но реквизит "Номенклатура" в табличной части "Услуги" остается пустым, хотя сам элемент справочника в базе имеется и был загружен.

Кусок XML, касающийся табличной части есть в первом сообщении.

Поиск выполняется по внутреннему идентификатору объекта источника.
11. user779438 30.05.21 22:49 Сейчас в теме
(10) Про XML, прошу прощения, не увидел. Попробуйте отключить поиск по внутреннему идентификатору, поставьте поиск по ЭтоГруппа, Наименование и Родитель.
Возможно, при создании элемента в приемнике 1С по каким-то своим внутренним убеждениям не присваивает новому элементу УИД от источника. Поэтому при создании элемента во время загрузки обработка находит элемент в кэше по Нпп.
Надежнее всего, правда, ответит отладчик при загрузке, попробуйте выгрузить 1 документ с 1 строкой и посмотреть как обработка ищет элемент.
14. Chronic 21.06.21 18:56 Сейчас в теме
(11) В данном случае поиск по полям поиска не используется и должен быть только по GUID.
7. horsgroup 29.05.21 10:52 Сейчас в теме
Попробуйте колонку добавить так:

КоллекцияОбъектов.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
9. Chronic 30.05.21 13:39 Сейчас в теме
(7) Это было предложено в первом комментарии, не помогло.
12. KVIKS 400 02.06.21 02:05 Сейчас в теме +0.3 $m
Перенеси номенклатуру как параметр объекта, а после загрузки, пробегись в цикле по табличной части и забери номенклатуру из параметра. Может это и костыль, но работает.
13. kasper076 105 09.06.21 14:07 Сейчас в теме
А для реквизита Номенклатура ТЧ Услуги ПКО указано?
Судя по выгрузке указано.
Можете его показать?
И ПКС реквизита Номенклатура ТЧ Услуги.
Попробуйте включить в ПКО Номенклатура "Не запоминать выгруженные объекты".
В ПКС Номенклатура ТЧ Услуги проверьте признак "Не замещать значение свойства у существующих объектов в приемнике".
Сейчас поиск значения реквизита ведется из кэша по Нпп. Но первый раз значение должно быть найдено по полям поиска. Полями поиска являются Артикул, Наименование и Родитель. Еще присутствует ГУИД, но нужно смотреть включен ли поиск по ГУИДу. Судя по всему по полям поиска значение не находится.
15. Chronic 21.06.21 19:03 Сейчас в теме
Как обычно "дело было не в бобине", другим разработчиком была добавлена подписка на событие "ПередЗаписью" документа, в результате чего ряд полей могли быть очищены. Способы в сообщениях с вознаграждениями, конечно же, абсолютно рабочие.
Оставьте свое сообщение

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