К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как удалить основную форму констант в 1С

Как удалить основную форму констант в 1С:Предприятие 8.3 через конфигуратор, что делать если кнопка неактивна, какие ограничения и риски учесть перед удалением.

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

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

Что такое основная форма констант и где она находится

В дереве метаданных у объекта «Константы» есть свойство «Основная форма». Оно указывает на форму, которая открывается по умолчанию при вызове команды работы с константами. Форма может быть создана автоматически платформой (тогда в конфигурации её нет как отдельного объекта) или разработана вручную и сохранена в ветке «Общие → Формы» либо непосредственно у констант.

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

Подготовка перед удалением

Перед любыми изменениями конфигурации сделайте резервную копию базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD, для клиент-серверной — выполнить выгрузку через конфигуратор (Администрирование → Выгрузить информационную базу) или штатную копию средствами СУБД. Удаление формы — обратимая операция только при наличии копии или истории в хранилище конфигурации.

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

Удаление формы констант через конфигуратор

Стандартный путь выглядит так. Откройте конфигуратор, выполните команду «Конфигурация → Открыть конфигурацию» и дождитесь построения дерева метаданных. Найдите нужную форму: в зависимости от структуры конфигурации она может лежать в ветке «Общие → Формы» (типично для форм констант в управляемом приложении) или быть доступна через свойства объекта «Константы».

Щёлкните по форме правой кнопкой мыши и выберите «Удалить», либо выделите форму и нажмите Delete. Платформа запросит подтверждение и может показать список ссылок на объект — внимательно просмотрите его. Если на форму есть ссылки (например, она назначена основной формой констант), сначала очистите эти ссылки: откройте свойства объекта «Константы» и сбросьте поле «Основная форма».

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

Порядок действий
  1. 1
    Сделайте резервную копию базы или выгрузку в файл
  2. 2
    Откройте конфигуратор и дерево конфигурации
  3. 3
    Найдите форму в ветке «Общие → Формы» или через свойства констант
  4. 4
    Очистите свойство «Основная форма» у объекта «Константы», если форма там назначена
  5. 5
    Удалите форму через контекстное меню или клавишу Delete
  6. 6
    Проверьте список ссылок на объект в диалоге удаления
  7. 7
    Обновите конфигурацию базы данных (F7)
  8. 8
    Запустите базу в режиме 1С:Предприятие и проверьте поведение

Если кнопка «Удалить» неактивна

Самая частая причина — объект находится на поддержке поставщика с запретом изменений. Типовые конфигурации по умолчанию закрыты для редактирования. Откройте «Конфигурация → Поддержка → Настройка поддержки», найдите объект формы и переведите его в режим «Редактируется с сохранением поддержки» (или снимите конфигурацию с поддержки полностью, если это осознанное решение). Учтите, что изменённые объекты потребуют ручного сопоставления при обновлениях.

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

Наконец, форма может вообще не существовать как объект — если она генерируется платформой автоматически. Проверьте свойства объекта «Константы»: если поле «Основная форма» пустое, значит, форма создаётся платформой на лету, и удалять нечего. Управлять такой формой можно только через права и командный интерфейс.

Маршрут решения

Как выбрать действие

Форма есть в дереве метаданных и не нужнаУдалите форму и обновите конфигурацию базы данных
Форма генерируется платформой автоматическиУдалять нечего — ограничьте доступ правами или уберите команду из интерфейса
Нужно просто заменить форму на своюНе удаляйте старую сразу: создайте новую, назначьте её основной, проверьте, затем удалите старую
Объект на поддержке без возможности измененияВключите режим редактирования с сохранением поддержки в настройке поддержки

Альтернативы удалению

Удаление — крайняя мера. Во многих сценариях достаточно более мягких решений. Если задача — скрыть форму от пользователей, настройте права: в ролях снимите право «Просмотр» и «Редактирование» у констант, либо уберите стандартную команду из командного интерфейса подсистем. Пользователь просто не увидит пункт меню, а конфигурация останется нетронутой.

Если нужно заменить форму собственной, создайте новую общую форму, добавьте на неё нужные константы и назначьте её основной в свойствах объекта «Константы». Старая форма при этом может остаться в конфигурации как резервная — это упростит откат при проблемах.

Сравнение вариантов

Удаление формы

Подходит, когда форма точно не нужна никому. Ограничение: необратимо без копии, требует проверки ссылок

Настройка прав

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

Замена основной формы

Подходит, когда нужен другой интерфейс редактирования. Старая форма остаётся как запасной вариант

Удаление команды из интерфейса

Подходит, когда форма нужна редко и через код. Пункт меню исчезает, форма доступна программно

Проверка результата и типичные ошибки

После обновления конфигурации запустите базу в режиме 1С:Предприятие под пользователем с полными правами и под обычным пользователем. Убедитесь, что команда открытия констант либо исчезла, либо открывает ожидаемую форму (если назначена другая). Проверьте журнал регистрации на предмет ошибок вида «Объект не найден» — они указывают на оставшиеся ссылки на удалённую форму.

Также прогоните «Конфигурация → Проверка конфигурации» с включённой проверкой логической целостности. Это выявит битые ссылки в командном интерфейсе, подсистемах и коде, которые могли остаться после удаления.

Контрольные точки

Как проверить результат

Открытие команды констант в режиме предприятия
Норма

Команда отсутствует или открывает назначенную форму

Тревожный признак

Ошибка «объект не найден» или пустое окно

Проверка конфигурации в конфигураторе
Норма

Нет ошибок о ссылках на удалённую форму

Тревожный признак

Сообщения о неразрешённых ссылках

Журнал регистрации после теста
Норма

Нет новых ошибок при работе пользователей

Тревожный признак

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

Типичные ошибки
01
Удаление формы без очистки свойства «Основная форма» — платформа выдаёт ошибку при обновлении или в работе
02
Забытое обновление конфигурации базы данных — пользователи продолжают видеть старое поведение
03
Удаление формы в типовой конфигурации без включения режима редактирования — изменения теряются при обновлении
04
Отсутствие резервной копии — вернуть форму можно только переписыванием вручную
05
Удаление вместо настройки прав — лишняя модификация, которая усложнит обновления

Часто задаваемые вопросы

Можно ли удалить форму констант в режиме 1С:Предприятие, без конфигуратора?

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

Что будет со значениями констант после удаления формы?

Ничего. Форма — это только интерфейс редактирования. Значения констант хранятся в базе данных отдельно и при удалении формы полностью сохраняются. Доступ к ним остаётся программный и через другие формы.

Удалил форму, а команда в меню осталась и выдаёт ошибку. Что делать?

Значит, на форму осталась ссылка в командном интерфейсе или свойстве «Основная форма». Откройте свойства объекта «Константы», очистите поле основной формы, проверьте состав команд подсистем и обновите конфигурацию базы данных.

Как вернуть удалённую форму?

Из резервной копии или хранилища конфигурации — восстановите объект сравнением и объединением с нужной версией. Если копии нет, форму придётся создавать заново вручную. Именно поэтому копия перед удалением обязательна.

Можно ли просто запретить открытие формы констант отдельным пользователям?

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

Итог

Что важно запомнить

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