До старта конференции

Правила Выборочной Регистрации Объектов

1. Игорь Нап (Naposaram) 109 19.06.17 21:23 Сейчас в теме
Всем привет. Стакнулся с тем, что при изменении документа не регистрируется в обмен, регистрируется если изменятся дата, организация, контрагент и все, в коде накапал, что в этом виноваты ПравилаВыборочнойРегистрацииОбъектов, подскажите как они формируются ни как в коде не могу найти. Я так понимаю они каким то образом берутся из правил конвертации. Кто знает подскажите!
Ответы
2. Xer shi (Xershi) 277 19.06.17 22:02 Сейчас в теме
(1) зайди в обмен. Там есть 3 вида правил. Для загрузки, для выгрузки и правила регистрации, сам на днях ломал голову после модификации таких правил))
3. Игорь Нап (Naposaram) 109 19.06.17 22:18 Сейчас в теме
(2) ПравилаВыборочнойРегистрацииОбъектов - это параметр сеанса, который заполняется из регистра, вроде "ПравилаОбмена" (как то так), вот интересно по какому принципу формируются эти выборочные правила. Это механизм БСП - Обмен данными.
4. Xer shi (Xershi) 277 19.06.17 22:30 Сейчас в теме
5. Игорь Нап (Naposaram) 109 20.06.17 08:09 Сейчас в теме
(4) Ты имеешь ввиду, что причина в правилах регистрации? Их там нет, там только обмена и корреспондента.
6. Сан Саныч (herfis) 130 20.06.17 09:17 Сейчас в теме
(1) Сталкивался с подобным. Глубоко не копал, но эмпирически сделал предварительный вывод что регистрируются объекты с изменением тех реквизитов, для которых существуют ПКС в ПРАВИЛАХ КОНВЕРТАЦИИ. Во всяком случае, когда я добавил нужные ПКС, регистрация пошла.
7. Игорь Нап (Naposaram) 109 20.06.17 14:38 Сейчас в теме
(6) ПКС - ты про правила конвертации свойств? Я тоже так думаю, но дело в том, что в ПКС указано несколько реквизитов (Организация -> Организация, Номенклатура -> Номенклатура) "прямой" выгрузки, а для других, их там штук 10, через обработчики (ПередВыгрузкой и т.п.).

Тогда получается, что для выборочной регистрации берутся только реквизиты которые выгружаются на прямую?
8. Сан Саныч (herfis) 130 20.06.17 15:07 Сейчас в теме
(7) Да. Правила Конвертации Свойств.
Через обработчики ПКО? ПередВыгрузкой? Не знаю такого способа. Может, ПриЗагрузке и иже с ними? Тогда проблема понятна.
В идеале надо переделать на ПКС. При загрузке делается только тогда, когда в источнике в принципе невозможно определить сопоставление. Это чрезвычайно редко бывает в очень хитрых случаях. Гораздо чаще этот прием используют просто от недостатка опыта в настройке КД. В идеале вся конвертация должна производиться в источнике.
Но можешь и просто создать фиктивные ПКС, просто чтобы выгрузка по ним происходила хоть какая-то, а при загрузке по-прежнему будешь тулить свои костыли в обработчиках.
9. Игорь Нап (Naposaram) 109 20.06.17 15:17 Сейчас в теме
(8)
В идеале надо переделать на ПКС.


Да "ПриЗагрузке", просто конфигурации абсолютно разные и через ПКС не сделать.

Но можешь и просто создать фиктивные ПКС, просто чтоб


Я думал попробовать немного по другому из параметра сеанса "ПравилаВыборочнойРегистрацииОбъектов" - получается строка с реквизитами через запятую, думаю просто добавить строкой необходимые реквизиты при регистрации, должно прокатить и ПКО изменять не понадобится.
10. Сан Саныч (herfis) 130 20.06.17 15:31 Сейчас в теме
(9)
Да "ПриЗагрузке", просто конфигурации абсолютно разные и через ПКС не сделать.

Вот давай не будем. Я собаку съел на обменах между абсолютно разными конфигурациями. Делается.
(9)
Я думал попробовать немного по другому из параметра сеанса "ПравилаВыборочнойРегистрацииОбъектов" - получается строка с реквизитами через запятую, думаю просто добавить строкой необходимые реквизиты при регистрации, должно прокатить и ПКО изменять не понадобится.

