Link Search Menu Expand Document

ЗаписьТабличногоДокумента

Стд::ТабличныйДокумент::ЗаписьТабличногоДокумента
Базовые типы: Объект
Доступность: Сервер

Иерархия типа

graph TD;
ЗаписьТабличногоДокумента["ЗаписьТабличногоДокумента"]-->Объект["Объект"];

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

Пример

// Области макета: шапка, шапка таблицы, строчка таблицы (столбцы: номер, номенклатура, количество, цена), подвал.
// Необходимо добавить сумму для товара и возможность указать дату в шапке.
пер Макет = ПолучитьМакетТабличногоДокумента()
пер Табдок = новый ТабличныйДокумент()
пер Писатель = ТабДок.Запись

// Задекларируем шаблон в шапке.
пер ЗаголовокШапка = Макет.ПолучитьОбласть("R1C1:R1C3")
если ЗаголовокШапка.ВидЗаполнения == ВидЗаполненияОбластиТабличногоДокумента.Текст
    ЗаголовокШапка.УстановитьТекст(Шапка.Текст + " от [ДатаФормирования]", Истина)
;

// Выводим шапку с шаблоном
пер Шапка = Макет.ПолучитьОбласть("Шапка")
Писатель.ВывестиВертикально(Шапка.ВВыводимуюОбласть.УстановитьПараметры({"ДатаФормирования": "10.11.2022"}))
 
// Добавим название колонки в шапку таблицы. 
пер ШапкаТаблицыОбласть = Макет.ПолучитьОбласть("R3C6")
ШапкаТаблицыОбласть.УстановитьТекст("Сумма")

// Вывод шапки таблицы.
пер ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы")
Писатель.ВывестиВертикально(ШапкаТаблицы)

// Задекларируем имя параметра в области строки таблицы.
пер ДопКолонка = Макет.ПолучитьОбласть("R4C6")
ДопКолонка.УстановитьИмяПараметра("Сумма")

// Получим область строки таблицы.
пер ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("Таблица")

// Выведем строки таблицы.
пер Номер = 1   
для Название из Названия()
    пер ВыводимаяОбласть = ОбластьСтрокаТаблицы.ВВыводимуюОбласть()
    ВыводимаяОбласть.УстановитьПараметры({"Номер": Номер,
        "Номенклатура": Название,
        "Количество": Количество(Название),
        "Цена": Цена(Название),
        "Сумма": Количество(Название) * Цена(Название)})
    Писатель.ВывестиВертикально(ВыводимаяОбласть)
    Номер += 1
;

Сравнение ссылочное


Методы

ВывестиВертикально

Доступность: Сервер

Чтобы вывести значение параметра области в числовом формате (например, при экспорте табличного документа в excel), необходимо в макете установить горизонтальное положение содержимого области в значение “Право”.

Выводит область вертикально (то есть вниз), помещая её со следующей строки вслед за самой нижней выведенной строкой, начиная с первой колонки.

Исключения

ИсключениеНедопустимыйАргумент - при попытке вывода табличного документа в самого себя.

Примеры

метод ВывестиОбластьСЛого()
    знч Параметры = {
        "НазваниеОрганизации": НазваниеОрганизации
    }

    исп ПотокЛоготипа = новый Файл("logo.png").ОткрытьПотокЧтения()
    знч БайтыЛоготипа = ПотокЛоготипа.ПрочитатьКакБайты()

    пер ДанныеВыводаЛоготипа = новый ДанныеВыводаИзображения("ЛоготипОрганизации")
    ДанныеВыводаЛоготипа.ДанныеИзображения = БайтыЛоготипа

    пер РезультатТабДок = новый ТабличныйДокумент()
    пер Писатель = РезультатТабДок.Запись
    
    пер ВыводимаяОбласть = ОбластьЗаголовкаСЛоготипом.ВВыводимуюОбласть()
        .УстановитьПараметры(Параметры)
        .УстановитьДанныеРисунков([ДанныеВыводаЛоготипа])
    Писатель.ВывестиВертикально(ВыводимаяОбласть)
;

ВывестиВертикальныйРазделительСтраниц

ВывестиВертикальныйРазделительСтраниц()
Доступность: Сервер

Выводит в результирующую таблицу вертикальный разделитель страниц.


ВывестиГоризонтально

Доступность: Сервер

Выводит область горизонтально (то есть вправо), помещая её в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущая область или табличный документ.

Исключения

ИсключениеНедопустимыйАргумент - при попытке вывода табличного документа в самого себя.

Примеры

метод ВывестиШапкуДокумента(ТабличныйДокумент: ТабличныйДокумент, Колонки: ЧитаемыйМассив<Строка>)
    знч КрасныйЦвет = новый АбсолютныйЦвет(255, 0, 0)

    знч Макет = новый ТабличныйДокумент()
    знч Область = Макет.ПолучитьЯчейку(1, 1)
    Область.УстановитьЦветТекста(КрасныйЦвет)
    
    для Колонка из Колонки
        пер ВыводимаяОбласть = Область.ВВыводимуюОбласть()   
        ВыводимаяОбласть.УстановитьТекст(Колонка)
        
        ТабличныйДокумент.ВывестиГоризонтально(ВыводимаяОбласть)
    ;
;

ВывестиГоризонтальныйРазделительСтраниц

ВывестиГоризонтальныйРазделительСтраниц()
Доступность: Сервер

Выводит в результирующую таблицу горизонтальный разделитель страниц.


ПроверитьВместимостьПоВертикали

ПроверитьВместимостьПоВертикали(Содержимое: ЧитаемыйМассив<ТабличныйДокумент|ОбластьТабличногоДокумента>): Булево
Доступность: Сервер

Проверяет, поместится ли список областей на текущую страницу, если их выводить вертикально (то есть вниз).

Исключения

ИсключениеНедопустимыйАргумент - при попытке проверки вывода табличного документа в самого себя.

Примеры

пер ТабличныйДокумент = новый ТабличныйДокумент()
пер Запись = ТабличныйДокумент.Запись
// ... получение из макета ОбластьШапкаТаблицы, ОбластьСтрокаТаблицы и ОбластьПодвалТаблицы
пер ПоследниеСтроки = новый Массив<ОбластьТабличногоДокумента>
ПоследниеСтроки.Добавить(ОбластьСтрокаТаблицы)
ПоследниеСтроки.Добавить(ОбластьПодвалТаблицы)

для Индекс = 1 по КоличествоСтрок
    если не Запись.ПроверитьВместимостьПоВертикали(ПоследниеСтроки)
        пер ПараметрыПодвала = [КоличествоСтрокСтраницы]
        
        пер ВыводимаяОбласть = ОбластьПодвалТаблицы.ВВыводимуюОбласть()
            .УстановитьПараметры(ПараметрыПодвала)
        Запись.ВывестиВертикально(ВыводимаяОбласть)
        Запись.ВывестиГоризонтальныйРазделительСтраниц()
        Запись.ВывестиВертикально(ОбластьШапкаТаблицы)

        КоличествоСтрокСтраницы = 0
    ;

    пер ВыводимаяОбласть = ОбластьСтрокаТаблицы.ВВыводимуюОбласть()
            .УстановитьПараметры(Параметры)
    ТабличныйДокумент.ВывестиВертикально(ВыводимаяОбласть)
    КоличествоСтрокСтраницы += 1
;

ПроверитьВместимостьПоГоризонтали

ПроверитьВместимостьПоГоризонтали(Содержимое: ЧитаемыйМассив<ТабличныйДокумент|ОбластьТабличногоДокумента>): Булево
Доступность: Сервер

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

Исключения

ИсключениеНедопустимыйАргумент - при попытке проверки вывода табличного документа в самого себя.


Список унаследованных методов

Объект