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

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

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

Как удалить форму списка в 1С через конфигуратор и кодом: пошаговая инструкция, проверка ссылок, типичные ошибки и советы для безопасного изменения конфигурации.

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

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

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

Когда форму списка действительно нужно удалять

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

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

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

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

Форма собственная и нигде не используетсяУдаляйте форму через конфигуратор — это безопасно
Форма назначена основной формой спискаСначала назначьте другую форму основной или уберите назначение, затем удаляйте
Форма типовая, а конфигурация на поддержкеНе удаляйте — вынесите изменения в расширение конфигурации
Форма вызывается из кода через ПолучитьФорму или ОткрытьФормуИсправьте все обращения в коде до удаления формы

Подготовка: резервная копия и анализ использования

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

Второй шаг — поиск ссылок на форму. Откройте глобальный поиск по конфигурации (Ctrl+Shift+F) и найдите имя формы. Обратите внимание на вызовы ОткрытьФорму("Справочник.Номенклатура.Форма.ИмяФормы") и ПолучитьФорму(...). Также проверьте свойства объекта метаданных: поле «Основная форма списка» в палитре свойств справочника или документа.

Порядок подготовки
  1. 1
    Сделайте выгрузку информационной базы или копию файла 1Cv8.1CD
  2. 2
    Откройте свойства объекта и проверьте, не назначена ли форма основной
  3. 3
    Выполните глобальный поиск по имени формы во всей конфигурации
  4. 4
    Проверьте команды интерфейса и подсистемы, где может открываться список
  5. 5
    Зафиксируйте список найденных обращений — их нужно будет исправить

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

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

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

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

Удаление и переопределение формы через расширение

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

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

bsl
// Открытие конкретной формы списка из кода
ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаСписка");

// Открытие списка без указания формы — откроется основная или сгенерированная
ОткрытьФорму("Справочник.Номенклатура.ФормаСписка");

Проверка результата после удаления

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

Дополнительно выполните проверку конфигурации: «Конфигурация» → «Проверка конфигурация». Платформа покажет ошибки вида «форма не найдена», если где-то остались ссылки на удалённую форму — в командах, свойствах или коде. Исправьте все найденные замечания до передачи изменений пользователям.

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

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

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

Список открывается без ошибок

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

Сообщение «форма не найдена» или «ошибка при открытии»

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

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

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

Ошибки «объект не обнаружен» с именем формы

Команды интерфейса и избранное пользователей
Норма

Переходы по командам открывают список

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

Команда не срабатывает или выдаёт исключение

Типичные ошибки и ограничения

Самая частая ошибка — удаление формы без поиска обращений в коде. Вызов ОткрытьФорму с именем удалённой формы приводит к исключению в момент выполнения, причём ошибка может всплыть у пользователя через неделю после обновления, когда он дойдёт до редкой операции.

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

Наконец, помните про права: если у пользователей настроены права на конкретную форму (в типовых механизмах или профилях групп доступа), после удаления настройки станут бесполезными, а при ошибочной конфигурации могут блокировать доступ к списку целиком.

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

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

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

Частые вопросы

Можно ли удалить форму списка, созданную платформой автоматически?

Автоматически генерируемые формы не хранятся в конфигурации как отдельные объекты — платформа строит их «на лету». Удалять нечего: если у объекта нет ни одной формы списка, список всегда будет открываться в сгенерированном виде.

Что произойдёт, если удалить основную форму списка?

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

Как удалить форму списка в типовой конфигурации на поддержке?

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

Почему после удаления формы появляется ошибка «форма не найдена»?

Где-то осталась ссылка на форму: в коде через ОткрытьФорму или ПолучитьФорму, в команде интерфейса, в свойствах объекта. Выполните глобальный поиск по имени формы и проверку конфигурации — платформа укажет все проблемные места.

Нужно ли удалять форму списка, если она просто не используется?

Не обязательно. Неиспользуемая форма не влияет на работу пользователей. Удаление имеет смысл при наведении порядка в конфигурации, но всегда требует проверки скрытых обращений — иногда проще оставить форму как есть.

Можно ли восстановить удалённую форму списка?

Только из резервной копии или из хранилища конфигурации, если вы с ним работаете. Поэтому перед удалением обязательно делайте выгрузку конфигурации (файл .cf) — восстановить отдельную форму из него можно за минуты.