При обновлении типовых или доработанных конфигураций (например, 1С:Управление торговлей 11.3) пользователи часто сталкиваются с критической ошибкой при попытке обновить конфигурацию базы данных. Сообщение выглядит следующим образом: Обработка.ПанельАдминистрированияБИД.Команда.Открыть: Имя команды не может совпадать с именем стандартной команды. В данной статье мы подробно разберем причины возникновения этой ситуации и рассмотрим пошаговые методы её решения.
Проанализируем ситуацию: ошибка начала массово проявляться при переходе на платформу версии 8.3.11. В более ранних версиях платформы, таких как 8.3.10 и ниже, механизмы проверки метаданных были более лояльными. Начиная с версии 8.3.11, фирма «1С» внедрила строгий контроль уникальности имен объектов метаданных. Теперь платформа не допускает наличия пользовательской команды с именем Открыть, если у объекта (в данном случае у обработки) уже существует стандартная команда с таким же названием.
Конфликт возникает из-за того, что в библиотеку БИД (Библиотека интеграции с 1С:Документооборотом) была включена команда с простым именем Открыть. На новых версиях платформы это вызывает коллизию, так как система «пугается» дублирования функционала и блокирует обновление, считая это ошибкой проектирования метаданных.
Разберем подробнее объект, вызывающий ошибку. БИД — это стандартная подсистема, которая встраивается в такие решения, как ERP, Комплексная автоматизация и Управление торговлей. Она обеспечивает «бесшовную» интеграцию с 1С:Документооборотом. Ошибка локализована в объекте Обработка.ПанельАдминистрированияБИД. Поскольку эта подсистема является типовой, проблема носит массовый характер для всех конфигураций, использующих старые релизы БИД на новой платформе.
Рассмотрим самый простой способ, который помогает в большинстве случаев при работе с типовыми конфигурациями. Если ваша база находится на поддержке и вы не планируете вносить изменения в код, выполните следующие действия:
Поддержка — Обновить конфигурацию или через файл .cf / .cfu).F7), система выдаст окно со списком ошибок метаданных.Как показывает практика, платформа 8.3.11 позволяет завершить реструктуризацию, даже если проверка имен выдает ошибку, при условии, что это не нарушает логику хранения данных. Однако помните, что это лишь временная мера.
Выясним, как настройки платформы влияют на поведение системы. Ошибка часто проявляется, если в свойствах корневого объекта конфигурации установлен высокий режим совместимости. Рассмотрим, как это поправить:
Режим совместимости.Не использовать или 8.3.11, попробуйте временно установить 8.3.10.Важно: Изменение режима совместимости — это серьезный шаг, который может повлиять на работу расширений и новых механизмов платформы. Используйте этот метод только в том случае, если понимаете последствия для всей системы в целом.
Если ваша конфигурация уже снята с поддержки или находится на поддержке с возможностью изменения, мы рекомендуем устранить причину ошибки физически. Рассмотрим этот алгоритм по шагам:
Обработка.ПанельАдминистрированияБИД.Открыть.ОткрытьПанельАдминистрирования или ОткрытьБИД.Пример изменения вызова в программном коде может выглядеть так:
// Было:
Команды.Открыть.Выполнить();
// Стало:
Команды.ОткрытьБИД.Выполнить();
Проанализируем альтернативные варианты, если вы не хотите вносить изменения в метаданные. Ошибка является специфичной для ветки платформы 8.3.11. Рассмотрим два пути:
Посмотрим на общие рекомендации для администраторов и программистов 1С, работающих с этой проблемой:
Открыть заимствована в расширение, ошибку придется исправлять и там.AppData/Local/1C и AppData/Roaming/1C) иногда помогает убрать «фантомные» сообщения об ошибках, оставшиеся после неудачных попыток реструктуризации.Подводя итог, можно сказать, что проблема носит чисто технический характер и связана с эволюцией требований платформы 1С к качеству программного кода и метаданных. Наиболее правильным долгосрочным решением является переименование команды или обновление конфигурации до версии, где эта ошибка исправлена производителем.