Как исправить ошибку проверки данных XDTO при обновлении 1С:Бухгалтерия 3.0 до релиза 3.0.142.56?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При переходе на новые релизы 1С:Бухгалтерии предприятия (БП) версии 3.0 пользователи часто сталкиваются с техническими сложностями, вызванными не только изменениями в законодательстве, но и внутренними особенностями платформы. Одной из наиболее резонансных проблем стал релиз 3.0.142.56. При попытке обновления с версии 3.0.141.39 системные администраторы и программисты начали получать критическую ошибку валидации XDTO-моделей. В этой статье мы подробно разберем, почему возникает эта ошибка и какими способами ее можно устранить.

Анализируем суть проблемы и причины возникновения ошибки

Рассмотрим текст ошибки, которая прерывает процесс обновления конфигурации базы данных: Ошибка проверки модели XDTO: xdto-objectType-3.2.1 тип: ОтчетЗаемщика пакет: Тип свойства 'ВидВыгрузкиРеглОтчета' не определен. Ситуация осложняется тем, что ошибка проявляется даже на версиях платформы, официально заявленных как подходящие (например, 8.3.21.1895).

Выясним причину такого поведения системы. Проблема кроется во внутреннем дефекте конфигурации (Bug ID 10251761). В XDTO-пакете CreditApplication (Заявка на кредит) одно из свойств ссылается на тип данных, который механизмы валидации платформы ветки 8.3.21 не могут корректно распознать. Это происходит из-за различий в движках обработки XML между разными ветками платформы. Фактически, метаданные пакета были сформированы в более свежей среде разработки, что сделало их несовместимыми со строгими правилами проверки в 8.3.21.

Решение №1: Обновление технологической платформы (рекомендуемый способ)

Проанализируем рекомендации фирмы «1С» и опыт участников сообщества. Самым простым и стабильным решением является переход на более современную ветку платформы. Хотя в системных требованиях к релизу 3.0.142.56 указана ветка 8.3.21, практика показывает, что для корректной работы механизмов XDTO требуется более высокая версия.

Выполним следующие шаги для исправления ситуации через обновление платформы:

  1. Завершим работу всех пользователей и создадим резервную копию базы данных (для переноса данных может потребоваться выгрузка и загрузка XML).
  2. Скачаем и установим платформу версии 8.3.22.2239 или выше. Важно отметить, что именно ветка 8.3.22 считается наиболее сбалансированной для данного случая.
  3. Попробуем запустить процесс обновления конфигурации базы данных (F7 в конфигураторе) под новой версией платформы.

Важное замечание по поводу выбора версии: некоторые пользователи пытаются сразу перейти на ветку 8.3.23 (например, 8.3.23.1865). Однако разберем ситуацию подробнее: в этой ветке были замечены серьезные проблемы с производительностью в файловом режиме работы. Проведение документов может замедляться в десятки раз. Поэтому, если ваша база работает в файловом варианте, настоятельно рекомендуем остановиться на стабильной версии 8.3.22.2239.

Решение №2: Ручная корректировка XDTO-пакета (если нельзя менять платформу)

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

  1. Зайдем в «Конфигурация» — «Поддержка» — «Настройка поддержки».
  2. Нажмем кнопку «Включить возможность изменения». При этом выберем вариант «Объект поставщика редактируется с сохранением поддержки» для возможности дальнейших правок.
  3. В дереве метаданных перейдем в раздел «Общие» — «XDTO-пакеты».
  4. Найдем пакет с именем CreditApplication (Заявка на кредит).
  5. В структуре пакета найдем тип объекта ОтчетЗаемщика и его свойство ВидВыгрузкиРеглОтчета.
  6. Нам необходимо перевыбрать тип для этого свойства. Установим его как ВидыВыгрузкиРеглОтчетовОткрытый (тип должен принадлежать этому же пакету).
  7. Проверим правильность пакета через контекстное меню. Если ошибок нет, выполним обновление конфигурации базы данных (F7).

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

Решение №3: Обновление на исправленный релиз конфигурации

Проанализируем ситуацию с выпуском исправлений от разработчика. Фирма «1С» признала ошибку и выпустила патчи, а также полноценный релиз, в котором данная проблема устранена. Ошибка исправлена в версии 3.0.143.27.

Если вы еще не начали процесс обновления до проблемного релиза 142.56, мы рекомендуем пропустить его и обновляться сразу с версии 3.0.141.39 на 3.0.143.27 (или более позднюю). В этом случае платформа 8.3.21.1895 отработает штатно, так как структура XDTO-пакета в новом релизе была приведена в соответствие с требованиями валидации этой версии платформы.

Сравнение производительности платформ

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

Таким образом, мы видим, что наиболее рациональным техническим решением является использование платформы 8.3.22.2239. Это позволит избежать как ошибок валидации данных, так и проблем с производительностью информационной системы.

Резюме и выводы

Подведем итоги нашего анализа. Ошибка проверки модели XDTO при обновлении БП 3.0 — это следствие несоответствия метаданных релиза 3.0.142.56 и механизмов проверки в платформе 8.3.21.

Для успешного решения задачи воспользуемся одним из алгоритмов:

  1. Временный переход на 8.3.22: используем эту платформу для проведения обновления БД, после чего работаем в обычном режиме.
  2. Пропуск релиза: обновляемся сразу на версию 3.0.143.27, где баг исправлен программно.
  3. Ручная правка: если обновление «зависло», исправляем тип в XDTO-пакете CreditApplication вручную через включение возможности изменения.

Помните, что перед любыми манипуляциями с метаданными или обновлением платформы необходимо убедиться в наличии актуальной резервной копии базы данных (файла .dt или копии файла 1Cv8.1CD).

← На главную