Конвертация. Из одного справочника в два #667491


#0 by orda
В  источнике - справочник А, в приемнике 2 справочника,  Б и Д. В правилах обмена завожу два ПКО: для А->Б, и для А->Д и для каждого ПКО завожу по правилу выгрузки (т.е. 2 правила с одним и тем же объектом выборки А). Регистрирую изменения по плану обмена в источнике (А) и делаю обмен. В приемнике заполняется только справочник Б, правило выгрузки с ПКО А->Д не работает. Что делаю не так?
#1 by Cyberhawk
"Что делаю не так?" Не так все пошло в именования справочников...
#2 by orda
Если в правилах удаляю ПВД с ПКО для А->Б, то второе правило работает. Разве не может быть два правила выгрузки с одним источником и разными приемниками
#3 by Cyberhawk
Выгружаешь же ты справочник А. Как системе понять, когда какое ПВД использовать?
#4 by orda
"Не так все пошло в именования справочников." - не понял, уточни пожалуйста
#5 by orda
Я думал, должна использовать все ПВД, где А в качестве объекта выборки. Ошибаюсь?
#6 by fisher
С КД работал плотно, а правилами обмена - не работал. Но раз он хочет одно ПВД, то просто пропиши в нем два ВыгрузитьПоПравилу, отключив стандартную обработку.
#7 by Рэйв
делай 2 ПКО. В первом в ПередВыгрузкой Отказ=Истина на одно условие,во втором на противоположное
#8 by GenAcid
В правилах выгрузки указывается правило конвертации по какому обрабатывать. Как вариант можно с ВыгрузитьПоПравилу(...) извратиться.
#9 by dk
нужны не только 2 ПКО но и 2 ПВД в ПВД указывается какое ПКО используется
#10 by Рэйв
Ну это да.Само собой.
#11 by fisher
Это просто параметрический костыль для ленивых, а не догма. КД - чрезвычайно гибкая штука.
#12 by GenAcid
А вообще, если у тебя по ссылке выгружается объект, то правила выгрузки вообще не применяются.
#13 by Рэйв
Почему костыль? Наоборот очень логично и понятно. Можно справочники загружать отдельно какой хочешь.
#14 by orda
Но я же так и сделал: завел два ПКО и два соответствующих ПВД, в которых ссылаюсь на два два разных ПКО.
#15 by GenAcid
наверное дело в ? И срабатывает ПКО которое указано в вышестоящем ПКО, не?
#16 by Рэйв
Ну вот, отсеивай ненужное в первом и включай это во втором, отсеивая то, что положил в первом
#17 by orda
"А вообще, если у тебя по ссылке выгружается объект, то правила выгрузки вообще не применяются" - можно проще, для сержантов. Срабатывает всегда первое правило выгрузки
#18 by orda
извини, не врубился. Не по ссылки. Изменения регистрируются непосредственно в исходном справочнике А
#19 by Aleksey
Выгрузка по правилу
#20 by orda
- какой смысл записывать что-то во втором ПКО, если оно не срабатывает (вызывается только первое ПКО связанное с первым ПВД. Или я не прав?
#21 by GenAcid
Тогда хз, всегда указывал два правила выгрузки, указывал им разные ПКО и все работало. Как вариант - ВыгрузитьПоПравилу и в нем укажи второе ПКО.
#22 by orda
"Выгрузка по правилу" -не понял, что туда писать, имя ПВД? И в каком обработчике использовать?
#23 by Aleksey
Оба нужно указывать Источник Справочник А, приемник пусто Далее при выгрузке анализируем нужные данные и выгрузитьПоПравилу
#24 by Рэйв
Нет не прав. Эти 2 ПВД бубут показываться при выгрузке(если ты их правильно настроил конечно). Где галку поставишь - то и будет выгружаться
#25 by Aleksey
типа
#26 by Рэйв
+Если это для планов обмена, то там они оба должны работать
#27 by orda
Если ты про настройку обмена, то галки на обоих (выгрузка А, Выгрузка А)
#28 by Рэйв
Тогда смотри условия. что-то ты во втором намудрил, что туда ничего не попадает.Включай отладку
#29 by GenAcid
да я уж почитал как оно работает.
#30 by Noroving
Советую открыть файл обмена и просто посмотреть... и сразу же прийдет просветление)
#31 by orda
Буду разбираться с "Выгрузить пр правилу", хотя по описантю вроде должно работать и так
#32 by Рэйв
Имхо если не работает в исходм варианте, то и с ВыгрузитьПоПравилу не взлетит
#33 by fisher
Речь о связке одно ПВД - одно ПКО. Это вовсе необязательно. Это для легкости параметрической настройки простых случаев.
#34 by Noroving
Должно работать без всяких выгрузить по правилу, просто внимательно посмотри что оно выгружает тебе
#35 by Aleksey
почему?
#36 by orda
открывал, данные только по первому ПВД. Что-то я крепко напутал
#37 by Aleksey
Необязательно.а если он чистит данные при первом проходе?
#38 by Рэйв
Ну и зачем излишне заморачиваться если так по простому вполне работает?  Чтобы показать миру, что мы простых путей не ищем?:-)
#39 by Рэйв
Потому что скорее всего у него в самих правилах ошибка гдето.
#40 by Рэйв
+т.е он будет иметь тоже самое только подойдет к граблям с другого угла
#41 by orda
но почему ПВД прекрасно работают, когда остается одно из них. Не работают оба одновременно, в этом проблема
#42 by Рэйв
Странная какая то ситуация.
#43 by Noroving
Попробуй выгрузить универсальной обработкой, если все пройдет, то у тебя лажа с планами обмена, такое может быть 100 %
#44 by orda
Ладно, спасибо. Буду копать дальше
#45 by fisher
Две сточки кода - это сложное решение?
#46 by Рэйв
Ладно, кому как нравится:-) Не будем спорить
#47 by Feunoir
Потому что выгрузка ведет лог выгруженных объектов. И поэтому объект повторно не выгружается по другому ПВД. Или ставь в ПКО признак "не запоминать выгруженные объекты", или реально не выгружай через Отказ = Истина.
#48 by AlexNew
Указывай ИмяПКО какое надо перед выгрузкой из других объектов.
#49 by orda
"не запоминать выгруженные объекты" - проставлено в обоих правилах.
#50 by orda
требуется из одного элемента справочника А создать по одному элементу в справочниках Б и Д приемника
#51 by Feunoir
Ну добавь тестовую печать в ПКО и ПВД. Посмотри что где ломается. Посмотри файл выгрузки глазами, сколько там реально выгружено объектов.
#52 by sttt
в ПКО организации, перед выгрузкой:
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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