Формы в 1С 8.3: управляемые формы, редактор и настройка

· 9 мин

Содержание

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

Запрос «форма в 1 в 1С» приводит людей за двумя разными вещами. Одним нужна форма как элемент интерфейса — та самая карточка, которую можно перестроить под себя или создать в конфигураторе. Другим — статистическая Форма №1 в Росстат, которую заполняют в 1С:ЗУП. Разберём и то, и другое, но большая часть статьи — про формы-окна.

Что такое форма в 1С и зачем она нужна

Ни один объект базы пользователь не видит напрямую. Между ним и данными всегда стоит форма.

Открыли документ «Реализация» — это форма объекта. Зашли в справочник «Номенклатура» — форма списка. Нажали «Выбрать» в поле — форма выбора. Форма отвечает за три вещи:

  • 🖼 показать данные (реквизиты объекта, реквизиты формы);
  • ✍️ принять ввод от пользователя и проверить его;
  • ⚙️ выполнить команды — провести, записать, заполнить, распечатать.

В 1С 8.3 формы управляемые: разработчик задаёт состав и порядок элементов, а конкретную ширину колонок и раскладку платформа считает на лету. Это отличает 8.3 от старых обычных форм 8.1/8.2, где каждый элемент прибивали к пикселям вручную.

Управляемая форма работает и в толстом клиенте, и в тонком, и в веб-клиенте без переделки. В этом весь смысл — одна форма на все режимы запуска.

Виды форм в 1С 8.3: какая за что отвечает

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

Вид формыЧто показываетКогда открывается
Форма объектаОдну запись целикомОткрыли документ/элемент справочника
Форма спискаТаблицу всех записейЗашли в журнал или справочник
Форма выбораСписок для выбора значенияНажали «…» в поле ссылки
Форма группыПапку справочникаОткрыли группу иерархии
Общая формаНе привязана к объектуОбработки, настройки, диалоги

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

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

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

Пошаговый помощник
Откройте нужную форму
Зайдите в документ, справочник или список, вид которого хотите изменить.

Эти настройки сохраняются для вашего пользователя и на других не влияют. Если нужно раздать вид формы всем — это уже задача администратора (через «Копирование настроек пользователей») или разработчика.

Пункт Изменить форму появляется не всегда. Если разработчик запретил редактирование формы или у роли нет права «Сохранение данных пользователя» — кнопки не будет.

Редактор формы: из чего состоит форма в конфигураторе

Всё, что можно накрутить пользователю, изначально собирается в редакторе формы конфигуратора. Редактор разбит на несколько окон-закладок — пройдёмся по каждому.

Элементы формы

Главная область. Здесь дерево того, что видит пользователь: поля, таблицы, кнопки, группы, декорации. Каждый элемент — это визуальное представление реквизита или команды.

Порядок в дереве = порядок на экране. Двигаете элемент выше — он поднимается в форме.

Реквизиты формы

Данные, с которыми форма работает. Есть основной реквизит (обычно сам объект — документ или справочник) и дополнительные реквизиты формы: служебные значения, флажки, временные таблицы, которых нет в самом объекте.

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

Командный интерфейс формы

Наполнение верхней командной панели: навигационные ссылки и командная панель. Сюда попадают стандартные и добавленные команды — «Провести», «Создать на основании», «Печать».

Команды формы

Собственные действия формы. Команда — это «что сделать», а её обработчик в модуле — «как именно». Команду вешают на кнопку или пункт меню.

Параметры формы

Значения, которые форма принимает при открытии снаружи. Например, отбор для формы списка или ключ записи для формы объекта. Параметры с галкой «Ключевой параметр» влияют на то, какую именно форму откроет платформа.

Модуль формы

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

Страницы, закладки и разделители

Три инструмента компоновки:

  • 📑 Группа-страницы — набор закладок сверху формы (как в карточке номенклатуры);
  • 🔖 закладка — одна страница внутри такой группы;
  • разделитель — подвижная граница, которой пользователь сам меняет пропорции областей.

Как создать свою форму в 1С 8.3: пошагово

Допустим, нужна отдельная форма для обработки или своя форма списка. Порядок в конфигураторе такой:

  1. Откройте объект в дереве конфигурации, вкладку Формы.
  2. Нажмите добавить (зелёный плюс) — запустится конструктор форм.
  3. Выберите тип: форма объекта, списка, выбора или произвольная.
  4. Отметьте реквизиты, которые попадут на форму «из коробки».
  5. Готовую форму донастройте в редакторе — перетащите элементы, сгруппируйте, добавьте команды.
  6. Назначьте форму основной в свойствах объекта, если она должна открываться по умолчанию.

Для простой обработки часто хватает автогенерируемой формы — не создавайте форму руками, если платформа и так рисует нужное. Ручная форма нужна, когда стандартной раскладки мало.

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

Модуль формы и обработчики событий

Логика формы живёт в модуле. Ключевое в 1С 8.3 — разделение на клиент и сервер.

  • &НаКлиенте — код выполняется в приложении пользователя. Здесь диалоги, вопросы, работа с интерфейсом.
  • &НаСервере — код на сервере, с доступом к базе данных. Здесь чтение и запись данных.
  • &НаСервереБезКонтекста — быстрый серверный вызов без пересылки всей формы.

Работу формы задают обработчики событий: ПриСозданииНаСервере, ПриОткрытии, ПередЗаписью, ПриИзменении у поля. Двойной клик по событию в палитре свойств создаёт заготовку процедуры.

Пример каркаса обработчика открытия:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Объект.Организация.Пустая() Тогда
        Объект.Организация = ПараметрыСеанса.ТекущаяОрганизация;
    КонецЕсли;
КонецПроцедуры

Частая ошибка — попытка обратиться к данным базы из &НаКлиенте. Клиент базу не видит: чтение и запись только на сервере.

Приёмы и хитрости оформления форм

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

  • 🎯 Точное позиционирование. Пустые элементы-декорации и группы без отображения работают как распорки — ими выравнивают поля, когда автораскладка «разъезжается».
  • 🧩 Группы и рамки. Группа с типом «Обычная группа» и заголовком визуально объединяет поля; выделенная группа даёт рамку вокруг блока.
  • 💬 Подсказки. Свойство Подсказка у элемента и расширенная подсказка объясняют пользователю поле без инструкции.
  • 🔘 Свои кнопки и команды. Кастомные кнопки собираются из команд формы; длинный текст на кнопке переносят через свойство многострочности.
  • 🖱 Drag and Drop. Перетаскивание строк между таблицами включается обработчиками Перетаскивание и НачалоПеретаскивания.
  • 📐 Под любой экран. Не зная размера монитора пользователя, полагайтесь на автораскладку и растягиваемые группы, а не на фиксированную ширину — так интерфейс сам калибруется от ноутбука до широкого монитора.

Не превращайте форму в дизайн-макет. Платформа — не графический редактор. Если задумка сложнее, чем позволяют управляемые элементы, часто дешевле упростить форму, чем героически её кастомизировать.

«Форма №1» в 1С — это про другое

Если вы искали не окно, а отчёт — держите короткую развязку. Форма №1 в контексте Росстата — это статистическая отчётность, и в 1С её формируют как регламентированный отчёт, а не рисуют в редакторе.

Например, в 1С:Зарплата и управление персоналом 8 статформа №1 заполняется из раздела с регламентированной отчётностью:

  • 📊 отчёт собирается по данным кадрового и зарплатного учёта за период;
  • ✅ показатели проверяются перед выгрузкой контрольными соотношениями;
  • 📨 сдаётся в Росстат по телекоммуникационным каналам, при подписании представителем — с машиночитаемой доверенностью (МЧД).

Точное название и состав статистической формы зависят от вида наблюдения и года — сверяйтесь с действующими указаниями по заполнению перед сдачей. Это отдельная большая тема, к настройке форм-окон отношения не имеющая.

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

Диагностика: выберите симптом

Как не сломать форму: короткий чек-перед-правкой

  • 🔒 Меняете форму в конфигураторе типовой конфигурации — фиксируйте, что снимаете с поддержки, иначе усложните обновление.
  • 💾 Перед экспериментами с формой сделайте выгрузку конфигурации (.cf) или снимок ИБ.
  • 👤 Пользовательская настройка формы (через «Изменить форму») правки конфигурации не требует и обновлению не мешает — начинайте с неё.

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

Что такое форма в 1С простыми словами?
Это окно программы, через которое вы видите и вводите данные: карточка документа, список справочника, настройки отчёта. В 1С 8.3 такие окна называют управляемыми формами.
Чем управляемая форма отличается от обычной?
Обычные формы (8.1/8.2) верстались по пикселям под конкретный экран. Управляемая форма в 8.3 раскладывается платформой автоматически и одинаково работает в тонком, толстом и веб-клиенте.
Как изменить форму без программиста?
В режиме 1С:Предприятие откройте форму, нажмите ЕщёИзменить форму, снимите или добавьте галочки у полей, поменяйте порядок. Настройки сохранятся только для вашего пользователя.
В чём разница между реквизитом формы и элементом формы?
Реквизит — это данные в памяти формы. Элемент — визуальное поле, которым эти данные показывают. Реквизит без элемента невидим, элемент без реквизита нечего отображать.
Почему код формы не видит данные из базы?
Скорее всего он выполняется &НаКлиенте. Клиент к базе доступа не имеет — чтение и запись данных выполняйте в процедурах &НаСервере.
«Форма №1» и форма в 1С — это одно и то же?
Нет. Форма №1 — статистический отчёт в Росстат, его формируют как регламентированный отчёт (например, в 1С:ЗУП). Форма-окно — элемент интерфейса. Совпадает только слово.