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