Опубликован: 21.09.2010 | Доступ: свободный | Студентов: 6892 / 2134 | Оценка: 4.62 / 4.38 | Длительность: 06:15:00
Специальности: Бухгалтер
Лекция 8:

Отчеты

Перейдем на вкладку Отчет. Здесь нужно настроить параметры вывода отчета. Мы, для того, чтобы сделать процесс конструирования отчета максимально наглядным, снимем галочку в поле Использовать построитель отчета, рис. 8.7. Построитель отчета расширяет возможности пользователя по работе с запросом, однако, для того, чтобы не перегружать наш пример, мы в данный момент не будем им пользоваться.

Конструктор выходной формы, вкладка Отчет

увеличить изображение
Рис. 8.7. Конструктор выходной формы, вкладка Отчет

Переместимся на вкладку Выходная форма. Здесь нужно задать типы параметров, которые мы собираемся передавать в отчет, рис. 8.8. Параметру Дата установим тип Дата, параметру Ответственный - СправочникСсылка.Сотрудники. Это позволит нам выбирать дату из календаря, а сотрудника, по которому строится отчет, из справочника.

Конструктор выходной формы, вкладка Выходная форма

увеличить изображение
Рис. 8.8. Конструктор выходной формы, вкладка Выходная форма

Работа с Конструктором завершена, нажмем на кнопку ОК. Посмотрим, что создал конструктор, рис. 8.9.

Результаты работы Конструктора выходной формы

увеличить изображение
Рис. 8.9. Результаты работы Конструктора выходной формы

Конструктор создал, во-первых - макет, который будет использоваться для формирования печатной формы отчета, во-вторых - форму. В верхней части формы находятся поля для установки параметров отчета, в нижней находится поле, куда, с использованием макета, будут выведены результаты запроса.

Запрос формируется по нажатию на кнопку Сформировать.

Конструктор, помимо визуальных элементов, генерирует программный код. Его можно найти в модуле выходной формы, рис. 8.10.

Процедуры, сгенерированные Конструктором выходной формы

увеличить изображение
Рис. 8.10. Процедуры, сгенерированные Конструктором выходной формы

А именно, здесь мы видим две процедуры. Одна из них - ДействияФормыОстаткиМатериаловСформировать() - это обработчик события нажатия на кнопку. Вторая - ОстаткиМатериалов() отвечает за формирование отчета. Рассмотрим эти процедуры подробнее. Для начала - обработчик события.

Процедура ДействияФормыОстаткиМатериаловСформировать(Кнопка)
	ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
	ОстаткиМатериалов(ТабДок, Дата, Ответственный);
КонецПроцедуры

В этой процедуре мы сначала присваиваем переменной ТабДок ссылку на поле табличного документа, расположенное на форме и предназначенное для вывода отчета.

Далее, мы вызываем процедуру ОстаткиМатериалов(), передавая ей в качестве параметров ссылку на поле табличного документа, а так же - два параметра, которые мы будем использовать при формировании отчета - это Дата и Ответственный. Эти параметры нужно предварительно задать в окне формы.

Прежде чем рассматривать процедуру ОстаткиМатериалов(), сделаем в ней одно исправление. Оно будет касаться приведения даты, переданной в параметре Дата к концу дня. Дело в том, что если этого не сделать, то в отчет, скажем, за 6 мая, не попадут данные, сформированные документами за этот день.

Приведение даты к концу дня можно выполнить с помощью функции КонецДня(). Эта функция возвращает дату и время конца дня для переданной даты.

Найдите такую строку в процедуре ОстаткиМатериалов():

Запрос.УстановитьПараметр("Дата", Дата);

Отредактируйте ее, чтобы она стала выглядеть так:

Запрос.УстановитьПараметр("Дата", КонецДня(Дата));

Теперь, прежде чем приступить к разбору этой процедуры, давайте проверим, как работает созданный отчет в режиме 1С:Предприятие. Его можно найти в меню Операции > Отчет. В открывшейся форме выберем ответственного сотрудника, по которому мы хотели бы получить данные, укажем дату, на которую нас интересуют остатки и нажмем на кнопку Сформировать. Вот, что у нас получилось ( рис. 8.11).

Отчет Остатки материалов

увеличить изображение
Рис. 8.11. Отчет Остатки материалов

Здесь видно, что отчет, с точки зрения поставленных перед его созданием целей, выводит данные верно. Однако внешний вид отчета можно улучшить. В частности, можно поменять наименования столбцов ЦентрОтветственности и КоличествоОстаток на что-нибудь более благозвучное, уменьшить ширину столбцов и добавить границы ячеек. Все эти действия можно выполнить в редакторе макета, вводя текст в нужные ячейки и настраивая их размер и форматирование. Вот как выглядит отчет после исправления "косметических" недочетов, рис. 8.12.

Отчет Остатки материалов

увеличить изображение
Рис. 8.12. Отчет Остатки материалов
Анастасия Шокова
Анастасия Шокова
Россия, Воронеж, АНОО ВПО ВИВТ