РИБ. Данные внутри XML не отсортированы

1. VZhulanov 5 21.04.22 14:30 Сейчас в теме
Вопрос по обмену данными в РИБе

Есть сложный набор узлов и обменов в зависимости от типа документа/справочника.
В центре должны быть все данные, а по узлам какие данные куда должны попадать настраивает пользователь.
Так как узлов много и чтобы в каждом не настраивать обмен со всеми другими узлами, то весь обмен идет от узлов в центр, а из центра уже нужные данные перенаправляются в следующие узлы.
Есть документ и по нему движения регистров. Авторегистрация по плану обмена в документе и в движениях отключена, так как в какой узел отправлять данные зависит от содержимого документа.
При выгрузке обмена из узла в центр и наоборот в получаемом xml файле обмена данные не отсортированы. Может блок движений одного регистра оказаться раньше блока с самим документом, а блок по другому регистру после. Порядка нет никакого.
В итоге при загрузке данных обмена из движений регистра нельзя определить куда эти движения переслать дальше, а при загрузке документа еще может не быть в базе всех движений по регистру чтобы переслать документ с движениями в другой узел.

Вижу 2 костыля:
1. добавить излишние данные в регистры, по которым можно будет определить куда дальше обмен отправлять
2. при обмене запоминать все документы, по которым пришли данные и уже после обмена их обрабатывать.

Но самым верным решением было бы как-то отсортировать данные внутри XML, чтобы сначала справочники шли. потом документы, и потом уже движения по регистрам.

Как это сделать?
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот