Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Основы формирования табличного документа на основе макета
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > База знаний > База знаний 1С:Предприятия 8.1 > Основы конфигурирования для начинающих
Batchir
Обычно табличный документ формируется на основе макета как из строительных блоков. Макет представляет собой шаблон для формирования печатной формы. Построение макета производится в конфигураторе в специальном табличном редакторе. Разработчик может создавать области, изменять высоту строк и ширину колонок, задавать форматирование ячеек и всего табличного документа, включать в макет рисунки, диаграммы и сводные таблицы.

Области макета предназначены для однократного или многократного вывода.

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

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

Общая схема
1. Создание макета в табличном редакторе (определение областей, имен параметров, форматирования).
2. Создание нового табличного документа (этот пункт не требуется, если отчет выводится в элемент управления ПолеТабличногоДокумента).
3. Получение макета в переменную (метод ПолучитьМакет).
4. Получение областей макета (метод ПолучитьОбласть).
5. Заполнение параметров области (свойство Параметры).
6. Вывод области в табличный документ (методы Вывести и Присоединить).
7. Установка свойств отображения табличного документа (сетка, заголовки, только просмотр и т.д.).
8. Отображение табличного документа на экране (а может быть отправка на принтер или сохранение).

Пример вывода табличного документа

Ниже приведен пример формирования печатной формы расходной накладной из модуля документа:


Процедура Печать(ТабДок) Экспорт

//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент;

//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная.ПолучитьМакет("Основной");

//получим область "Заголовок" как новый табличный документ (!)
Область = Макет.ПолучитьОбласть("Заголовок");

//укажем параметры области
Область.Параметры.НомерДокумента = Номер;
Область.Параметры.От = Дата;
Область.Параметры.Кому = Контрагент;

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

//выведем область "Шапка" в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка"));

//получение области "Строка"
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть("Строка");

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл
//заполнение параметров области из строки табличной части
Область.Параметры.Заполнить(СтрСостава);

//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);

КонецЦикла;

//вывод области "Подвал"
Область = Макет.ПолучитьОбласть("Подвал");
Область.Параметры.ИтогоКоличество = Состав.Итог("Количество");
Область.Параметры.ИтогоСумма = Состав.Итог("Сумма");
ТабДок.Вывести(Область);

//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;

//покажем табличный документ на экране
ТабДок.Показать();

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


Основные методы

Основные методы формирования итогового табличного документа следующие:
Вывести
Выводит в печатную форму очередной фрагмент (табличный документ), добавляя его снизу, начиная с первой колонки.
Присоединить
Присоединяет к печатной форме очередной фрагмент (табличный документ) справа, начиная со строки, с которой выводился предыдущий фрагмент методом Вывести
Область
Позволяет получить область как объект типа "ОбластьЯчеекТабличногоДокумента". Через этот объект можно устанавливать форматирование области: задавать размер и цвет шрифта, цвет фона и узор ячеек.
ПолучитьОбласть
Позволяет получить область как объект типа "ТабличныйДокумент". Этот объект можно затем передать в методы Вывести и Присоединить. Через этот объект также указываются значения параметров области.
lin
А якщо невідомо наперед які області є в макеті, як тоді вивести весь макет?
Шукав якийсь метод типу "ПолучитьВсеОбласти" але не знайшов підходящого.

Хочу зробити просмотрщик всіх макетів документів.
lin
Цитата(lin @ 03.12.10, 12:41) необходимо зарегистрироваться для просмотра ссылки
А якщо невідомо наперед які області є в макеті, як тоді вивести весь макет?
Шукав якийсь метод типу "ПолучитьВсеОбласти" але не знайшов підходящого.

Хочу зробити просмотрщик всіх макетів документів.


Получилось ось так:

ФормыОбласти = Макет.Области;
    
    Для Каждого Области Из ФормыОбласти Цикл
        //ФормаОбласть = Макет.ПолучитьОбласть("Форма");
        ТабДок.Вывести(Области);
    КонецЦикла;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.