ТабличныйДокумент

Типы · SpreadsheetDocument

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

Полное описание, параметры и ограничения

ТабличныйДокумент (SpreadsheetDocument)

ТабличныйДокумент (SpreadsheetDocument)

Доступен, начиная с версии 8.0.

Свойства:
АвтоМасштаб (FitToPage)
ВерхнийКолонтитул (Header)
ВстроенныеТаблицы (EmbeddedTables)
Вывод (Output)
ВыделенныеОбласти (SelectedAreas)
ВысотаСтраницы (PageHeight)
ВысотаТаблицы (TableHeight)
ДвусторонняяПечать (DuplexPrinting)
Защита (Protection)
ИмяПараметровПечати (PrintParametersName)
ИмяПринтера (PrinterName)
ИмяСохраненияПоложенияОкна (WindowOptionsName)
ИспользуемоеИмяФайла (UsedFileName)
ИтогиСнизу (TotalsBelow)
ИтогиСправа (TotalsRight)
КлючПараметровПечати (PrintParametersKey)
КлючСохраненияПоложенияОкна (WindowOptionsKey)
КодЯзыка (LanguageCode)
КодЯзыкаМакета (TemplateLanguageCode)
КоличествоЭкземпляров (Copies)
Макет (Template)
МасштабПечати (PrintScale)
НаправлениеПерехода (StepDirection)
НаправлениеТекста (TextDirection)
НижнийКолонтитул (Footer)
НомерПервойСтраницы (FirstPageNumber)
Области (Areas)
ОбластьПечати (PrintArea)
ОриентацияСтраницы (PageOrientation)
ОтображатьГруппировки (ShowGroups)
ОтображатьЗаголовки (ShowHeaders)
ОтображатьСетку (ShowGrid)
Параметры (Parameters)
ПлотностьСохраняемыхКартинок (SavedPicturesDensity)
ПовторятьПриПечатиКолонки (RepeatOnColumnPrint)
ПовторятьПриПечатиСтроки (RepeatOnRowPrint)
ПолеСверху (TopMargin)
ПолеСлева (LeftMargin)
ПолеСнизу (BottomMargin)
ПолеСправа (RightMargin)
РазборПоКопиям (Collate)
РазмерКолонтитулаСверху (HeaderSize)
РазмерКолонтитулаСнизу (FooterSize)
РазмерСтраницы (PageSize)
Рисунки (Drawings)
СохранятьСвойстваОтображения (SaveViewProperties)
ТекущаяОбласть (CurrentArea)
ТолькоПросмотр (ReadOnly)
ТочностьПечати (PrintAccuracy)
ФиксацияСверху (FixedTop)
ФиксацияСлева (FixedLeft)
ФиксированныйФон (FixedBackground)
ФоноваяКартинка (BackgroundPicture)
ЦветТекстаГруппировки (GroupTextColor)
ЦветТекстаЗаголовков (HeaderTextColor)
ЦветФонаГруппировки (GroupBackColor)
ЦветФонаЗаголовков (HeaderBackColor)
ЧередованиеРасположенияСтраниц (PagePlacementAlternation)
ЧерноБелаяПечать (BlackAndWhite)
ЧерноБелыйПросмотр (BlackAndWhiteView)
ШиринаСтраницы (PageWidth)
ШиринаТаблицы (TableWidth)
ЭкземпляровНаСтранице (PerPage)

