Печать, макеты и отчёты 1С
Как пользователь получает результат
После ввода данных в 1С нужны печатные формы (счёт, накладная) и отчёты (остатки, продажи). Платформа предлагает несколько уровней сложности:
| Подход | Когда использовать |
|---|---|
| Макет + табличный документ | Фиксированная печатная форма по шаблону |
| Отчёт с запросом в модуле | Простая выборка и вывод |
| СКД (система компоновки данных) | Гибкие отчёты с полями и группировками |
| Динамический список | Интерактивный список на форме без отдельного отчёта |
Макет и табличный документ
Макет — объект метаданных (или общий макет) с именованными областями: Шапка, Строка, Подвал. Области рисуют в редакторе макетов как таблицу ячеек с параметрами &ИмяПоля.
Табличный документ — результат вывода: лист для экрана, печати или экспорта в PDF/XLSX.
&НаСервере
Функция СформироватьПечатнуюФорму(ДокументСсылка)
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьОбщийМакет("ПечатьСчета"); // или Макет из отчёта
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Номер = ДокументСсылка.Номер;
ОбластьШапка.Параметры.Дата = ДокументСсылка.Дата;
ТабДок.Вывести(ОбластьШапка);
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
Для Каждого СтрокаТЧ Из ДокументСсылка.Товары Цикл
ОбластьСтрока.Параметры.Товар = СтрокаТЧ.Номенклатура;
ОбластьСтрока.Параметры.Количество = СтрокаТЧ.Количество;
ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
Возврат ТабДок;
КонецФункции
На клиенте табличный документ показывают через ПоказатьЗначение или помещают в поле табличного документа на форме.
Несколько областей
Сложные формы комбинируют области: шапка один раз, строка в цикле, подвал с итогами после цикла. Имена областей должны совпадать с макетом.
Простой отчёт
Объект метаданных Отчёт может содержать:
- схему компоновки (СКД) или
- модуль с процедурой
СформироватьОтчет/ обработчиком компоновки.
Минимальный программный отчёт:
- Выполнить
Запрос. - Обойти результат или
Выгрузить()вТаблицаЗначений. - Заполнить макет или вывести в табличный документ.
Для учебных задач этого достаточно; в типовых конфигурациях чаще СКД.
СКД — система компоновки данных
СКД отделяет источник данных (запрос, объект) от макета представления (поля, группировки, диаграммы).
Основные узлы схемы:
| Узел | Роль |
|---|---|
| Набор данных | Запрос или объект с полями |
| Связи | Соединение наборов |
| Ресурсы / измерения | Поля для группировки и итогов |
| Настройки | Отборы, порядок, условное оформление |
| Макеты | Макет компоновки результата |
Пользователь в режиме «1С:Предприятие» может менять отборы и состав полей, если отчёт это разрешает. Разработчик настраивает схему в конфигураторе и при необходимости дополняет кодом модуля отчёта.
Динамический список
Динамический список — реквизит формы, который показывает список объектов (документов, справочников) с отбором и сортировкой без загрузки всех строк в память.
Используется на формах списков и рабочих мест:
- основная форма списка справочника;
- панель «последние документы»;
- подбор номенклатуры с отбором.
Настройка в редакторе формы: реквизит типа ДинамическийСписок, привязка к основной таблице, поля, условное оформление, пользовательские отборы.
Программный отбор (упрощённо):
&НаСервере
Процедура УстановитьОтборПоОрганизации(Организация)
Список = СписокДокументов; // реквизит формы — динамический список
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(
Список.Отбор, "Организация", Организация, ВидСравненияКомпоновкиДанных.Равно);
КонецПроцедуры
В учебных конфигурациях имена общих модулей могут отличаться — ориентируйтесь на свойства Отбор динамического списка в справке.
Сравнение подходов
| Задача | Инструмент |
|---|---|
| Печать счёта по образцу | Макет + табличный документ |
| Остатки на дату с группировкой по складу | СКД или запрос + макет |
| Список документов за месяц на форме | Динамический список |
| Выгрузка в Excel | ТабличныйДокумент.Записать / сохранение из СКД |
Связанные материалы
Практика 15 минут
- Создайте общий макет с областями
ШапкаиСтрока. - Выведите в табличный документ две строки из
ТаблицаЗначений. - Откройте любой типовой отчёт на СКД в конфигураторе и найдите набор данных-запрос.
Лаборатория — печать и отчёт (70 минут)
Этап 1 — макет накладной (30 мин)
- Общие макеты →
ПечатьПоступления→ табличный макет. - Область
Шапка— параметрыНомер,Дата,Склад. - Область
Строка—Товар,Количество,Цена. - В модуле менеджера документа — экспортная функция
Печать(МассивОбъектов, …)по шаблону из раздела «Макет и табличный документ» выше. - Команда печати на форме документа.
Этап 2 — отчёт СКД «Остатки» (30 мин)
- Отчёты →
ОстаткиТоваров→ схема компоновки. - Набор данных — запрос к
РегистрНакопления.ОстаткиТоваров.Остатки. - Поля: номенклатура, склад, количество остатка.
- Группировка по складу, итог по количеству.
- Проверка в 1С:Предприятие с отбором по складу.
Этап 3 — динамический список (10 мин)
На форме списка ПоступлениеТоваров включите пользовательский отбор по дате и складу — сохраните настройку списка как вариант.
Итог практикума: из одной учебной конфигурации 1121.md получаете печать документа, аналитический отчёт и настраиваемый список.
Проверка себя
- Чем параметр области макета отличается от реквизита формы?
- Когда макета достаточно, а когда нужна СКД?
- Зачем динамический список вместо
ТаблицаЗначенийна форме списка документов?
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Платформа 1С - архитектура среды исполнения, назначение и место в автоматизации бизнес-процессов. История 1С - развитие платформы, ключевые этапы роста и влияние на цифровизацию бизнеса и госсектора. Экосистема 1С - продукты платформы, инструменты разработки, внедрение и сопровождение корпоративных решений. Архитектура платформы 1С, объекты метаданных, регистры, модули и исполнение прикладного кода. Пошаговое создание учебной конфигурации: справочники, документ, регистры, проведение, подсистемы и роли. Синтаксис и пунктуация 1С - базовые правила записи кода, операторы и структура выражений. Типизация, набор правил определения типа данных значений языка. Управление потоком выполнения в 1С - последовательность операций, ветвления и контроль выполнения сценариев. Функции и процедуры 1С - различия, правила использования и организация переиспользуемой бизнес-логики. Объекты и классы 1С - модель метаданных, экземпляры объектов и работа с прикладными сущностями. Данные — это конкретные записи, созданные пользователями или автоматически системой в рамках определённых объектов. Каждая запись имеет уникальный идентификатор и соответствует описанию в метаданных. Обработка ошибок в 1С - перехват исключений, диагностика сбоев и устойчивые сценарии обработки.Платформа 1С
История 1С
Экосистема 1С
Архитектура и мета-объекты 1С
Конфигурирование — мини-склад
Синтаксис и пунктуация 1С
Переменные и типы данных 1С
Управление потоком выполнения 1С
Функции и процедуры 1С
Объекты и классы 1С
Работа с базами данных 1С
Обработка ошибок 1С