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