|
Как сериализовать документ по Правилам выгрузки? | ☑ | ||
---|---|---|---|---|
0
PaulMuller
24.04.19
✎
16:04
|
Стала задачка сравнивать документы в разных базах по Com соединению. Для этого сериализирую фабрикой XDTO документ в источнике и приемнике. Между базами настроен обмен по правилам, следовательно сериализированный объект на базе источнике НУЖНО сериализовать с применением правил конвертации. Ну или как то-так.
Вот так вот получаю строки: SB_XMLWriter = SourceBase.NewObject("XMLWriter"); SB_XDTOSerializer = SourceBase.NewObject("XDTOSerializer",SourceBase.XDTOFactory); SB_XMLWriter.SetString(); SB_XDTOSerializer.WriteXML(SB_XMLWriter, SourceBaseElementObject); SB_RESULT = SB_XMLWriter.Close(); // Тута нужно не просто оригинал документа сериализовать, а пережевать его правилами конвертации, а потом сериализовать RB_XMLWriter = new XMLWriter; RB_XDTOSerializer = new XDTOSerializer(XDTOFactory); RB_XMLWriter.SetString(); RB_XDTOSerializer.WriteXML(RB_XMLWriter, ReceiverBaseElementObject); RB_RESULT = RB_XMLWriter.Close(); Правила перед выгрузкой меняют суммы, валюты, и на данный момент сравнение без учета правил показывают что эти поля отличаются. Поэтому нужно пережевать этот объект правилами обмена. Есть вариант создавать файл выгрузки универсальной обработкой обмена и с него вытаскивать готовенький XMLузел, но есть хотелка не прибегать к привязке к этой обработке, по возможности, и сделать "красивее", лаконичнее. Внимание вопросы: 1) Правила конвертации можно использовать только в среде УниверсальногоОбменаДаннымиХМЛ или есть еще как-то? 2) Может кто использовал экспортные процедуры УниверсальногоОбменаДаннымиХМЛ для частных задач? 3) Может есть какие-то другие программные ресурсы для подобных задач, или подходы к ним? 4) Помогите советом в общем. Совсем не знаю с какой стороны подойти к решению. Гуглить такое сложновато, по ключевым словам кидает совсем другого характера статьи. |
|||
1
Ёпрст
24.04.19
✎
16:27
|
слит данные из этих баз в одну общую и там делать консолидированный отчет
|
|||
2
PaulMuller
24.04.19
✎
16:43
|
(1) Базы очень разные, так просто это не сделать, в частности сравнение нужно для тестирования обмена, если собирать эти данные на второй базе делая обмен, то сравнение будет некорректным, + вторая база закрытая для изменений.
|
|||
3
PaulMuller
24.04.19
✎
16:45
|
Мне бы просто способ посмотреть какой объект(после применений правил выгрузки) отправляется на вторую базу и какой пришел в итоге.
|
|||
4
Ёпрст
24.04.19
✎
16:55
|
(3) дык в режиме отладки проверяй свои правила обмена
|
|||
5
PaulMuller
24.04.19
✎
17:15
|
(4) Ну окей, правила обмена проверил, все гут. Завтра сотрудник скажет "Некоторые документы мигрировали без ПТУ" и что-бы найти подобные документы нужно сравнить базы. Или еще, на второй базе поменяли документ, а потом во время миграции он затрет измененные данные на второй базе, а этой обработкой можно такое отследить заранее.
|
|||
6
fisher
24.04.19
✎
17:17
|
ИМХО, или самому копать 2) или ждать того, кто это уже делал.
|
|||
7
PaulMuller
24.04.19
✎
17:19
|
(4) Многое в обмене зависит не только от самих правил, а и от прав пользователей, разными проверками запрета периодов миграции и проведения документов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |