Формы в 1С 8.3: управляемые формы, редактор и настройка
Содержание
Форма в 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С 8.3 — разделение на клиент и сервер.
&НаКлиенте— код выполняется в приложении пользователя. Здесь диалоги, вопросы, работа с интерфейсом.&НаСервере— код на сервере, с доступом к базе данных. Здесь чтение и запись данных.&НаСервереБезКонтекста— быстрый серверный вызов без пересылки всей формы.
Работу формы задают обработчики событий: ПриСозданииНаСервере, ПриОткрытии, ПередЗаписью, ПриИзменении у поля. Двойной клик по событию в палитре свойств создаёт заготовку процедуры.
Пример каркаса обработчика открытия:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Объект.Организация.Пустая() Тогда
Объект.Организация = ПараметрыСеанса.ТекущаяОрганизация;
КонецЕсли;
КонецПроцедуры
Частая ошибка — попытка обратиться к данным базы из &НаКлиенте. Клиент базу не видит: чтение и запись только на сервере.
Приёмы и хитрости оформления форм
Управляемая форма кажется жёсткой, но гибкости больше, чем видно на первый взгляд. Что реально помогает:
- 🎯 Точное позиционирование. Пустые элементы-декорации и группы без отображения работают как распорки — ими выравнивают поля, когда автораскладка «разъезжается».
- 🧩 Группы и рамки. Группа с типом «Обычная группа» и заголовком визуально объединяет поля; выделенная группа даёт рамку вокруг блока.
- 💬 Подсказки. Свойство
Подсказкау элемента и расширенная подсказка объясняют пользователю поле без инструкции. - 🔘 Свои кнопки и команды. Кастомные кнопки собираются из команд формы; длинный текст на кнопке переносят через свойство многострочности.
- 🖱 Drag and Drop. Перетаскивание строк между таблицами включается обработчиками
ПеретаскиваниеиНачалоПеретаскивания. - 📐 Под любой экран. Не зная размера монитора пользователя, полагайтесь на автораскладку и растягиваемые группы, а не на фиксированную ширину — так интерфейс сам калибруется от ноутбука до широкого монитора.
Не превращайте форму в дизайн-макет. Платформа — не графический редактор. Если задумка сложнее, чем позволяют управляемые элементы, часто дешевле упростить форму, чем героически её кастомизировать.
«Форма №1» в 1С — это про другое
Если вы искали не окно, а отчёт — держите короткую развязку. Форма №1 в контексте Росстата — это статистическая отчётность, и в 1С её формируют как регламентированный отчёт, а не рисуют в редакторе.
Например, в 1С:Зарплата и управление персоналом 8 статформа №1 заполняется из раздела с регламентированной отчётностью:
- 📊 отчёт собирается по данным кадрового и зарплатного учёта за период;
- ✅ показатели проверяются перед выгрузкой контрольными соотношениями;
- 📨 сдаётся в Росстат по телекоммуникационным каналам, при подписании представителем — с машиночитаемой доверенностью (МЧД).
Точное название и состав статистической формы зависят от вида наблюдения и года — сверяйтесь с действующими указаниями по заполнению перед сдачей. Это отдельная большая тема, к настройке форм-окон отношения не имеющая.
Типичные ошибки при работе с формами
&НаКлиенте пытается читать базу. Перенесите обращение к данным в процедуру &НаСервере.Ещё → Установить стандартные настройки.Как не сломать форму: короткий чек-перед-правкой
- 🔒 Меняете форму в конфигураторе типовой конфигурации — фиксируйте, что снимаете с поддержки, иначе усложните обновление.
- 💾 Перед экспериментами с формой сделайте выгрузку конфигурации (
.cf) или снимок ИБ. - 👤 Пользовательская настройка формы (через «Изменить форму») правки конфигурации не требует и обновлению не мешает — начинайте с неё.
Частые вопросы
Что такое форма в 1С простыми словами?
Чем управляемая форма отличается от обычной?
Как изменить форму без программиста?
Ещё → Изменить форму, снимите или добавьте галочки у полей, поменяйте порядок. Настройки сохранятся только для вашего пользователя.В чём разница между реквизитом формы и элементом формы?
Почему код формы не видит данные из базы?
&НаКлиенте. Клиент к базе доступа не имеет — чтение и запись данных выполняйте в процедурах &НаСервере.