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

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

Какие бывают формы в 1С и для чего они нужны

Разбираем виды форм в 1С: формы списка, документа, элемента справочника, отчёта. Как открыть, настроить и какие формы используются в управляемом приложении.

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

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

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

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

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

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

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

Основные виды форм по назначению

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

Форма списка

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

Форма элемента (формы объекта)

Открывается при двойном щелчке по строке списка и служит для просмотра и редактирования одной записи: карточки контрагента, элемента номенклатуры. Для документов аналогичная роль у формы документа — она дополнительно содержит кнопки проведения и печати.

Форма выбора

Открывается, когда пользователь подбирает значение в поле ввода — например, выбирает контрагента в документе. Часто это упрощённый вариант формы списка с кнопкой «Выбрать».

Форма отчёта и форма настроек

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

Обычные и управляемые формы: в чём разница

Платформа 1С:Предприятие 8 поддерживает два режима интерфейса. Обычное приложение — устаревший режим, где формы рисуются пиксельно: разработчик сам размещает каждое поле в конкретной точке окна. Такие формы работают только в толстом клиенте под Windows.

Управляемое приложение — современный режим всех актуальных типовых конфигураций (Бухгалтерия, Управление торговлей, ЗУП). Форма описывается декларативно: разработчик указывает структуру и группировку элементов, а платформа сама компонует их под экран, браузер или мобильное устройство. Код управляемой формы делится на серверные и клиентские процедуры с директивами &НаСервере и &НаКлиенте.

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

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

Обычная форма

Подходит только для старых конфигураций в режиме обычного приложения. Ограничение: не работает в веб-клиенте и на мобильных устройствах.

Управляемая форма

Стандарт для всех современных конфигураций, работает в тонком, веб- и мобильном клиенте. Ограничение: требует разделения кода на клиентский и серверный.

Автоматически генерируемая форма

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

Как пользователю настроить форму без программирования

В управляемых формах типовых конфигураций доступна команда «Ещё → Изменить форму». Откроется окно настройки, где галочками включается видимость реквизитов, а кнопками-стрелками меняется их порядок. Изменения сохраняются для текущего пользователя и не затрагивают конфигурацию.

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

Как изменить видимость полей формы
  1. 1
    Откройте нужную форму (например, карточку контрагента)
  2. 2
    В меню «Ещё» выберите «Изменить форму»
  3. 3
    Снимите галочки с ненужных полей или включите нужные
  4. 4
    При необходимости измените порядок полей кнопками перемещения
  5. 5
    Нажмите «Да» для сохранения и проверьте результат в открытой форме

Если команда «Изменить форму» отсутствует, значит, разработчик запретил настройку этой формы или она построена нестандартно. В этом случае изменения возможны только через доработку конфигурации.

Создание и доработка форм разработчиком

Новая форма создаётся в конфигураторе: в дереве конфигурации у объекта открывается вкладка «Формы», где мастер предлагает выбрать тип формы (списка, элемента, выбора) и состав реквизитов. После создания форма открывается в редакторе, где слева — дерево элементов, справа — реквизиты и модуль формы.

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

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

bsl
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    УстановитьВидимостьЭлементов();
КонецПроцедуры

Типичные ошибки при работе с формами

Частая проблема пользователей — «пропавшие» поля после чужой настройки формы. Решается через «Ещё → Изменить форму» включением нужных реквизитов либо сбросом настроек к стандартным. Также настройки форм хранятся в хранилище системных настроек и могут быть очищены администратором для конкретного пользователя.

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

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

Как проверить, что форма работает правильно

После создания или доработки формы её нужно проверить в режиме предприятия: открыть список, создать новый элемент, записать, перепровести документ, закрыть и открыть форму повторно. Для управляемых форм дополнительно стоит проверить отображение в веб-клиенте, если он используется, — компоновка элементов там может отличаться.

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

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

Открытие формы
Норма

Форма открывается без ошибок, все нужные поля видны

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

Ошибка выполнения или пустая форма без данных

Запись и проведение
Норма

Объект записывается, документ проводится, движения формируются

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

Сообщения об ошибках при записи или отсутствие движений

Пользовательская настройка
Норма

Команда «Изменить форму» доступна и сохраняет изменения

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

Команда отсутствует или настройки сбрасываются после закрытия

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

Итог

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

Формы в 1С делятся на формы списка, элемента, выбора и отчёта, а по технологии — на обычные и управляемые. Пользователь меняет вид формы через «Изменить форму», разработчик — в конфигураторе или через расширение. Доработку типовых форм безопаснее делать расширением, чтобы не потерять изменения при обновлении.

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

Чем форма списка отличается от формы выбора?

Форма выбора открывается при подборе значения в поле ввода и содержит кнопку «Выбрать», а форма списка — при открытии раздела и предназначена для просмотра и редактирования. Часто обе формы выглядят одинаково, но у объекта их можно сделать разными: например, в форме выбора скрыть служебные колонки.

Почему у объекта нет ни одной формы в конфигураторе, но он открывается в программе?

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

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

Да. В окне «Изменить форму» есть возможность вернуться к стандартным настройкам, а администратор может очистить пользовательские настройки форм через управление настройками пользователей в разделе администрирования.

Что такое общие формы и когда они нужны?

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

Откроется ли обычная форма в веб-клиенте?

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