Как создать и настроить форму документа или отчета в 1С: пошаговый разбор
Как создать и настроить форму документа или отчета в 1С: в платформе 8.3 их создают в Конфигураторе либо через расширения конфигурации. Для документа используют управляемую форму, а для отчета — форму отчета, привязанную к схеме компоновки данных.
Оглавление
Конфигуратор и расширения конфигурации
Создание и настройка форм документов и отчетов в 1С:Предприятие выполняются в режиме «Конфигуратор» или через «Расширения конфигурации». В современных конфигурациях, таких как УТ, ERP и Бухгалтерия 3.0, используется механизм управляемых форм.
Что и где настраивать
| Задача | Место настройки |
|---|---|
| Создание формы документа | Ветка «Документы» → вкладка «Формы» |
| Создание формы отчета | Ветка «Отчеты» → вкладка «Формы» |
| Настройка источников данных, полей, группировок и фильтров отчета | Макет «Схема компоновки данных» |
| Переопределение формы в типовой конфигурации | Расширение конфигурации |
Для существующих типовых конфигураций не редактируйте формы напрямую. Создавайте расширение конфигурации, добавляйте в него нужный документ и переопределяйте форму там. Это сохранит возможность обновления типовой конфигурации.
Создание формы документа
- Откройте ветку «Документы» в дереве метаданных и выберите нужный документ либо создайте новый.
- Перейдите на вкладку «Формы» и нажмите «Добавить».
- В мастере создания формы выберите тип «Форма документа».
- Укажите галочку «Использовать управляемую форму», если форма будет использоваться в тонком или веб-клиенте.
- Настройте состав данных: добавьте реквизиты шапки, табличные части и стандартные реквизиты, например Номер, Дата, Проведен.
- После завершения мастера форма откроется в редакторе. В нем можно перетаскивать элементы из палитры на макет, настраивать видимость, доступность, заголовки и писать обработчики событий, например
ПриСозданииНаСервереиПередЗаписью.
Создание и настройка формы отчета
Отчет в 1С состоит из объекта отчета, схемы компоновки данных и формы отчета. Объект отвечает за логику, схема компоновки данных — за источники, поля, группировки и фильтры, а форма отчета — за интерфейс настроек и вывод результата.
- Создайте объект «Отчет» в ветке «Отчеты».
- На вкладке «Макеты» добавьте макет типа «Схема компоновки данных». В нем настройте источники данных, поля, группировки и фильтры.
- Перейдите на вкладку «Формы», нажмите «Добавить» и выберите «Форма отчета».
- Мастер предложит привязать форму к созданной схеме компоновки данных. Согласитесь: платформа автоматически создаст элементы управления для вариантов отчета, пользовательских настроек и табличного документа результата.
- При необходимости добавьте дополнительные реквизиты формы и команды для специфической логики отображения.
Ключевые принципы настройки
- Командный интерфейс. Добавляйте формы в командный интерфейс подсистем, иначе пользователи не увидят их в меню.
- События формы. Логику заполнения значений по умолчанию размещайте в
ПриСозданииНаСервере, а проверку перед записью — вПередЗаписью. Избегайте тяжелой логики в клиентских событиях. - Права доступа. Видимость и доступность элементов формы должны соответствовать правам доступа к данным, чтобы интерфейс отражал реальные возможности пользователя.
- Интерфейс «Такси». Используйте группы страниц, декорации и командную панель вместо устаревших панелей инструментов.
Если форма не появилась у пользователей, сначала проверьте, добавлена ли она в командный интерфейс нужной подсистемы.
Распределение логики по событиям формы
| Событие или область | Что выполнять |
|---|---|
ПриСозданииНаСервере | Логика заполнения значений по умолчанию |
ПередЗаписью | Проверка данных перед записью |
| Клиентские события | Избегайте тяжелой логики |
Частые ошибки
- Редактирование форм в существующей типовой конфигурации напрямую вместо создания расширения конфигурации.
- Форма не добавлена в командный интерфейс подсистем, поэтому пользователи не видят ее в меню.
- Тяжелая логика размещена в клиентских событиях вместо серверных обработчиков.
- Видимость и доступность элементов формы не согласованы с правами доступа к данным.
- Использование устаревших панелей инструментов вместо групп страниц, декораций и командной панели в стиле «Такси».
FAQ
Можно ли напрямую редактировать формы в типовой конфигурации?
Для существующих типовых конфигураций формы не редактируют напрямую. Следует создать расширение конфигурации и переопределить форму в нем, чтобы сохранить возможность обновления типовой конфигурации.
Где настраиваются источники данных, поля, группировки и фильтры отчета?
Эти настройки выполняются в макете отчета типа «Схема компоновки данных».
В каких событиях формы выполнять заполнение значений по умолчанию и проверку перед записью?
Заполнение значений по умолчанию обычно выполняют в ПриСозданииНаСервере, а проверку перед записью — в ПередЗаписью. Тяжелой логики в клиентских событиях лучше избегать.
Почему созданная форма может быть не видна пользователям?
Возможная причина — форма не добавлена в командный интерфейс подсистем. Также стоит проверить, что видимость и доступность элементов соответствуют правам доступа пользователя.