Как исправить ошибку режима совместимости при запуске внешней обработки в 1С

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

При запуске внешней обработки в 1С:Предприятие пользователи и разработчики часто сталкиваются с сообщением: «Обработка предназначена для запуска на версии платформы 1С:Предприятие 8.3 с отключенным режимом совместимости или выше». Рассмотрим подробнее, почему возникает эта проблема, как корректно настроить конфигурацию и обработку, а также как избежать ошибок при переносе данных между базами.

Причины возникновения ошибки

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

  1. Встроенная проверка в коде обработки. Во многих типовых сервисных обработках (например, для выгрузки и загрузки данных XML) в модуле формы прописано жесткое условие, проверяющее текущую версию платформы и режим совместимости конфигурации.
  2. Несоответствие интерфейса и форм. Обработка, разработанная под управляемый интерфейс 8.3 без режим совместимости, может использовать механизмы сериализации XDTO или управляемые формы, недоступные в обычных формах или при включенной совместимости с версии 8.2.

Варианты решения проблемы

Способ 1. Использование специальной версии обработки

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

Для конфигураций на обычных формах рекомендуем найти версию обработки ВыгрузкаЗагрузкаДанныхXML82.epf или вариант из папки UNIREPS81 / UNIREPS82 на диске ИТС. Такие версии изначально рассчитаны на работу в режиме совместимости и не требуют изменения настроек конфигурации.

Способ 2. Отключение проверки версии в коде обработки

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

Разберем по шагам, как это сделать:

  1. Откроем внешнюю обработку в режиме Конфигуратор.
  2. Перейдем в модуль основной формы обработки (или модуль объекта).
  3. Найдем процедуру обработки события ПриОткрытии или ПриСозданииНаСервере.
  4. Найдем и закомментируем фрагмент кода, выполняющий проверку режимов совместимости и вызов исключения.

Способ 3. Изменение режима совместимости конфигурации и проверка метаданных

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

Иногда при попытке обновить конфигурацию БД появляется ошибка «При проверке метаданных обнаружены ошибки, операция не может быть выполнена», при этом служебные сообщения остаются пустыми. Проанализируем, как выявить скрытые ошибки:

  1. Не отключайте режим совместимости в рабочей базе без предварительного тестирования, так как это может повлиять на работу существующих механизмов.
  2. Запустите синтаксический контроль и полную проверку метаданных через меню: Конфигурация —> Проверка конфигурации. Включите флаги проверки логической целостности, синтаксиса, а также проверки для сервера и клиента. Это позволит вывести скрытые ошибки в окно сообщений.
  3. Выполните процедуру Тестирование и исправление информационной базы перед изменением настроек.
  4. Если в базе используются расширения, убедитесь, что их режим совместимости совпадает с режимом основной конфигурации или установлен ниже его.

Ошибки «Переменная не определена» при загрузке данных в другую базу

При переносе данных с помощью обработки «Выгрузка и загрузка данных XML» в другую информационную базу могут появляться ошибки вида Переменная не определена (УправлениеПечатью) или Переменная не определена (ФормированиеПечатныхФормКлиентСервер) в модулях менеджера справочников или документов.

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

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

Для решения этой проблемы примените следующие подходы:

  1. Для идентичных баз: обновите конфигурацию-приемник до точного релиза и версии базы-источника.
  2. Для неидентичных конфигураций: используйте обработку «Универсальный обмен данными в формате XML» и правила конвертации, сформированные в программе «1С:Конвертация данных». Данный инструмент позволяет гибко настроить сопоставление метаданных без требований к полному совпадению состава общих модулей.
← На главную