5.1 Создание отчетов
Нам требуется создать отчеты «Остатки» и «Продажи».
Отчет «Остатки» показывает текущие остатки товаров.
Сформируем этот отчет с помощью Конструктора выходных форм. Для этого в окне «Конфигурация» выделим ветвь «Отчеты» и щелкнем по кнопке «Добавить». В появившемся окне надо указать имя, синоним и комментарий (например, «Остатки»). Перейдем к закладке «Макеты» и щелкнем по кнопке «Конструкторы — Конструктор выходной формы». В появившемся окне щелкнем по кнопке «ОК». На первой закладке «Таблицы и поля» появившегося окна необходимо выбрать поля из регистра накопления «Остатки», как указано на рисунке 5.1.
Рисунок 5.1 – Окна отчета «Остатки»
На последней закладке можно указать имя выходной формы, имя кнопки и другие параметры. Оставим их без изменения и щелкнем по кнопке «ОК». Будут сгенерированы экранная форма и программа на встроенном языке.
Закроем формы.
Теперь создадим отчет «Продажи», который будет брать данные из регистра «Продажи» и показывать их в виде сводной таблицы.
Для этого в окне «Конфигурация» выделим ветвь «Отчеты» и щелкнем на кнопке «Добавить».
В появившемся окне надо указать имя, синоним и комментарий (например, «Продажи»).
Перейдем к закладке «Формы» и создадим экранную форму отчета, щелкнув по кнопке «Добавить». Щелкнем по кнопке «Далее» и «Готово». Откроется пустая форма.
Разместим в ней элемент управления «ПолеТабличногоДокумента», в который вставим сводную таблицу. Для этого в меню «Форма» главного меню Конфигуратора выберем пункт «Вставить элемент управления».
Откроется окно, в котором надо выбрать элемент «ПолеТабличногоДокумента» и щелкнуть по кнопке «ОК».
Указатель мыши примет форму крестика, с его помощью надо вставить таблицу на форме и установить курсор в верхнюю левую клетку вставленного поля.
Выберем в главном меню Конфигуратора пункт «Таблица – Встроенные таблицы – Вставить сводную таблицу».
Теперь перейдем на вкладку «Модуль» в нижней части окна формы.
Сформируем текст запроса с использованием конструктора. Для этого в окне модуля развернем процедуру Кнопка – СформироватьНажатие, щелкнем правой кнопкой мыши внутри процедуры и выберем пункт «Конструктор запроса». Появится сообщение: «Не найден текст запроса. Создать новый запрос?», ответить «Да». Откроется окно конструктора запроса, в котором надо выбрать следующее (рисунок 5.2).
Рисунок 5.2 – Окна конструктора запроса (вкладка «Таблицы и поля»)
В результате в окне модуля появится текст запроса.
Допишем несколько строк вручную:
Процедура КнопкаСформироватьНажатие(Элемент)
Запрос = Новый Запрос (
| «ВЫБРАТЬ ПродажиОбороты.Контрагент КАК Контрагент,
| ПродажиОбороты.Товар
КАК Товар,
| ПродажиОбороты.
СуммаОборот
| ИЗ
| РегистрНакопления.Продажи.Обороты
КАК ПродажиОбороты
|
| ИТОГИ
СУММА(СуммаОборот) ПО
| Контрагент,
| Товар»);
РезультатЗапроса = Запрос.Выполнить();
СводТаб = ЭлементыФормы.ПолеТабличногоДокумента1.
ВстроенныеТаблицы.СводнаяТаблица1;
СводТаб.ИсточникДанных = РезультатЗапроса;
СводТаб = Истина;
КонецПроцедуры