Порядок выгрузки данных через план обмена #708402


#0 by SergoZD
Доброго дня. Есть Управление Торговлей 10.3, 1С 8.2.19.90, настроены РИБ. Запись сообщения XML при обмене по плану обмена Полный (предназначеный для обмена между РИБ) производится штатными средствами УТ, непосредственно вызовом ПланыОбмена.ЗаписатьИзменения(...), при этом в XML данные выгружаются в непонятном порядке, движения по регистрам документов проходят, раньше чем сами эти документы. Есть ли возможность упорядочить данные в этом XML-файле, как минимум - чтобы документы были в тексте раньше, чем их движения?
#1 by acsent
только если самому писать сообщения, но это муторно
#2 by SergoZD
Вроде бы написал. Кто-то может прокомментировать на предмет криворукости кода? Желательно с указанием кривых мест.
#3 by SergoZD
В данной ситуации для выгрузки из центральной базы используется стандартный метод, который не вызывает накладок, и, главное, добавляет регистрацию изменений конфигурации. Для выгрузки из периферийных баз в центральную уже используется приведенный выше код. Сперва в XML выгружаются изменения всех справочников, потом всех документов, потом только регистры. В моей ситуации другие данные в удаленных базах не изменяются и этого на первый взгляд достаточно.
#4 by Spieluhr
А зачем Вам понадобился такой порядок, если не секрет?
#5 by Лаврентий Берия
НЕ таскать движения. /рукалицо/
#6 by SergoZD
Spieluhr, удаленных баз несколько, в них выгружаются не полные копии, а только те данные, которые соответствуют филиалу. Проверка ведется на уровне реквизитов документов (склад/подразделение/контрагент и т.п.). Когда из филиала в центральную базу загружается документ, измененный в этой базе - проверкой реквизитов определяется, в какие ещё базы нужно отправить эти изменения. При загрузке движений - идет проверка по регистратору движений. Если загружается новый документ из филиала, и сперва грузятся движения по нему, то при проверке - регистратор объект не найден и движения никуда не отправляются. Потом подгружается документ - который в филиалы отправляется, но уже без движений. В принципе такая ситуация редка (в одном филиале для другого обычно документы не делаются) и решается это перепроведением документа, но хотелось бы избавиться от проблемы.
#7 by SergoZD
не понял, разъясните?
#8 by hhhh
глупо делать проверку на уровне регистратора. Это нереальные тормоза, запрос в цикле и прочая фигня. Он вам надо? Делай проверку по движениям регистра, там есть ведь и склад и контрагент и так далее.
#9 by SergoZD
Реализация товаров и услуг. Движения по регистру Товары на складах - склад чужой, контрагент наш. В итоге в базе будет документ с половиной движений. Когда прорабатывали этот механизм, решили - что такой вариант не по феншую. Более того, если в такой ситуации этот документ пометить на удаление во второй базе - то удалится только присутствующая половина движений, и после загрузки в центральную базу, там повиснет помеченый на удаление документ, по которому будут висеть движения, не выгруженные изначально во вторую базу. А это уже фейл.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С