Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Основы формирования табличного документа на основе макета          
Batchir Подменю пользователя
сообщение 08.02.09, 19:56
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Обычно табличный документ формируется на основе макета как из строительных блоков. Макет представляет собой шаблон для формирования печатной формы. Построение макета производится в конфигураторе в специальном табличном редакторе. Разработчик может создавать области, изменять высоту строк и ширину колонок, задавать форматирование ячеек и всего табличного документа, включать в макет рисунки, диаграммы и сводные таблицы.

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

КонецЦикла;

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

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

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

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


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

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

Спасибо сказали: 1cnovice, Romio, stark,

lin Подменю пользователя
сообщение 03.12.10, 11:41
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 36
Спасибо сказали: 3 раз
Рейтинг: 0

А якщо невідомо наперед які області є в макеті, як тоді вивести весь макет?
Шукав якийсь метод типу "ПолучитьВсеОбласти" але не знайшов підходящого.

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

lin Подменю пользователя
сообщение 03.12.10, 11:57
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 36
Спасибо сказали: 3 раз
Рейтинг: 0

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

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


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

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

Спасибо сказали: triplex,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 12:00
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!