При обновлении конфигураций 1С, особенно при значительном повышении режима совместимости (например, с версии 8.2.16 до 8.3.14), платформа проводит строгую валидацию структуры метаданных. Одной из критических ошибок, с которой могут столкнуться разработчики, является сообщение: «ПланСчетов.<ИмяПланаСчетов>: План счетов должен иметь все разделители видов субконто (ПВХ). При проверке метаданных обнаружены ошибки!». Разберемся, почему это происходит и как устранить данную проблему.
В старых версиях платформы 1С допускалась определенная гибкость в настройках объектов. Однако начиная с версий 8.3, работа с общими реквизитами и разделителями данных стала более строго регламентированной. План счетов, как объект метаданных, тесно связан с Планами видов характеристик (ПВХ), которые выступают источниками видов субконто.
Ошибка возникает, когда в свойствах Плана счетов настройка использования общих реквизитов для видов субконто конфликтует с настройками самих ПВХ или глобальными настройками конфигурации. Платформа ожидает, что все виды субконто будут корректно «разделимы» в соответствии с общей архитектурой разделения данных, но текущие настройки объекта блокируют этот процесс.
Рассмотрим основной способ устранения данной ошибки, который помог в большинстве случаев при переходе на новые версии платформы.
План счетов. Перейдите в свойства объекта и найдите раздел, связанный с использованием общих реквизитов. Убедитесь, что для свойства, отвечающего за разделители видов субконто, установлено значение «Автоматически».Планы видов характеристик, которые используются в качестве субконто для вашего плана счетов. В них также должны быть корректно заданы типы значений. Убедитесь, что для каждого предопределенного вида субконто выбран соответствующий тип данных.Если простая настройка «Автоматически» не принесла результата, рекомендуем проанализировать состояние базы более глубоко:
Анализ таблиц SQL: Если есть подозрение на рассогласование структуры БД, опытные разработчики иногда прибегают к анализу системных таблиц. Например, в таблице вида _AccRgED* (таблица оборотов или остатков) можно проверить, что поле _KindRRef (вид субконто) корректно ссылается на запись в таблице ПВХ. Если там наблюдаются «битые» ссылки, платформе будет сложно пройти валидацию при изменении режима совместимости.
Использование промежуточных этапов: Если вы переходите через множество версий (как в случае с 8.2.16 на 8.3.14), рассмотрите возможность поэтапного изменения режима совместимости. Переключайте режим постепенно (например, через 8.3.5, 8.3.8 и т.д.). Это позволит платформе пошагово адаптировать структуру данных и метаданные к требованиям новых версий, минимизируя риск возникновения критических сбоев.
Тестирование и исправление (ТиИ): Не пренебрегайте стандартной утилитой Тестирование и исправление информационной базы. Выполнение полной проверки с опцией «Проверка логической целостности» часто помогает выявить и устранить скрытые ошибки в ссылочной целостности объектов, которые мешают обновлению.
В крайнем случае, когда стандартные средства не помогают, разработчики прибегают к следующим радикальным мерам:
XML или DT-файл.Важное предостережение: Прямое вмешательство в структуру таблиц базы данных SQL крайне не рекомендуется. Такие действия могут привести к необратимому повреждению информационной базы. Всегда делайте резервную копию перед началом любых экспериментов с режимом совместимости.
Подводя итог, в большинстве ситуаций проблема решается приведением настроек использования общих реквизитов в Плане счетов к значению «Автоматически». Это обеспечивает соответствие метаданных требованиям современной платформы 1С.