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