Удаление из узла обмена объектов с недопустимыми символами текста XML


Настроили обмен РИБ (или любой другой обмен по правилам обмена). Все работает хорошо, но в один из прекрасных дней вы сталкиваетесь с ошибкой вида: "Ошибка при вызове метода контекста (ЗаписатьИзменения): Текст XML содержит недопустимые символ в позиции …"? Что делать и где искать?

Для решения проблемы поиска этой самой ошибки вида: «Ошибка при вызове метода контекста(ЗаписатьИзменения): Текст XML содержит недопустимые символ в позиции …» была написана эта простенькая обработка. Может кому-то пригодится 🙂

Как работает обработка?

Для выбранного плана обмена она читает все зарегистрированные на обмен объекты. Осуществляется попытка выгрузки каждого объекта в XML отдельно. В случае если при выгрузке возникает ошибка, то выводится сообщение об этом и при установленном признаке «Снимать с регистрации» объект снимается с регистрации.

7 Comments

  1. kraynev-navi

    Увы, проблему недопустимых символов это не решает. Обработка вероятно может помочь ее локализовать и что-то доработать в конфигурации. Потому как в зависимости от ситуации решения надо принимать тоже разные. В свое время намучились. И почему при обмене у 1С не используется банальное base64 ?

    Reply
  2. insurgut

    (1) kraynev-navi, увы — не решает. Столкнувшись с проблемой было потрачено много времени на локализацию ее. После увидев обычный объект, ни чем от остальных не отличающийся, просто исключили его из обмена, т.е. просто обошли эту ошибку. Если кто-то знает природу этого явления и решение этой проблемы — поделитесь.

    Reply
  3. kraynev-navi

    (2) Мы сделали костыль (по другому сложно охарактеризовать). В проблемном объекте ПриЗаписи принудительно обходились проблемные реквизиты и заменялись проблемные символы. При помощи НайтиНедопустимыеСимволыXML

    Reply
  4. pvb2003

    Под УФ не работает ….

    Reply
  5. insurgut

    (4) pvb2003, любую конфигурацию можно запустить в обычном режиме через конфигуратор.

    Reply
  6. seva1405

    Спасибо!

    Reply
  7. ssn5810

    Спасибо! в Рознице 1 помогло !!!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *