|
Как задать условие для вывода шапки? | ☑ | ||
---|---|---|---|---|
0
Sky69
03.12.12
✎
09:03
|
Проблема следующая: выводить нужно шапку до определенной страницы, потом не выводить. Пыталась в цикл шапку вывести, но некрасиво смотрится при выводе отчета пользователю,хотя на печать красиво. В данном коде вывожу шапку на каждой странице. Т.е. перед Область = Макет.ПолучитьОбласть("Подзаголовок"); уже шапку выводить не надо. Как это можно сделать посоветуйте пожалуйста
//--------------------------------------------------------------- //ВЫВОД В ОТЧЕТ //ФОРМИРОВАНИЕ МАКЕТА //--------------------------------------------------------------- НовНеявкиОрганизаций.Сортировать("Сотрудник,НомерМесяца,НомерГода"); ИтогоЗаГодКолПотерь=0; сч = 0; колСтрок=НовНеявкиОрганизаций.Количество(); Для Каждого СтрокаТаблицыЗначений Из НовНеявкиОрганизаций Цикл Сотрудник = СтрокаТаблицыЗначений.Сотрудник ; Прервать; КонецЦикла; ОтчетПоДнямНеВключеннымВЛьготныйСтаж = Новый ТабличныйДокумент(); Макет = ПолучитьМакет("ДниНеВключенныеВЛьготныйСтаж"); Область = Макет.ПолучитьОбласть("Заголовок"); Область.Параметры.Период = "за период "+Формат(НачПериода, "ДЛФ=Д")+"-"+Формат(КонПериода, "ДЛФ=Д")+" по ООО СМЗ"; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Вывести(Область); Область = Макет.ПолучитьОбласть("Шапка"); ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Вывести(Область); //ФОРМИРОВАНИЕ ДАННЫХ ДЛЯ МАКЕТА Для Каждого СтрокаТаблицыЗначений Из НовНеявкиОрганизаций Цикл // // выводим на печать // //-------------------------------------------------------------- строкаСотрудник=СтрокаТаблицыЗначений.Сотрудник; сч = сч+1; //Считаем номер записи по порядку Если Сотрудник <> СтрокаТаблицыЗначений.Сотрудник или сч = 1 Тогда // Область = Макет.ПолучитьОбласть("Шапка"); // ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Вывести(Область); // // выводим ФИО Область = Макет.ПолучитьОбласть("ФИО"); Область.Параметры.ФИО = СтрокаТаблицыЗначений.Сотрудник; Область.Параметры.Сотрудник=СтрокаТаблицыЗначений.Сотрудник.ФизЛицо.СтраховойНомерПФР+Символы.ПС+СтрокаТаблицыЗначений.Сотрудник.Должность; Область.ПолеСверху = 3; Область.ПолеСнизу = 3; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Вывести(Область); ИтогоЗаГодКолПотерь=0; //выводим строку Область = Макет.ПолучитьОбласть("Строка"); Для каждого стрТЗ из НовНеявкиОрганизаций цикл Если стрТЗ.Сотрудник=строкаСотрудник Тогда //Считаем итог за год по сотруднику ИтогоЗаГодКолПотерь = ИтогоЗаГодКолПотерь+стрТЗ.КоличествоПотерь; Потери="Потери"+стрТЗ.НомерМесяца; Строка="Стр"+стрТЗ.НомерМесяца; Область.Параметры[Потери]= стрТЗ.КоличествоПотерь; Область.Параметры[Строка]= стрТЗ.СтрокаПФР; КонецЕсли; КонецЦикла; Область.ПолеСверху = 3; Область.ПолеСнизу = 3; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Вывести(Область); //выводим данные в отчет Область = Макет.ПолучитьОбласть("Итог"); Область.Параметры.итог=ИтогоЗаГодКолПотерь; Область.ПолеСверху = 3; Область.ПолеСнизу = 3; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Вывести(Область); //обнуляем ИтогоЗаГодКолПотерь=0; КонецЕсли; Сотрудник = СтрокаТаблицыЗначений.Сотрудник; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.ПовторятьПриПечатиСтроки = Макет.Области.Шапка; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.ВывестиГоризонтальныйРазделительСтраниц(); стр3= СтрокаТаблицыЗначений; Колич = ТЗВсеЛьготники.Количество(); Если Колич>0 тогда Область = Макет.ПолучитьОбласть("Подзаголовок"); Область.Параметры.Подзаголовок=" Список льготников, для которых нет вычетов из льготного стажа за указанный период"; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Вывести(Область); Для каждого стр3 из ТЗВсеЛьготники Цикл Область = Макет.ПолучитьОбласть("СписокЛьготниковБезВычета"); СтрокаЛ = " "+стр3.СтраховойНомерПФР+" "+стр3.Должность; Область.Параметры.Имя = стр3.Сотрудник; //попытка // Область.Параметры.ТН = ""+Формат(Число(стр3.ТабНом),"ЧЦ=; ЧГ=0"); //Исключение // Область.Параметры.ТН = стр3.ТабНом; //конецПопытки; Область.Параметры.СписокЛьготниковБезВычета = СтрокаЛ; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Вывести(Область); конецЦикла; КонецЕсли; //ВЫВОД МАКЕТА ОтчетПоДнямНеВключеннымВЛьготныйСтаж.ФиксацияСверху = 6; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.ВерхнийКолонтитул.Выводить = Истина; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.ВерхнийКолонтитул.ТекстСлева = " "+глЗначениеПеременной("глТекущийПользователь")+" "+ТекущаяДата(); ОтчетПоДнямНеВключеннымВЛьготныйСтаж.НижнийКолонтитул.НачальнаяСтраница = 1; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.НижнийКолонтитул.Выводить = Истина; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.НижнийКолонтитул.ТекстСправа = "страница [&НомерСтраницы] из [&СтраницВсего]"; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.ТолькоПросмотр = Истина; ОтчетПоДнямНеВключеннымВЛьготныйСтаж.Показать(); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |