|
Настройка порядок выгрузки объектов в КД 2.1 | ☑ | ||
---|---|---|---|---|
0
Demetres
19.05.14
✎
13:53
|
Добрый день! Подскажите как настроить порядок выгрузки объектов в КД 2.1?
Мне нужно чтобы документы всегда выгружались в определенном порядке Док1, Док2, ...., ДокПоследний, а не как сейчас ДокПоследний, ДокN, ...., Док2. В ПВД настроил приоритет выгрузки с учетом нужного порядка, но выгрузка идет совсем не по нему. |
|||
1
Demetres
19.05.14
✎
14:08
|
Причем порядок в котором идет выгрузка всегда постоянный и не зависит от группировки в ПВД и выставленных приоритетов. Буду пока код смотреть обработки выгрузки. Может там найду ответ :(
|
|||
2
SleepyHead
гуру
19.05.14
✎
14:09
|
В таком случае, используй произвольный алгоритм, грузи документы в коллекцию ВыборкаДанных и сортируй ее так как тебе надо, а потом используй ВыгрузитьПоПравилу()
|
|||
3
SleepyHead
гуру
19.05.14
✎
14:10
|
Не понял, что называешь приоритетом. Приоритет у ПВД - это очередность срабатывания самого ПВД, приоритет у ПКО - это очередность применения ПКО, но никак не конкретного экземпляра выгружаемого объекта.
|
|||
4
Demetres
19.05.14
✎
14:13
|
(3) Пардон, а очередность срабатывания это разве не одно и тоже с порядком выгрузки?
Приоритет у ПВД это имелось ввиду "Порядок выполнения". |
|||
5
Demetres
19.05.14
✎
14:17
|
Я понял. Нужно грузить не объекты по какой-то очереди а типы объектов. Сначала док-ты "ПриемНаРаботуВОрганизацию", потом док-ты "КадровоеПеремещениеОрганизаций", далее док-ты "УвольнениеИзОрганизаций"
|
|||
6
Demetres
19.05.14
✎
14:18
|
Извините что не понятно написал.
ТипДок-ов1, ТипДок-ов2, ...., ТипДок-овПоследний |
|||
7
SleepyHead
гуру
19.05.14
✎
14:19
|
(5) Ну таки да, в первом приближении.
|
|||
8
Demetres
19.05.14
✎
14:21
|
(7) так как настроить этот порядок???
ТипДок-ов1, ТипДок-ов2, ...., ТипДок-овПоследний |
|||
9
SleepyHead
гуру
19.05.14
✎
14:25
|
(8) настроить приоритет. Подвигать ПВД вверх/вниз при настройке правил. Сам не пробовал, не уверен что поможет
Если не поможет, то при выгрузке пометить первый вид документа, остальные пометки снять, выгрузить Следующая итерация - второй вид документа, и так далее. Это грустный и унылый метод, конечно. Но сработает. |
|||
10
Demetres
19.05.14
✎
14:33
|
(9) Про стрелки и "Порядок выполнения" почему-то не срабатывает, а выгружать сначала один тип документов потом другой не вариант. Но все равно спасибо за участие :)
|
|||
11
SleepyHead
гуру
19.05.14
✎
14:37
|
(10) открываем ПВД, на закладке "Дополнительно" ставим нужный приоритет - и потом в обработке обмена правила не так сортируются, как расставлены приоритеты? Так?
|
|||
12
Demetres
19.05.14
✎
14:41
|
(11) Да. Только в ПВД он называется "Порядок выполнения".
Сейчас по коду посмотрю что происходит. |
|||
13
SleepyHead
гуру
19.05.14
✎
14:49
|
(12) напоминаю про вариант, озвученный в (2), что-то мне подсказывает, что он может сработать. Имя правила же указывается явно, в зависимости от вида документа.
Собрать все нужные документы в одну коллекцию, отсортировать в нужном порядке, потом обойти и применить метод ВыгрузитьПоПравилу() |
|||
14
SleepyHead
гуру
19.05.14
✎
14:50
|
Плюс к этому в ПКО отключить флажок "Запоминать выгруженные объекты", чтобы все корректно сработало.
|
|||
15
Demetres
19.05.14
✎
15:00
|
В коде обработки "MD82Exp.epf" для получения изменений для узла обмена используется "ПланыОбмена.ВыбратьИзменения" он то и не понимает порядка который мы задаем в правилах конвертации. Тут нужно будет дописать что-то что бы сооблюдался порядок из правил.
(13) Тут много кодить нужно будет, и не понятно где хранить эту коллекцию. |
|||
16
Demetres
19.05.14
✎
15:29
|
Вместо конструкции:
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения, МассивВыгружаемыхМетаданных); используем: Для Каждого ЭлемМетаданных Из МассивВыгружаемыхМетаданных Цикл //ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения, МассивВыгружаемыхМетаданных); ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения, ЭлемМетаданных); ... КонецЦикла; и будет вам счастье и обход по порядку настроенном в правилах обмена для обработки "MD82Exp.epf" !-) |
|||
17
Demetres
19.05.14
✎
15:53
|
Это кстати работает и для обработки ОбменДаннымиXML. Надеюсь будет кому-нибудь полезно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |