- •Тема: «Отчеты»
- •Основные особенности табличных документов
- •5.2 Макеты
- •5.3. Области
- •Именование областей
- •5.4. Основные методы (команды) формирования печатной формы
- •5.5. Событие Выбор
- •6.6. Параметры
- •5.7. Расшифровки
- •Замечание к выполнению лабораторной работы
- •5.8. Группировки
- •5. 9. Примечания
- •5. 10. Значения ячеек
- •5. 11. Рисунки
Замечание к выполнению лабораторной работы
Для обеспечения нестандартной расшифровки в отчете, вызываемой из формы списка справочника, необходимо:
в макете отчета предусмотреть секции для вывода конкретизирующего отчета ( табличную часть выбранного элемента справочника)
в форму списка справочника ввести элемент управления - панель , накрывающую элементы управления, Тогда автоматически будет сформирована страница на панели, а все элементы управления будут перенесены на эту страницу. Имя страницы и панели - произвольно . Страница используется для изображения элементов справочника в форме списка.
Было:
на полученной панели добавить еще одну страницу для последующего вывода на нее отчета. Задать имя второй страницы (например, "Печать").
Для обеспечения вывода отчета на вторую страницу необходимо ввести в нее элемент управления - ПолеТабличногоДокумента и задать эму призвольное имя. В свойстве этого элемента управления "Обработка расшифровки" ввести имя процедуры-обработчика расшифровки. В некоторых случаях бывает затруднительно выделить поле табличного документа, чтобы обратиться к его свойствам. Обычно это делается щелчком мыши на границе элемента управления, но это невозможно, когда граница не видна, например, сливается с границей панели. В этом случае необходимо выделить любую ячейку и нажать клавишу ESC, после чего табличный документ будет выделен. Затем нажмите Alt-Enter для редактирования его свойств.
Обработку расшифровок у ячейки можно отключить, если задать свойство ИспользованиеРасшифровки в значение «Без обработки». Это же свойство позволяет распространить расшифровку ячейки на всю строку, если установить его в значение «Строка».
// Процедура вывода отчета на вторую страницу формы списка
Процедура ПечатьНажатие(Элемент)
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
ЭлементыФормы.Панель1.ТекущаяСтраница =
ЭлементыФормы.Панель1.Страницы["Печать"];
Макет = Справочники.ОсновныеСредства.ПолучитьМакет("Печать");
Макет.Параметры.Расшифровка = Истина;
Секция = Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(Секция);
Секция = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(Секция);
Выборка = Справочники.ОсновныеСредства.ВыбратьИерархически();
Пока Выборка.Следующий() = Истина Цикл
Объект = Выборка.ПолучитьОбъект();
Если Объект.ЭтоГруппа = Истина Тогда
Секция = Макет.ПолучитьОбласть("Группа");
Секция.Параметры.Код=Объект.Код;
Секция.Параметры.Наименование=Объект.Наименование;
Секция.Параметры.Расшифровка=Объект;
ТабДок.Вывести(Секция);
Иначе
Секция = Макет.ПолучитьОбласть("Элемент");
Секция.Параметры.Код=Объект.Код;
Секция.Параметры.Наименование=Объект.Наименование;
Секция.Параметры.Расшифровка=Объект;
ТабДок.Вывести(Секция);
КонецЕсли;
КонецЦикла;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.ТолькоПросмотр = Истина;
КонецПроцедуры
Конкретизирующий отчет (расшифровка) выводится в отдельное окно:
Процедура _ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
НовыйТабДок = Новый ТабличныйДокумент;
Макет = Справочники.ОсновныеСредства.ПолучитьМакет("Печать");
Макет.Параметры.Расшифровка = Истина;
Секция = Макет.ПолучитьОбласть("ШапкаРасшифровки");
НовыйТабДок.Вывести(Секция);
Для каждого Строка из Расшифровка.ОС Цикл
Секция = Макет.ПолучитьОбласть("ЭлементРасшифровки");
Секция.Параметры.Подразделение=Строка.Подразделение;
Секция.Параметры.ДатаПоявления=Строка.ДатаПоявленияВПодразделении;
Секция.Параметры.Расшифровка=Расшифровка;
НовыйТабДок.Вывести(Секция);
КонецЦикла;
НовыйТабДок.ОтображатьСетку = Ложь;
НовыйТабДок.Защита = Истина;
НовыйТабДок.ТолькоПросмотр = Истина;
НовыйТабДок.ОтображатьЗаголовки = Ложь;
НовыйТабДок.Показать();
КонецПроцедуры
