Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

КД 2: поиск по параметру

КД 2: поиск по параметру
Я
   Балбес
 
04.01.21 - 14:30
Добрый день
База источник - 7.7 (справочник Материалы, остатки)
База Приемник 8 (Номенклатура, Ввод остатков).

В 7.7 в справочнике материалов есть реквизит, хранящий GUID соответствующего элемента в 8. Хочу по этому GUID при загрузке искать соответствующую номенклатуру.
Т.к. передача параметров из 7.7 в 8 штатно невозможна, в ПКО Материал  - Номенклатура в ПередВыгрузкой я пишу

Узел = СоздатьУзел("ЗначениеПараметра");
УстановитьАтрибут(Узел, "Имя", "УникальныйИдентификатор");
УстановитьАтрибут(Узел, "Тип", "Строка");
ЗаписатьЭлемент(Узел, "Значение", Источник.GUID);
Приемник.insertBefore(Узел, Приемник.firstChild);

потом использую параметр в обработчике полей поиска. Все хорошо работает, если просто работать со справочником. Но как только добавлять ПКО, которое создает документ Ввод остатков,где номенклатура находится в табличной части, для которой указано ПКО "Материал - НОменклатура",
загрузка падает с ошибкой в полях поиска (не видит параметры). Проанализировав файл выгрузки пришел к выводу что в узле <Ссылка> для номенклатуры в табличной части
должен быть подчиненный узел со значениями параметров. Может присутствующие подскажут? Или я совсем все усложнил?
 
 Партнерская программа EFSOL Oblako
   mistеr
 
1 - 04.01.21 - 14:48
(0) Ну с 7.7 по-другому не выйдет, только усложнять. :)

Сделай аналогичную выгрузку из 8, получи образец XML, к которому нужно стремиться.
   Йохохо
 
2 - 04.01.21 - 14:49
вроде перед доком будет эта номенклатура СправочникОбъект, а в выгрузке тч только справочникссылка и поляпоиска
ЗЫ иногда можно все очень нужное в комментарий закостылить
   Балбес
 
3 - 04.01.21 - 16:57
Кому интересно, забодал

В ПКС номенклатура, которая в табличной части пишем в обработчике После выгрузки

Узел = СоздатьУзел("ЗначениеПараметра");
УстановитьАтрибут(Узел, "Имя", "УникальныйИдентификатор");
УстановитьАтрибут(Узел, "Тип", "Строка");
ЗаписатьЭлемент(Узел, "Значение", ОбъектКоллекции.Номенклатура.GUID);
УзелСсылки.insertBefore(Узел, УзелСсылки.firstChild); 
ДобавитьПодчиненный(УзелСвойства, УзелСсылки);
УзелСвойства.removeChild(УзелСвойства.firstChild);

Все работает, спасибо за внимание

Список тем форума
 
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.