Конвертация данных , перенос реквизита Перечисление -> Булево #289466


#0 by BazilWPW
Есть две конфигурации со схожим справочником. В первой конфигурации справочник имеет реквизит типа перечисление . Во второй - похожий реквизит, но с типом булево . Как сделать, чтоб при определенном значении перечисления в исходном реквизите-источнике, в реквизит-приемник попадало  при конвертации значение "истина" ? вроде просто, а не соображу никак ...
#1 by ТелепатБот
#2 by Господин ПЖ
В ПКС ПередВыгрузкой:
#3 by FarFar
Загляни,плиз в Может чего присоветуешь...
#4 by BazilWPW
Хм, не прокатило ... сделал вроде все правильно - для этого справочника создал еще одно ПКС, в котором  источник - реквизит-перечисление, приемник - булев реквизит. Далее в этом же ПКС в обработчике ПередВыгрузкой написал как сказано ... Выгрузка проходит нормально. при загрузке - вываливается ошибка Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML(4507)}: Значение не является значением объектного типа (ИмяТипа)
#5 by Господин ПЖ
В xml смотрел? Там в реквизит чего попадает?
#6 by BazilWPW
а пусто там, ниче не попадает ... странно код отрабатывает,  проверка на значение перечисления  проходит, я проверил
#7 by BazilWPW
причем в обоих вариантах, и если "истина" и если 1
#8 by GenV
Вот этого делать не нужно. Достаточно , если реквизит приемника "Булево" без указания правила, тогда конвертация пройдет.
#9 by BazilWPW
Вот как раз без указания правила вообще не происходит ничего , то есть даже проверка   Если Источник = Перечисления.аааа.ббб не проходит ни в одном событии   а проходит эта проверка, только когда правило создаешь с эти кодом .. и указываешь для этого реквизита но дальше все равно та же ошибка и в XML пусто
#10 by GenV
Да, ладно :) Если ПередВыгрузкой ПКС реквизита заполнено, то алгоритм в любом случае вызывается, если выгружается объект справочника по ПКО. Отладчиком смотрел в ВыгрузитьСвойства (можно через мою обработку).
#11 by Господин ПЖ
Угу... Это я обмишулился... Код примерно такой должен быть: Если Источник.ТвоеПеречисление = Перечисления.... А дальше как в . Не надо создавать никаких доп. правил. У тебя есть ПКО твоего справочника, а в нем ПКС "ТвоеПеречисление->Булево" вот в нём и пиши.
#12 by BazilWPW
Все получилось!  Спасибо  всем. Да, все так ... должен был  и сам догадаться  )))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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