Конвертация Данных 2,0 (Перечисления) #364283


#0 by DarkAn
Всем привет! У меня возникла проблема с определение перечисления в приемние. В источнике такого перечисления нет(!), Но надо в приемнике в справочник/документ установить конкретное перечисление. и ни как не получается :( Что делал: Создал правило выгрузки, где через СЗ = СоздатьОбъект("СписокЗначенией"), т.к. такого объекта у меня нет, создаю элемент справочника, затем через СЗ.Установить; устанавливаю риквезит объекта, каторый в приемнике является перечислением, но тут указываю строку. Далее в ПКО для данного данного реквизита указываю правило конвертации, где у меня настроена конвертация из строки в перечисление и задаю предопределеные элементы строки(источник) и сопостовляю их элементам перечисления(приемник), вроде как должно работать, но при загрузке элементов срывается именно на перечислении в функции одНайтиОбъектПоСвойству он пытается найти конкретное значение перечисления и срывается при вызове СтруктураСвойств.СтрокаПоиска, т.к. данного ключа у структуры НЕТ! Просьба, подскажите кто знает как установить нужнок перечисление :(((
#1 by ТелепатБот
#2 by dk
Тип значения в приемнике точно задан как перечисление? Тогда можно тупо строку с идентификатором например Значение = "Мужской" вроде :)
#3 by hulio_ekb
Слушай, открой демку КД 2.0 - там в справочнике "Конвертации объектов" есть замечательная папка "ТипичныеПримеры", а в ней примеры "Перечисление в справочник (на этапе выгрузки)" и "Перечисление в справочник (на этапе загрузки)"
#4 by DarkAn
Приемник - точно Перечисление Т.е. я правильно понял что соответствие задовать не надо?
#5 by hulio_ekb
А, щас внимательнее прочитал вопрос :) Короче, если я правильно понял, у тебе надо создать какой то объект в приемнике и заполнить у него определенный реквизит типа "Перечисление.ТвоеПеречисление". Перечисления "Перечисление.ТвоеПеречисление" в источнике нет. Так? В общем то, тут по фиг, есть оно в источнике или нет. СОздавай ПКС для своего объекта, в этом ПКС источник можно не заполнять, а в скрипте "ПередВыгрузкой" у него прописать так: Значение = "ИдентификаторТвоегоПеречисления";
#6 by Mario
Как работает. Но можешь в ПКО после загрузки написать: Объект.ИмяТвоегоРеквизита = Перечисления.ИмяТвоегоПеречисления.Идентификатор;
#7 by DarkAn
(5,6) щас попробую...
#8 by DarkAn
не пойдет, мне по этому перечислению надо поиск объекта делать :)
#9 by DarkAn
ты все правельно понял
#10 by Mario
поиск в приемнике? Если да, то только (2,5). Флаг в ПКС "поиск" поставь
#11 by DarkAn
так и пытаюсь родить...
#12 by DarkAn
Свершилось чудо! примерно как и сказал толдько идентификатор сувал в СписокЗначений где описывал объект - все заработало!  Всем спасибо!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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