Proger
08.11.2010, 09:52
Здравствуйте, кто нибудь сталкивался с такой ситуацией: нужно сделать так, чтобы определенная область макета выводилась в начале каждой новой страницы, и еще одна область - в конце каждой страницы? Как это можно описать на встроенном языке?
Добавлено через 11 часов 12 минут 42 секунды
Структура макета:
| ВерхКолонтитул (с картинками) |
| Шапка |
| Заголовок |
|Строка (количество строк зависит от колиества товаров) |
| Подвал |
| НизКолонтитул (с картинками) |
Задача:
Область верхКолонтитул должна выводиться в верху каждой страницы, а НизКолонтитул - в низу каждой страницы.
Решение:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();
Макет = ПолучитьМакет("Макет");
//Получаем области макета
ВерхКолонтитул = Макет.ПолучитьОбласть("ВерхКолонтитул");
Шапка = Макет.ПолучитьОбласть("Шапка");
Заголовок = Макет.ПолучитьОбласть("Заголовок");
Строка = Макет.ПолучитьОбласть("Строка");
Подвал = Макет.ПолучитьОбласть("Подвал");
НизКолонтитул = Макет.ПолучитьОбласть("НизКолонтитул");
//Выводим область "ВерхКолонтитул"
ТабДок.Вывести(ВерхКолонти тул);
//Выводим область "Шапка"
// Параметры шапки
// ...
ТабДок.Вывести(Шапка);
//Выводим область "ЗаголовокСтрока"
// Параметры заголовка
// ...
ТабДок.Вывести(Заголовок);
//Параметры области "НизКолонтитул"
// ...
//Выводим область "Строка"
ПроверкаПечатиНизКолонтит ул = Новый Массив;
ПроверкаПечатиНизКолонтит ул.Добавить(Строка);
ПроверкаПечатиНизКолонтит ул.Добавить(НизКолонтитул);
// Параметры оласти "строка"
// ...
Для Каждого СтрокаТоваров из Документ.Товары Цикл
Если НЕ ТабДок.ПроверитьВывод(Пров еркаПечатиНизКолонтитул) Тогда
ТабДок.Вывести(НизКолонтит ул);
ТабДок.Вывести(ВерхКолонти тул);
КонецЕсли;
ТабДок.Вывести(Строка);
КонецЦикла;
//Выводим область "Подвал"
ПроверкаПечатиНизКолонтит ул.Очистить();
ПроверкаПечатиНизКолонтит ул.Добавить(Подвал);
ПроверкаПечатиНизКолонтит ул.Добавить(НизКолонтитул);
ПустаяСтрока = Макет.ПолучитьОбласть("ПустаяСтрока");
ПроверкаНизКолонтитул = Новый Массив;
ПроверкаНизКолонтитул.Доб� �вить(НизКолонтитул);
ПроверкаНизКолонтитул.Доб� �вить(ПустаяСтрока);
Если НЕ ТабДок.ПроверитьВывод(Пров еркаПечатиНизКолонтитул) Тогда
Пока ТабДок.ПроверитьВывод(Пров еркаНизКолонтитул) Цикл
ТабДок.Вывести(ПустаяСтрок а);
КонецЦикла;
ТабДок.Вывести(НизКолонтит ул);
ТабДок.Вывести(ВерхКолонти тул);
КонецЕсли;
ТабДок.Вывести(Подвал);
//Выводим область "НизКолонтитул"
Пока ТабДок.ПроверитьВывод(Пров еркаНизКолонтитул) Цикл
ТабДок.Вывести(ПустаяСтрок а);
КонецЦикла;
ТабДок.Вывести(НизКолонтит ул);
//Устанвливаем параметры таблицы и выводим ее
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовк� � = Ложь;
Возврат ТабДок;
Добавлено через 11 часов 12 минут 42 секунды
Структура макета:
| ВерхКолонтитул (с картинками) |
| Шапка |
| Заголовок |
|Строка (количество строк зависит от колиества товаров) |
| Подвал |
| НизКолонтитул (с картинками) |
Задача:
Область верхКолонтитул должна выводиться в верху каждой страницы, а НизКолонтитул - в низу каждой страницы.
Решение:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();
Макет = ПолучитьМакет("Макет");
//Получаем области макета
ВерхКолонтитул = Макет.ПолучитьОбласть("ВерхКолонтитул");
Шапка = Макет.ПолучитьОбласть("Шапка");
Заголовок = Макет.ПолучитьОбласть("Заголовок");
Строка = Макет.ПолучитьОбласть("Строка");
Подвал = Макет.ПолучитьОбласть("Подвал");
НизКолонтитул = Макет.ПолучитьОбласть("НизКолонтитул");
//Выводим область "ВерхКолонтитул"
ТабДок.Вывести(ВерхКолонти тул);
//Выводим область "Шапка"
// Параметры шапки
// ...
ТабДок.Вывести(Шапка);
//Выводим область "ЗаголовокСтрока"
// Параметры заголовка
// ...
ТабДок.Вывести(Заголовок);
//Параметры области "НизКолонтитул"
// ...
//Выводим область "Строка"
ПроверкаПечатиНизКолонтит ул = Новый Массив;
ПроверкаПечатиНизКолонтит ул.Добавить(Строка);
ПроверкаПечатиНизКолонтит ул.Добавить(НизКолонтитул);
// Параметры оласти "строка"
// ...
Для Каждого СтрокаТоваров из Документ.Товары Цикл
Если НЕ ТабДок.ПроверитьВывод(Пров еркаПечатиНизКолонтитул) Тогда
ТабДок.Вывести(НизКолонтит ул);
ТабДок.Вывести(ВерхКолонти тул);
КонецЕсли;
ТабДок.Вывести(Строка);
КонецЦикла;
//Выводим область "Подвал"
ПроверкаПечатиНизКолонтит ул.Очистить();
ПроверкаПечатиНизКолонтит ул.Добавить(Подвал);
ПроверкаПечатиНизКолонтит ул.Добавить(НизКолонтитул);
ПустаяСтрока = Макет.ПолучитьОбласть("ПустаяСтрока");
ПроверкаНизКолонтитул = Новый Массив;
ПроверкаНизКолонтитул.Доб� �вить(НизКолонтитул);
ПроверкаНизКолонтитул.Доб� �вить(ПустаяСтрока);
Если НЕ ТабДок.ПроверитьВывод(Пров еркаПечатиНизКолонтитул) Тогда
Пока ТабДок.ПроверитьВывод(Пров еркаНизКолонтитул) Цикл
ТабДок.Вывести(ПустаяСтрок а);
КонецЦикла;
ТабДок.Вывести(НизКолонтит ул);
ТабДок.Вывести(ВерхКолонти тул);
КонецЕсли;
ТабДок.Вывести(Подвал);
//Выводим область "НизКолонтитул"
Пока ТабДок.ПроверитьВывод(Пров еркаНизКолонтитул) Цикл
ТабДок.Вывести(ПустаяСтрок а);
КонецЦикла;
ТабДок.Вывести(НизКолонтит ул);
//Устанвливаем параметры таблицы и выводим ее
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовк� � = Ложь;
Возврат ТабДок;