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