Методы:
ВставитьОбласть (InsertArea)
Вывести (Put)
ВывестиВертикальныйРазделительСтраниц (PutVerticalPageBreak)
ВывестиГоризонтальныйРазделительСтраниц (PutHorizontalPageBreak)
ЗакончитьАвтогруппировкуКолонок (EndColumnAutoGrouping)
ЗакончитьАвтогруппировкуСтрок (EndRowAutoGrouping)
ЗакончитьГруппуКолонок (EndColumnGroup)
ЗакончитьГруппуСтрок (EndRowGroup)
Записать (Write)
ЗаписатьАсинх (WriteAsync)
КоличествоСтраниц (PageCount)
КоличествоУровнейГруппировокКолонок (ColumnGroupLevelCount)
КоличествоУровнейГруппировокСтрок (RowGroupLevelCount)
НайтиЗначение (FindValue)
НайтиТекст (FindText)
Напечатать (Print)
НачатьАвтогруппировкуКолонок (StartColumnAutoGrouping)
НачатьАвтогруппировкуСтрок (StartRowAutoGrouping)
НачатьГруппуКолонок (StartColumnGroup)
НачатьГруппуСтрок (StartRowGroup)
НачатьЗапись (BeginWriting)
Область (Area)
ОтменитьПреобразованиеДокумента (RevertToDefaultMode)
Очистить (Clear)
Показать (Show)
ПоказатьУровеньГруппировокКолонок (ShowColumnGroupLevel)
ПоказатьУровеньГруппировокСтрок (ShowRowGroupLevel)
ПолучитьКомпактныйДокумент (GetCompactDocument)
ПолучитьОбласть (GetArea)
ПолучитьРазмерОбластиДанныхПоВертикали (GetDataAreaVerticalSize)
ПолучитьРазмерОбластиДанныхПоГоризонтали (GetDataAreaHorizontalSize)
ПолучитьРазмерПоляПринтераСверху (GetPrinterTopMarginSize)
ПолучитьРазмерПоляПринтераСлева (GetPrinterLeftMarginSize)
ПолучитьРазмерПоляПринтераСнизу (GetPrinterBottomMarginSize)
ПолучитьРазмерПоляПринтераСправа (GetPrinterRightMarginSize)
ПреобразоватьВКомпактныйДокумент (ConvertToCompactMode)
Присоединить (Join)
ПроверитьВывод (CheckPut)
ПроверитьПрисоединение (CheckAttachment)
Прочитать (Read)
РассчитатьРазмерКолонтитулаСверху (CalculateHeaderSize)
РассчитатьРазмерКолонтитулаСнизу (CalculateFooterSize)
Скрыть (Hide)
УдалитьОбласть (DeleteArea)
УстановитьРастягиваниеПоГоризонтали (SetHorizontalStretch)

Конструкторы:
По умолчанию

Описание:

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

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Сериализуется. Может использоваться в реквизитах управляемой формы. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.2/data/spreadsheet}. Имя типа XDTO: SpreadsheetDocument.

Использование в версии:

Доступен, начиная с версии 8.0.

Описание изменено в версии 8.3.22.

Методическая информация

Практические примеры

Получить собственный макет этикетки через объект товара

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

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. До запуска дополнительно создайте у УчебныеТовары макет УчебнаяЭтикетка типа Табличный документ. В его ячейках A1/A2 задайте учебные подписи и обновите конфигурацию.


Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.Наименование = "Учебная книга";
Товар.Артикул = "A-01";
Товар.Цена = 250;
Этикетка = Товар.ПолучитьМакет("УчебнаяЭтикетка");
Сообщить(ТипЗнч(Этикетка) = Тип("ТабличныйДокумент"));
Этикетка.Область(1, 1).Текст = Товар.Наименование;
Этикетка.Область(2, 1).Текст = "Артикул: " + Товар.Артикул;
Сообщить(Этикетка.Область(1, 1).Текст = "Учебная книга");
Сообщить(Этикетка.Область(2, 1).Текст = "Артикул: A-01");
Сообщить(Товар.ЭтоНовый());

Разбор по шагам

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

  2. Область(1,1) адресует ячейку по строке/колонке. Наименование и артикул берём из собственного незаписанного товара.

  3. Изменяем полученный табличный документ в памяти. Показ, печать и запись PDF/файла не вызываются.

Как проверить результат

  1. Четыре сообщения Истина; A1 содержит Учебная книга, A2 — Артикул: A-01.

  2. Проверьте макет в Конфигураторе: присваивание ячеек во время выполнения не редактировало источник метаданных.

Ожидаемый результат

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

