Разработка и Конфигурация · 9 мин
Как удалить форму элемента в 1С
Как удалить форму элемента в 1С: работа в конфигураторе, удаление основной формы справочника и документа, проверка ссылок, типичные ошибки и способы восстановления.
Форма элемента в 1С — это экранное представление объекта (элемента справочника, документа, записи регистра), через которое пользователь просматривает и редактирует данные. Удаление формы требуется, когда объект переводится на автоматически генерируемую форму, когда устаревшая форма заменяется новой, или когда форма была создана ошибочно и мешает обновлению конфигурации.
Важно сразу разделить две разные задачи. Первая — удалить сам объект «форма» в дереве конфигурации, то есть избавиться от файла формы и её модуля. Вторая — убрать назначение формы как «основной» у объекта, оставив саму форму в конфигурации. Часто под «удалить форму элемента» подразумевают именно второе: сделать так, чтобы справочник снова открывался автоматически генерируемой формой платформы.
Обе операции выполняются в конфигураторе и требуют права на изменение конфигурации, а в рабочей базе — ещё и понимания процедуры обновления. Ниже разобраны оба сценария, проверка последствий и типичные ошибки.
Что нужно проверить перед удалением формы
Форма редко существует «сама по себе». Обычно на неё есть ссылки: объект назначил её основной формой элемента, из кода других модулей её открывают через ПолучитьФорму() или ОткрытьФорму(), а в расширениях могут быть заимствованные обработчики её событий. Удаление формы без проверки этих связей приводит к ошибкам при открытии объектов и обновлении базы.
Перед удалением выполните поиск ссылок на форму. В конфигураторе выделите форму в дереве конфигурации, нажмите правую кнопку мыши и выберите «Поиск ссылок в объектах». Платформа покажет все места, где форма упоминается: свойства объектов, модули, настройки. Также полезно выполнить глобальный поиск (Ctrl+Shift+F) по имени формы по всем модулям конфигурации.
Откройте свойства справочника или документа, поле «Основная форма элемента» — там не должно быть удаляемой формы
Найдите глобальным поиском имя формы в модулях и уберите или замените вызовы
Проверьте подключённые расширения: удаление исходной формы сломает расширение
Удаление формы элемента в конфигураторе
Основной сценарий — удаление формы через дерево конфигурации. Откройте конфигуратор, выполните «Конфигурация → Открыть конфигурацию» и дождитесь построения дерева объектов. Найдите нужный объект, например «Справочники → Номенклатура», раскройте его и перейдите в ветку «Формы».
Выделите форму, которую нужно удалить, и нажмите клавишу Delete либо выберите «Удалить» в контекстном меню. Платформа попросит подтверждение. Если форма является основной для объекта, конфигуратор выдаст предупреждение — в этом случае сначала снимите назначение (об этом ниже), а затем повторите удаление.
- 1Сделайте резервную копию базы или выгрузку конфигурации (файл .cf)
- 2Откройте конфигуратор и дерево конфигурации
- 3Найдите объект и раскройте ветку «Формы»
- 4Проверьте ссылки на форму через «Поиск ссылок в объектах»
- 5Снимите назначение основной формы в свойствах объекта, если оно есть
- 6Удалите форму клавишей Delete и подтвердите действие
- 7Обновите конфигурацию базы данных (F7) и проверьте открытие объекта в режиме предприятия
После удаления формы её модуль, файл описания формы и все обработчики удаляются безвозвратно. Восстановить их можно только из резервной копии конфигурации или системы хранения версий (хранилища конфигурации, git), поэтому копия перед удалением — обязательный шаг, а не рекомендация.
Как убрать назначение основной формы элемента
Если задача — вернуть объекту автоматически генерируемую форму платформы, удалять форму необязательно. Достаточно очистить свойство «Основная форма элемента» (или «Основная форма объекта» — название зависит от типа объекта) в палитре свойств.
Выделите объект в дереве конфигурации, откройте палитру свойств (правый клик → «Свойства») и найдите группу «Основные формы». Очистите поле «Основная форма элемента». После обновления конфигурации базы данных платформа начнёт строить форму элемента автоматически на основании состава реквизитов объекта.
Особые ситуации при удалении
Форма в типовой конфигурации на поддержке
В типовых конфигурациях удаление объектов ограничено правилами поддержки. Если конфигурация стоит на полной поддержке, удалить форму напрямую не получится — потребуется включить возможность изменения («Конфигурация → Поддержка → Настройка поддержки»). Учтите, что снятие объектов с поддержки усложняет последующие обновления: при обновлении платформа предложит восстановить типовую форму, и изменения придётся сопоставлять вручную.
Форма заимствована в расширение
Если конфигурация дорабатывается через расширения, более безопасная альтернатива удалению — скрыть ненужные элементы формы в расширении или переназначить основную форму. Удаление исходной формы из основной конфигурации приведёт к ошибкам в расширении, которое на неё опирается, и база может не запуститься в режиме предприятия до исправления расширения.
Удаление формы записи регистра или формы списка
Механика одинакова для всех видов форм: форма списка, форма выбора, форма записи регистра сведений. Разница только в том, какое свойство объекта на них ссылается — «Основная форма списка», «Основная форма для выбора» и так далее. Проверяйте всю группу «Основные формы» в палитре свойств, а не только форму элемента.
Проверка результата после удаления
После удаления формы и обновления конфигурации базы данных (клавиша F7) запустите режим предприятия и откройте несколько элементов объекта. Если форма была единственной и назначение снято, платформа построит форму автоматически — все реквизиты объекта будут показаны стандартным образом.
Дополнительно выполните проверку конфигурации: «Конфигурация → Проверка конфигурации» с включённым поиском некорректных ссылок. Это выявит оставшиеся обращения к удалённой форме из модулей, которые не были найдены вручную.
Как проверить результат
Элемент открывается в автоматически сгенерированной форме
Ошибка «Форма не найдена» или пустое окно
Нет сообщений о ссылках на удалённую форму
Ошибки в модулях с именем удалённой формы
Расширения загружаются без ошибок
Расширение отключено из-за отсутствующей формы
Типичные ошибки и альтернативы удалению
Самая частая ошибка — удаление формы, которая остаётся назначенной основной. Конфигуратор либо блокирует удаление, либо после обновления объект перестаёт открываться. Вторая типичная ситуация — забытые вызовы ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаЭлементаУстаревшая") в общих модулях и обработчиках команд интерфейса.
Не всегда форму нужно именно удалять. Если форма содержит полезную логику, но не должна показываться пользователям, достаточно снять назначение основной. Если мешают отдельные элементы на форме, их можно скрыть программно или через расширение, не трогая саму форму.
Что важно запомнить
Удаление формы элемента делается в конфигураторе через ветку «Формы» объекта. Перед удалением снимите назначение основной формы, проверьте ссылки и вызовы в коде, сделайте резервную копию. После обновления конфигурации проверьте открытие объекта и прогоните проверку конфигурации.
Частые вопросы
Можно ли удалить форму элемента в режиме предприятия, без конфигуратора?
Нет. Формы — это объекты метаданных, они изменяются только в конфигураторе. В режиме предприятия пользователь может лишь изменить настройки отображения существующей формы (видимость колонок списка, порядок элементов), если это разрешено правами.
Что произойдёт, если удалить единственную форму элемента?
Ничего критичного: если у объекта нет основной формы, платформа автоматически генерирует форму по составу реквизитов. Пользователи увидят стандартную форму со всеми полями. Проблемы возникают только если в коде остались вызовы удалённой формы по имени.
Как восстановить случайно удалённую форму?
Из резервной копии: выгрузите конфигурацию из копии базы в файл .cf, затем через «Загрузить конфигурацию из файла» с частичной загрузкой перенесите только нужную форму. Если используется хранилище конфигурации или git, форму можно восстановить из истории версий. Без копии форму придётся создавать заново.
Почему конфигуратор не даёт удалить форму?
Наиболее вероятные причины: форма назначена основной для объекта (снимите назначение в палитре свойств), конфигурация находится на полной поддержке без разрешения изменений, либо у вашего пользователя нет права на изменение конфигурации. Проверьте все три условия по очереди.
Чем удаление формы отличается от её отключения через расширение?
Удаление убирает форму из конфигурации полностью и безвозвратно. Расширение позволяет переопределить поведение формы, не трогая исходную: при отключении расширения типовая форма вернётся. Для типовых конфигураций, которые регулярно обновляются, вариант с расширением безопаснее.
Нужно ли обновлять конфигурацию базы данных после удаления формы?
Да. Удаление формы в дереве конфигурации меняет только основную конфигурацию; рабочая база продолжает использовать старую версию, пока вы не выполните обновление конфигурации базы данных (F7). Без этого шага пользователи не увидят никаких изменений.