Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PBP_Glava_6.doc
Скачиваний:
12
Добавлен:
10.09.2019
Размер:
486.91 Кб
Скачать

6.3.4. Именованные области

Формирование результирующего табличного документа с использованием именованных областей заключается в последовательном переносе таких областей из исходного табличного документа.

Поэтому предварительно наш макет должен быть разбит на некоторое количество областей, каждой из которых мы можем дать некоторое Имя.

Область (именования) может быть отдельной ячейкой, может быть прямоугольной областью, а также целой строкой (строками) или целым столбцом (столбцами).

Поскольку мы будем формировать наш отчет построчно, наращивая его сверху вниз, то в этой главе в качестве именованной области мы используем только строки табличного документа.

Для того чтобы присвоить области имя, необходимо сначала ее выделить, затем выбрать пункт меню "Таблица – Имена – Назначить имя…". После чего Конфигуратор откроет диалог (см. рис. 6.9), в котором нужно дать области некоторое имя.

Рис. 6.9. Создание именованной области в макете

Выполните следующее упражнение:

Упражнение 6.4.

Выделите первую строку в макете "КурсыУЕ".

Назначьте ей в качестве имени имя "Заголовок".

По окончании упражнения окно табличного документа примет вид изображенный на рисунке №6.10.

Рис. 6.10. Область "Заголовок"

Эту область мы поместим в результирующий табличный документ только один раз, используя для достижения этой цели методы .ПолучитьОбласть() и .Вывести() объекта "ТабличныйДокумент":

//Получение части документа из макета Область = Макет.ПолучитьОбласть("Заголовок"); // действия по заполнению параметров части документа ТабДок.Вывести(Область);

Метод ПолучитьОбласть() возвращает ссылку на объект типа ТабличныйДокумент, который представляет собой часть исходного табличного документа.

Для того чтобы присвоить параметрам значения части документа перед ее выводом в результирующий табличный документ, необходимо воспользоваться свойством Параметры:

ТабДок = Новый ТабличныйДокумент(); //Получение макета Макет = ПолучитьОбщийМакет("КурсУЕ"); //Получение части документа из макета Область = Макет.ПолучитьОбласть("Заголовок"); // действия по заполнению параметров значениями части // документа Область.Параметры.НаименованиеОрганизации = Константы.НаименованиеОрганизации.Получить(); ТабДок.Вывести(Область); //…………………………………………………………………… ТабДок.Показать("История курса УЕ");

Если приведенный фрагмент программы добавить в процедуру ПечатьКурсаУЕ() и запустить ее на выполнение, то в результате будет открыто окно табличного документа, изображенное на рисунке 6.11.

Рис. 6.11. Результат вывода именованной области "Заголовок"

А пока самостоятельно создайте две области, выполнив следующее упражнение:

Упражнение 6.5.

С оздайте две области "Шапка" и "Строка", разместив их в макете "КурсУЕ" так как это изображено на рисунке 6.12.

Самостоятельно внесите изменения в текст процедуры ПечатьКурсаУЕ() таким образом, чтобы она отображала курсы УЕ в табличном документе.

Проверьте работу процедуры в режиме "1С: Предприятие".

Рис. 6.12. Области "Шапка" и "Строка"

Для надежности приводим текст данной процедуры (Сравните со своим вариантом):

Процедура ПечатьКурсаУЕ(Кнопка)

ТабДок = Новый ТабличныйДокумент();

//Получение макета

Макет = ПолучитьОбщийМакет("КурсУЕ");

//Получение части документа из макета

Область = Макет.ПолучитьОбласть("Заголовок");

// действия по заполнению параметров части документа

Область.Параметры.НаименованиеОрганизации =

Константы.НаименованиеОрганизации.Получить();

ТабДок.Вывести(Область);

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Область = Макет.ПолучитьОбласть("Строка");

РегСведКурсы=РегистрыСведений.Курсы;

НабКурсы=РегСведКурсы.СоздатьНаборЗаписей();

НабКурсы.Прочитать();

к=НабКурсы.Количество();

Для н=1 по НабКурсы.Количество() Цикл

ТекСтрока=НабКурсы[к-н];

//Сообщить(""+ТекСтрока.Период+Символы.Таб+ТекСтрока.Курс);

Область.Параметры.Дата = ТекСтрока.Период;

Область.Параметры.Значение = ТекСтрока.Курс;

ТабДок.Вывести(Область);

КонецЦикла;

// Установка свойств табличного документа в целом перед его

// отображением: назначение этих параметров рассмотрим позднее

ТабДок.ИмяПараметровПечати = "ПараметрыКурсаУЕ";

ТабДок.ИмяСохраненияПоложенияОкна = "ОкноКурсаУЕ";

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.СохранятьСвойстваОтображения = Истина;

ТабДок.ТолькоПросмотр = Истина;

ТабДок.ФиксацияСверху = 3; //

ТабДок.Показать("История курса УЕ")

КонецПроцедуры

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]