Как исправить ошибку «Ошибка разбора XML: фатальная ошибка: Expected '>'» при печати документов в 1С

Системный администратор 1С v8.3 (Обычные формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

При выполнении рутинных операций в 1С — например, при попытке распечатать документ «Реализация товаров и услуг», «ТОРГ-12» или счет-фактуру — пользователи могут столкнуться со внезапной критической ошибкой: «ошибка разбора xml: - (1, 252) фатальная ошибка: Expected '>'». Данная проблема блокирует вывод печатных форм и работу с документами.

В этом материале мы детально проанализируем причины возникновения этого сбоя, рассмотрим техническую природу ошибки и разберем по шагам все проверенные способы ее устранения.

Техническая природа и причины возникновения ошибки

С технической точки зрения синтаксический анализатор (парсер) XML-документов платформы 1С пытаются прочитать служебный XML-файл, но встречает структуру, нарушающую спецификацию формата. Сообщение Expected '>' означает, что система ожидает закрывающую угловую скобку у тега, однако файл неожиданно обрывается или содержит некорректный непечатный символ.

Платформа 1С активно использует XML-структуры для следующих задач:

  1. Хранение пользовательских настроек печатных форм и отчетов;
  2. Кэширование макетов и параметров автозаполнения документов;
  3. Работа с внешними компонентами (генерация штрихкодов, QR-кодов, модули ЭДО);
  4. Передача метаданных между клиентом и сервером.

Выделим основные причины, приводящие к повреждению этих файлов:

  1. Несоответствие релиза платформы требованиям конфигурации: После обновления конфигурации новые макеты или механизмы могут использовать возможности XML-парсера, отсутствующие в устаревшей версии платформы 1С.
  2. Повреждение локального пользовательского кэша: Файлы кэша метаданных на компьютере пользователя могут записаться некорректно при некорректном завершении работы программы или сбое сети.
  3. Использование динамического обновления конфигурации: Обновление базы «на лету» (без монопольного выгона пользователей) часто приводит к рассинхронизации структуры метаданных и повреждению кэша у пользователей.
  4. Блокировка антивирусным ПО: Фоновый сканер антивируса может заблокировать временный файл cache.1cd или `.xml` в момент его сохранения платформой, в результате чего файл записывается не полностью.
  5. Спецсимволы в наименованиях: Попадание управляющих символов ASCII или некорректно экранированных знаков < и > в реквизиты контрагентов или номенклатуры.

Рассмотрим подробнее каждый метод решения возникшей проблемы.

Способ 1. Обновление платформы 1С до актуального релиза

Как показывает практика, наиболее частой причиной ошибки после обновления конфигурации (например, «Комплексная автоматизация» или «Управление производственным предприятием») является устаревшая версия платформы.

Разберем порядок действий по обновлению:

  1. Узнаем минимально необходимый релиз платформы для вашей конфигурации. Эта информация всегда публикуется на официальном портале поддержки users.v8.1c.ru в описании к релизу конфигурации.
  2. Создаем резервную копию информационной базы (выгрузка .dt или копирование файла 1Cv8.1CD для файловых баз).
  3. Завершаем работу всех пользователей в базе.
  4. Скачиваем и устанавливаем актуальный релиз платформы 1С на сервер и клиентские рабочие станции.
  5. Запускаем базу в режиме Конфигуратора под новой платформой и выполняем запуск информационной базы в режиме «Предприятие».

Обратите внимание: При обновлении платформы на сервере может потребоваться повторная активация программной лицензии или перезапуск службы драйвера защиты HASP.

Способ 2. Очистка пользовательского кэша

Если обновление платформы пока невозможно или ошибка проявляется только у некоторых пользователей, первоочередной задачей является сброс временных файлов (кэша) 1С.

Проанализируем три варианта очистки кэша:

Вариант А. Автоматическая очистка с помощью ключа запуска

Самый простой и безопасный метод — использование параметра запуска:

  1. Открываем окно запуска 1С (список информационных баз).
  2. Выбираем нужную базу и нажимаем кнопку «Изменить».
  3. Переходим на последнюю страницу настроек до поля «Дополнительные параметры запуска».
  4. Прописываем ключ:

/ClearCache

При каждом запуске с этим ключом платформа будет автоматически очищать кэш вызова процедур и метаданных.

Вариант Б. Ручное удаление папок кэша

Выполняем полную очистку каталогов на диске:

  1. Завершаем работу 1С на компьютере пользователя.
  2. Нажимаем комбинацию клавиш Win + R и переходим в папки локальных данных:

%LOCALAPPDATA%\1C\1cv8
%APPDATA%\1C\1cv8

3. Внутри этих каталогов удаляем все папки с длинными буквенно-цифровыми названиями (например, d1b32e18-639a-4c92-a1e4-86a02b6623e1). Папки с понятными именами и конфигурационные файлы трогать не нужно.

Вариант В. Передобавление базы в список

Удаление и повторное добавление базы в стартовое окно 1С принудительно меняет идентификатор (GUID) базы для клиентского приложения, что создает для нее абсолютно чистую папку кэша:

  1. В окне запуска запоминаем или копируем путь к базе (или имя сервера и базы).
  2. Удаляем базу из списка (данные на диске/сервере при этом не пострадают).
  3. Нажимаем «Добавить» -> «Добавление в список существующей информационной базы» и укладываем прежний путь.

Способ 3. Восстановление базы после динамического обновления

Если ошибка разбора XML появилась у всех пользователей одновременно после проведения динамического обновления конфигурации, очистки локального кэша может быть недостаточно. Динамическое обновление способно нарушить целостность таблиц метаданных.

Проанализируем последовательность восстановления структуры базы данных:

  1. Просим всех пользователей выйти из 1С.
  2. Создаем резервную копию информационной базы.
  3. Запускаем утилиту проверки целостности файловой базы chdbfl.exe (находится в каталоге установки платформы C:\Program Files\1cv8\номер_релиза\bin\). Указываем путь к файлу 1Cv8.1CD, отмечаем галочку «Исправлять обнаруженные ошибки» и запускаем процесс.
  4. Заходим в базу в режиме Конфигуратор.
  5. Открываем меню «Администрирование» -> «Тестирование и исправление...».
  6. Устанавливаем следующие флаги:
    • Проверка логической целостности информационной базы;
    • Проверка ссылочной целостности;
    • Реструктуризация таблиц информационной базы.
  7. Нажимаем «Выполнить» и дожидаемся завершения процесса.

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

Способ 4. Сброс сохраненных настроек печати в базе и настройка исключений

Если ошибка возникает исключительно при формировании конкретного документа (например, «Реализация товаров и услуг»), сбойные XML-данные могут хранить пользовательские настройки отчета или печатной формы прямо внутри базы данных.

Разберем порядок действий по сбросу пользовательских настроек:

  1. Заходим в 1С под правами Администратора.
  2. Переходим в раздел «Администрирование» -> «Настройки пользователей и прав».
  3. Открываем «Персональные настройки пользователей» -> «Настройки отчетов и форм».
  4. Находим пользователя, у которого воспроизводится ошибка, и сбрасываем настройки для нужной печатной формы или документа.

Также рекомендуется проверить настройки антивирусного программного обеспечения на рабочих станциях. Добавьте в исключения антивируса следующие каталоги:

  1. Папку с установленной платформой 1С (C:\Program Files\1cv8\ или C:\Program Files (x86)\1cv8\).
  2. Каталоги локального кэша пользователей (%LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8).

Выполнение описанных рекомендаций позволяет полностью устранить фатальную ошибку разбора XML и восстановить корректную печать документов в 1С.

← На главную