На что обратить внимание

  1. Имя макета и имя товара — разные имена; макет не является реквизитом объекта.

  2. Для макета другого типа методы Область/Текст неприменимы. Подготовка явно задаёт Табличный документ.

  3. Этот код не создаёт промышленную печатную форму и не проверяет физическую печать.

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

Заполнить собственную диаграмму табличного документа и восстановить обновление при ошибке

Разбираем Обновление в его контексте обычного толстого клиента. В управляемых формах отключение этого свойства не является ускорением.

Где и как запускать

Учебное обычное приложение, толстый клиент Windows: собственная обычная форма внешней обработки. Это не модуль управляемой формы и не серверный вызов.

Подготовка

  1. Отдельная пустая учебная конфигурация для ОБЫЧНОГО приложения, толстый клиент Windows. Не переключайте рабочую конфигурацию и не запускайте урок в тонком клиенте.

  2. В собственной внешней обработке создайте обычную форму, добавьте кнопку УчебныйПример и назначьте её Действие одноимённой процедуре. Код — полный обработчик модуля формы, без &НаКлиенте.

  3. Документ и его рисунок создаются кодом заново. Макет типового отчёта, рабочий табличный документ и исходные файлы не используются.

Процедура УчебныйПример(Кнопка)
    Документ = Новый ТабличныйДокумент;
    Рисунок = Документ.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Диаграмма);
    Рисунок.Расположить(Документ.Область(1, 1, 20, 12));
    Диаграмма = Рисунок.Объект;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    ПрежнееОбновление = Диаграмма.Обновление;
    Диаграмма.Обновление = Ложь;
    Попытка
        Продажи = Диаграмма.УстановитьСерию("sales");
        Продажи.Текст = "Продано, шт.";
        Для Месяц = 1 По 3 Цикл
            Точка = Диаграмма.УстановитьТочку(Месяц);
            Точка.Текст = "Месяц " + Строка(Месяц);
            Диаграмма.УстановитьЗначение(Точка, Продажи, Месяц * 5);
        КонецЦикла;
        Диаграмма.ОбластьЗаголовка.Текст = "Собственные значения 5/10/15";
        Диаграмма.Обновление = ПрежнееОбновление;
    Исключение
        Диаграмма.Обновление = ПрежнееОбновление;
        ВызватьИсключение;
    КонецПопытки;
    Сообщить(Диаграмма.Обновление = ПрежнееОбновление);
    Сообщить(Диаграмма.Точки.Количество() = 3);
    Документ.Показать("Учебная диаграмма — без файла и печати");
КонецПроцедуры

Разбор по шагам

  1. Коллекция рисунков нового табличного документа создаёт рисунок типа Диаграмма. Рисунок.Объект содержит именно диаграмму.

  2. Расположить принимает область ячеек, а не четыре отдельных числа. Используем собственную область 1,1–20,12.

  3. Сохраняем прежний режим Обновление, отключаем его на время пакетного заполнения и возвращаем при успехе и при исключении.

  4. Создаются три собственные точки 5/10/15. Показать открывает новый документ, но не вызывает печать или сохранение.

  5. Смысл свойства сверяется со справкой платформы; похожая работа с Обновление найдена в исходном отчёте УТ 10.3, но этот пример не вызывает его код.

Как проверить результат

  1. Два сообщения Истина: режим обновления восстановлен, точек три.

  2. Открытый собственный табличный документ показывает 5/10/15. Файл не создаётся и печать не запускается.

  3. Для отрицательного теста добавьте ВызватьИсключение внутри Попытка: перед повторным выбросом прежний режим всё равно восстанавливается.

Ожидаемый результат

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

На что обратить внимание

  1. В управляемых формах установка Обновление не влияет на производительность. Используйте для них обычные уроки Диаграмма без этого приёма.

  2. Показать — интерактивная клиентская операция; серверный фрагмент не может открыть пользователю это окно.

  3. Сохранённый прежний режим может быть Ложь. Возвращаем именно его, а не безусловно включаем чужое состояние.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.