Конвертация v2: Как у справочника Единицы Измерения поменять тип Владелец? #419705


#0 by Castlevania
Создали обмен между УТ и УПП. Правила конвертации использовали те, которые создавались автоматически. Появилась проблема: номенклатура выгружается с пустыми единицами измерения. Посоветовали в ПКО Единицы Измерения в событии  ПерезВыгпузкой добавить код :  Если Правила.Номенклатура.Выгруженные[Источник.Владелец] = Неопределено Тогда Но выдается ошибка. Выяснилось, что в ПКО Единицы Измерения у реквизита Владелец пустые значения Источника и Приемника. Попробовала поменяла вручную на СправочникСсылка. Номенклатура и справочник.Ссылка.Номенклатурные группы. Но выдается ошибка "Ошибка при выгрузке данных для узла плана обмена    ТипОбъекта             =  Документ объект: Реализация товаров и услуг    Объект                 =  Реализация товаров и услуг М0000000010 от 08.07.2009 13:11:07    ОписаниеОшибки         =  Ошибка в обработчике события ПередВыгрузкойОбъекта    ПКО                    =  ЕдиницыИзмерения  (СправочникСсылка.ЕдиницыИзмерения --> СправочникСсылка.ЕдиницыИзмерения)    Объект                 =  шт  (Справочник ссылка: Единицы измерения)    Обработчик             =  ПередВыгрузкойОбъекта    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено"
#1 by ТелепатБот
#2 by DUDE
Я в похожей ситуации добавил в ПКО номенклатуры в ПослеЗагрузки проверку в том случае, когда объект уже повторно переносился, на наличие движений для единицы хранения остатков, а для остальных единиц - проверку на пустоту: если переносимый реквизит на данный момент пуст, то берем значение из реквизита ссылки, иначе - из реквизита самого объекта. Кроме этого убрал правило выгрузки ЕдиницИзмерения. И стал их выгружать только вместе с номенклатурой. Саму проблему это решило. Наверное, есть и другие способы, но времени всегда не хватает.
#3 by Castlevania
Мне сложно представить как это описать
#4 by Castlevania
Как описать условие, когда объект уже повторно переносился
#5 by DUDE
У меня это выглядит так: Заранее извиняюсь за недостатки форматирования.
#6 by DUDE
Факт повторно переноса, по идее, указывается флагом ОбъектНайден (то есть, что этот объект по УИД или полям поиска был найден в базе-получателе. Код кривоват, но задачу решает.
#7 by Castlevania
Спасибо огромное сейчас попробую. А тогда тип Приемника и Источника какой будет?
#8 by DUDE
Код выполняется уже при загрузке данных. А тип Приемника, Источника регулирует выгрузку, их я не менял - Номенклатура в Номенклатура, Ед.изм. в Ед. изм.
#9 by Castlevania
Не работает:(
#10 by Castlevania
Единицы измерения не переносятся
#11 by DUDE
На каком этапе не работает? При выгрузке или загрузке? Кстати, возвращаясь к , может быть в "Правила.Номенклатура.Выгруженные[Источник.Владелец]" нужно передавать или тип владельца строкой или делать поиск (я так понимаю это массив выгруженных объектов): Правила.Номенклатура.Выгруженные.Найти(Источник.Владелец) = НЕОПРЕДЕЛЕНО так как оператор [] не предполагает передачи самого значения.
#12 by Castlevania
Отключила выгрузку Единиц Измерения, в ПКО Номенклатура в событии после загрузки добавила данный код. Выгрузила документы из УТ-загрузила в УПП. Но номенклатура все также без единиц измерения. А насчет [Источник.Владелец]-У меня было правило для первоначального переноса-там этот код работал. Для автообмена я взяла правило, которое создается при натройке обмена, и добавила к нему установку счетов номенклатуры
#13 by DUDE
Попробуй выгрузить один документ в файловом режиме и посмотреть сам файл - все ли выгружается.
#14 by Castlevania
Единица измерения не проставлятся в Номенклатуре
#15 by Castlevania
Пробовала документы кидать этими же правилами через Унивесальный Обмен в формате XML-та же беда
#16 by Castlevania
Пробовала в план обмена запихнуть свои рабочие правила-но такая ошибка:  Получение элемента по индексу для значения не определено Хотя через Унивесальный Обмен в формате XML они работают
#17 by DUDE
Если данных нет уже в файле обмена, значит проблемы с выгрузкой.
#18 by Castlevania
Сделала! В ПКО Единицы Измерения у реквизита Владелец задала Правило Конвертации-Номенклатура. Алгоритм использовала тот, который вы написали. Теперь номенклатура с единицами измерения
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С