fixin (fixin) wrote,
fixin
fixin

Categories:

Альтернатива РИБ



РИБ - штука хорошая, но медленная и избыточная. К тому же всякие ограничения целостности и прочее на практике редко требуются.


При выгрузке файла обмена происходит запись в базу (меняются номера сообщений), что тоже не очень разумно.


Давайте поразмыслим об альтернативе на примере обмена между Центром и Филиалом.


На обоих узлах есть план обмена, где просто фиксируются  изменения, для наших целей номера сообщений не нужны, просто используем типовой механизм.




Рассмотрим обмен, например, из Филиала в Центр.


Филиал формирует XML-файл А, содержащий XML-представления всех объектов, зарегистрированных как измененные в Филиале на плане обмена для Центра.


При подгрузке этого филиала в Центре те объекты, которые уже соответствуют этим XML-представлениям, пропускаются, повторно в базу не загружаются. Загружаются только изменения.


В ответ отправляется файл В, содержащий XML-представления всех объектов из файла А объектов в базе Центр.


Филиал считывает этот файл и те объекты, которые соответствуют объектам в базе Филиал, удаляет из плана обмена в Филиале для Центра.


Таким образом обеспечивается перекачка правильного состояния объекта менее затратными средствами.


Потеря файла обмена точно так же не влияет на целостность обмена, как и в обычной РИБ.


Эту же схему можно красиво обыграть, если есть COM-соединение, тогда сразу сравниваем два объекта и если они идентичны, то сразу исключаем их из плана обмена. Иначе передаем и сразу после успешной передачи исключаем.


У схемы есть ограничение - объекты обмена должны соответствовать 1:1 в центральной базе и на филиалах. Т.е. если есть служебные реквизиты типа даты прихода


При сравнении можно исключать, если требуется, служебные реквизиты, актуальные только для текущей базы - типа даты изменения документа, даты подгрузки и т.п., то их нужно игнорировать при сравнении.


Что скажете, звери 1С?

Tags: , вопросы
Subscribe

promo fixin december 31, 2037 16:57 1420
Buy for 30 tokens
UPD: Друзья, в августе 2019 года блог переехал на http://fixinchik.ru. Welcome! Добро пожаловать в журнал Осипова Сергея Александровича, известного также как Fixin и Гений 1С. Рекомендую ознакомиться с Часто Задаваемыми Вопросами обо мне. Что я хочу в подарок - список. Мой проект "…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 12 comments