Ну, дерзай. Я в эту сторону не копал. Меня полностью устроило типовое поведение. Просто сначала отлаживал неполные правила и заметил траблы с регистрацией. Потом понял что полные регает нормально и успокоился. Все логично. Нафига выгружать в приемник изменения объекта, которые на приемнике отразиться не должны?
11. Игорь Нап (Naposaram) 109 20.06.17 16:04 Сейчас в теме
(10)
Вот давай не будем. Я собаку съел на обменах между абсолютно разными конфигурациями. Делается.

Может ты прав. Например возможно ПКС-ом сделать следующее: В источнике есть реквизит Номенклатура и Количество, а в приемнике это реквизиты табличной части? Не нашел другого варианта как сделать "ПередОбработкой".

Нафига выгружать в приемник изменения объекта, которые на приемнике отразиться не должны?

Да не, эт понятно, что "ПравилаВыборочнойРегистрацииОбъектов" - сделаны для того что бы снизить не нужные выгрузки и т.п.
12. Сан Саныч (herfis) 130 20.06.17 16:34 Сейчас в теме
(11)
Может ты прав. Например возможно ПКС-ом сделать следующее: В источнике есть реквизит Номенклатура и Количество, а в приемнике это реквизиты табличной части? Не нашел другого варианта как сделать "ПередОбработкой".

В смысле, в приемнике одна строка?
Тогда так:
1) в перед выгрузкой ПКГС табличной части (правила конвертации группы свойств - т.е. на папочке ТЧ клацаешь изменить - открываются ее обработчики) пишешь:
КоллекцияОбъектов = Новый Массив;
КоллекцияОбъектов.Добавить(1);
Это просто для того, чтобы КД знала, что в ТЧ есть строка и надо ее конвертировать. Подойдет любая итерируемая коллекция, а содержимое ее неважно, т.к. все остальное мы укажем непосредственно через ПКС. Можно было бы сразу таблицу значений подсунуть и правильно ее заполнить - тогда в обработчиках ПКС можно ничего не писать. Но вариант с обработчиками ПКС более лаконичный и наглядный при беглом просмотре правил.
2) а в ПКС этой ТЧ пишешь в ПередВыгрузкой
- для "Номенклатура": Значение = Источник.Номенклатура; (ну и задать правило для номенклатуры)
- для "Количество": Значение = Источник.Количество;
13. Игорь Нап (Naposaram) 109 20.06.17 16:40 Сейчас в теме
(12) Ну в принципе почти так и сделал
Прикрепленные файлы:
14. Сан Саныч (herfis) 130 20.06.17 16:41 Сейчас в теме
(13) Что ж ты мне голову-то тогда морочишь? :)
15. Сан Саныч (herfis) 130 20.06.17 16:43 Сейчас в теме
Да, точно - перед обработкой. Перед выгрузкой - уже итерация по строкам идет.
16. Игорь Нап (Naposaram) 109 20.06.17 16:48 Сейчас в теме
(14)
Что ж ты мне голову-то тогда морочишь? :)


Выманиваю информацию =)

Просто получается для таких ситуаций, где в ПКС не указан "Источник" (в данном случае грубо говоря Номенклатура), в "ПравилаВыборочнойРегистрацииОбъектов" не попадает и получается при изменении в документе "Номенклатуры" и "Количества" в обмене не будет зарегистрирован.
17. Сан Саныч (herfis) 130 20.06.17 17:02 Сейчас в теме
Хм... Действительно. Не совсем понятно, как он отработает в таком случае. У меня сейчас более простые правила используются.
В идеале он должен выкупать наличие сложных правил и если не может их полностью формализовать - регистрировать (как меньшее из зол).
Т.е. у тебя сейчас такое правило как ты привел и при изменении номенклатуры регистрации не происходит?
Если так, то я бы попробовал:
1) переделать на ПКС, как я описывал (может, он только на ПКГС лажает)
2) поиграться с ПКС с источником, но без приемника :)
18. Игорь Нап (Naposaram) 109 20.06.17 17:06 Сейчас в теме
(17)
Т.е. у тебя сейчас такое правило как ты привел и при изменении номенклатуры регистрации не происходит?

Нееее, не регистрирует.

(17)
Если так, то я бы попробовал:
1) переделать на ПКС, как я описывал (может, он только на ПКГС лажает)
2) поиграться с ПКС с источником, но без приемника :)

Буду пробовать, мож че получиться.
Оставьте свое сообщение