Речь пойдет о создании внешнего отчета на обычных формах. Как создавать внешние отчеты на управляемых формах через СКД и без нее смотрите по ссылке.
1.Создаем новый внешний отчет через конфигуратор 1с
2.Присваиваем отчету имя и добавляем пустую форму отчета, нажав на лупу
3. В созданной форме добавляем элемент управления ‘Выбор периода’ (меню Форма-вставить Элемент управления)
4. Теперь хотим чтобы при открытии формы отчета автоматически проставлялись даты – к примеру с начала прошлого месяца до конца прошлого месяца.
1 2 3 4 | Процедура ПриОткрытии() НачПериода=НачалоМесяца(ДобавитьМесяц(ТекущаяДата(), -1)); КонПериода=КонецМесяца(ДобавитьМесяц(ТекущаяДата(), -1)); КонецПроцедуры |
5. Создаем макет отчета – (Макеты-добавить, тип макета:Табличный документ)
6.Добавляем заголовок и постоянные названия для строк и колонок, затем форматируем (шрифты, размеры, границы, цвет)
7. Теперь добавляем переменные значения (здесь это будет период и количество различных типов сеток).Вводим имя параметра и меняем в свойствах ячейки Заполнение со значения ‘Текст’ на ‘Параметр’
Сразу оговорюсь отчет можно было сделать и через СКД, но процесс деления на типы в данной конфигурации несколько сложен и простым запросом не обойтись, поэтому принято решение делать внешним отчетом, чтобы была возможность свободно оперировать данными.
8. Теперь нужно проименовать области печатного макета по логике их вывода. Для этого выделяем мышкой нужную область, меню Таблица-Имена-Назначить имя
Здесь в отчете будут две области ‘ЗаговокОтчета’ и ‘Строки’. Сразу оговорюсь не называйте область “Заголовок” (похоже на зарезервированное поле), во внешнем отчете происходит конфликт и область не выбирается, идут ошибки с параметрами итд.
9. Сформируем саму печатную форму по нажатию на кнопку.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Процедура КнопкаСформироватьНажатие(Кнопка) ТД = Новый ТабличныйДокумент(); Макет = ПолучитьМакет("Макет"); ЗалоговокОтчета = Макет.ПолучитьОбласть("ЗалоговокОтчета"); ЗалоговокОтчета.Параметры.ПериодС = Формат(НачПериода, "ДФ=dd.MM.yy"); ЗалоговокОтчета.Параметры.ПериодПо = Формат(КонПериода, "ДФ=dd.MM.yy"); ТД.Вывести(ЗалоговокОтчета); // готовим данные для вывода(запрос и операции с данными описывать не буду) в параметры и выводим их: Строки = Макет.ПолучитьОбласть("Строки"); Строки.Параметры.Колвомн1=Колвомн1; Строки.Параметры.Колвомн2=Колвомн2; ... ТД.Вывести(Строки); УниверсальныеМеханизмы.НапечататьДокумент(ТД, , , "Москитные сетки"); КонецПроцедуры |
Смотрите также “Как создать внешнюю печатную форму и подключить ее к документу или справочнику?”