Вывести данные в табличный документ 1с 8.3. Интерактивные возможности табличного документа. Группировка строк в табличном документе

Большинство обучающих материалов по программированию в системе 1С при описании формированияпечатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Здесь, кроме хорошо сверстанного макета, играют роль и установки параметров печати.

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

Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).

Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:

ТабДок . ИмяПринтера = "HP LaserJet 3050 Series PCL 6" ;

При печати пакета документовможно сэкономить время, установив признак разбора по копиям:

ТабДок . РазборПоКопиям =истина;

Число копий можно указать так:

ТабДок . КоличествоЭкземпляров = 5 ;

Разумеется, можно задать поля:

ТабДок . ПолеСлева = 20 ; //Поле слева 20мм, остальные поля 10мм (по умолчанию)

Еще несколько свойств страницы:

ТабДок . ОриентацияСтраницы = ОриентацияСтраницы . Ландшафт ;
ТабДок . ЭкземпляровНаСтранице = 2 ; //на листе будет размещено 2 страницы
ТабДок . Автомасштаб =истина; //аналогично настройкам масштаба «по ширине страницы»

При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати» ).

Свойство «РазмерСтраницы» позволяет задать стандартные форматы страницы - “ A 3”, “A4”, “ A 5” (полный список вариантов доступен в справке 1С).

ТабДок . РазмерСтраницы = "A3" ; // буква А должна быть английской

Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм):

ТабДок . РазмерСтраницы = "Custom" ; //нестандартный размер
ТабДок . ВысотаСтраницы = 350 ;
ТабДок . ШиринаСтраницы = 350 ;

Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Например:

ТабДок . ВерхнийКолонтитул . Выводить =истина; //будет напечатан верхний колонтитул
ТабДок . РазмерКолонтитулаСверху = 7 ; //размер колонтитула 7мм (по умолчанию 10мм)
ТабДок . ВерхнийКолонтитул . ВертикальноеПоложение = ВертикальноеПоложение . Верх ;
ТабДок . ВерхнийКолонтитул . НачальнаяСтраница = 2 ; //колонтитул выводится со второй страницы
ШрифтКолонтитула =Новый Шрифт ("Courier New" , 8 ,Истина);
ТабДок . ВерхнийКолонтитул . Шрифт = ШрифтКолонтитула ; //наклонный шрифт
ТабДок . ВерхнийКолонтитул . ТекстВЦентре = "Верхний колонтитул" ;
ТабДок . ВерхнийКолонтитул . ТекстСправа = "Стр.[&НомерСтраницы] из [&СтраницВсего]" ; //нумерация страниц
ТабДок . ВерхнийКолонтитул . ТекстСлева = "[&Дата]" ; //текущая дата

Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.

1) Непосредственно на принтер:

ТабДок . Напечатать (. НеИспользовать );
ТабДок . Напечатать (истина);

2) Перед печатью будет выведен диалог печати:

ТабДок . Напечатать (РежимИспользованияДиалогаПечати . Использовать );
ТабДок . Напечатать (ложь);

Кроме того можно управлять и разбиением документа на страницы. Оценитьколичество страниц в документе по настройкам текущего принтера можно так:

ТабДок . КоличествоСтраниц ();

С помощью методов «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно определить, умещается ли табличный документ или массив областей табличного документа на странице в высоту и в ширину при текущих настройках принтера.

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

Принудительно вставить разрывы страниц позволяют методы «ВывестиВертикальныйРазделительСтраниц()» и «ВывестиГоризонтальныйРазделительСтраниц()» .

Таким образом, можно управлять постраничным выводом на печать и контролировать заполнение страницы:

Если Не ТабДок . ПроверитьВывод (МассивВыводимыхОбластей ) Тогда
ТабДок . ВывестиГоризонтальныйРазделительСтраниц ();
КонецЕсли;

Важной характеристикой платформы «1С:Предприятие 8.2» является строгое разделение свойств и методов по контексту исполнения. Если все приведенные выше свойства доступны в любом контексте, то перечисленные методы недоступны на тонком клиенте. Исключением является метод «Напечатать()», доступность которого по понятным причинам ограничена клиентской частью. Это означает, что формирование табличного документа должно происходить на сервере, а отправлять его на печать следует в клиентской процедуре.

Большинство обучающих материалов по программированию в системе 1С при описании формированияпечатных форм на основе объекта «Табличный документ» ограничиваются выводом готовой формы на экран. Для пользователей же куда более важным является то, как документ будет выглядеть в распечатанном виде. Здесь, кроме хорошо сверстанного макета, играют роль и установки параметров печати.

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

Рассмотрим свойства и методы табличного документа, относящиеся к настройкам печати (в приведенных примерах «ТабДок» это объект типа «Табличный документ»).

Свойство «ИмяПринтера» позволяет задать для печати принтер, отличный от установленного по умолчанию. Имя должно совпадать с именем принтера, заданным в системе:

ТабДок . ИмяПринтера = "HP LaserJet 3050 Series PCL 6" ;

При печати пакета документовможно сэкономить время, установив признак разбора по копиям:

ТабДок . РазборПоКопиям =истина;

Число копий можно указать так:

ТабДок . КоличествоЭкземпляров = 5 ;

Разумеется, можно задать поля:

ТабДок . ПолеСлева = 20 ; //Поле слева 20мм, остальные поля 10мм (по умолчанию)

Еще несколько свойств страницы:

ТабДок . ОриентацияСтраницы = ОриентацияСтраницы . Ландшафт ;
ТабДок . ЭкземпляровНаСтранице = 2 ; //на листе будет размещено 2 страницы
ТабДок . Автомасштаб =истина; //аналогично настройкам масштаба «по ширине страницы»

При необходимости можно указать конкретное значение масштабирования в процентах (свойство «МасштабПечати» ).

Свойство «РазмерСтраницы» позволяет задать стандартные форматы страницы - “ A 3”, “A4”, “ A 5” (полный список вариантов доступен в справке 1С).

ТабДок . РазмерСтраницы = "A3" ; // буква А должна быть английской

Для нестандартного размера бумаги (Custom) можно указать значения высоты и ширины страницы (в мм):

ТабДок . РазмерСтраницы = "Custom" ; //нестандартный размер
ТабДок . ВысотаСтраницы = 350 ;
ТабДок . ШиринаСтраницы = 350 ;

Также в табличном документе доступно управление выводом колонтитулов и их содержимым. Для этого служат свойства «ВерхнийКолонтитул» и «НижнийКолонтитул». Например:

ТабДок . ВерхнийКолонтитул . Выводить =истина; //будет напечатан верхний колонтитул
ТабДок . РазмерКолонтитулаСверху = 7 ; //размер колонтитула 7мм (по умолчанию 10мм)
ТабДок . ВерхнийКолонтитул . ВертикальноеПоложение = ВертикальноеПоложение . Верх ;
ТабДок . ВерхнийКолонтитул . НачальнаяСтраница = 2 ; //колонтитул выводится со второй страницы
ШрифтКолонтитула =Новый Шрифт ("Courier New" , 8 ,Истина);
ТабДок . ВерхнийКолонтитул . Шрифт = ШрифтКолонтитула ; //наклонный шрифт
ТабДок . ВерхнийКолонтитул . ТекстВЦентре = "Верхний колонтитул" ;
ТабДок . ВерхнийКолонтитул . ТекстСправа = "Стр.[&НомерСтраницы] из [&СтраницВсего]" ; //нумерация страниц
ТабДок . ВерхнийКолонтитул . ТекстСлева = "[&Дата]" ; //текущая дата

Сформированный документ отправляется на печать с помощью метода «Напечатать()». Возможно два варианта вызова.

1) Непосредственно на принтер:

ТабДок . Напечатать (. НеИспользовать );
ТабДок . Напечатать (истина);

2) Перед печатью будет выведен диалог печати:

ТабДок . Напечатать (РежимИспользованияДиалогаПечати . Использовать );
ТабДок . Напечатать (ложь);

Кроме того можно управлять и разбиением документа на страницы. Оценитьколичество страниц в документе по настройкам текущего принтера можно так:

ТабДок . КоличествоСтраниц ();

С помощью методов «ПроверитьВывод()» и «ПроверитьПрисоединение()» можно определить, умещается ли табличный документ или массив областей табличного документа на странице в высоту и в ширину при текущих настройках принтера.

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

Принудительно вставить разрывы страниц позволяют методы «ВывестиВертикальныйРазделительСтраниц()» и «ВывестиГоризонтальныйРазделительСтраниц()» .

Таким образом, можно управлять постраничным выводом на печать и контролировать заполнение страницы:

Если Не ТабДок . ПроверитьВывод (МассивВыводимыхОбластей ) Тогда
ТабДок . ВывестиГоризонтальныйРазделительСтраниц ();
КонецЕсли;

Важной характеристикой платформы «1С:Предприятие 8.2» является строгое разделение свойств и методов по контексту исполнения. Если все приведенные выше свойства доступны в любом контексте, то перечисленные методы недоступны на тонком клиенте. Исключением является метод «Напечатать()», доступность которого по понятным причинам ограничена клиентской частью. Это означает, что формирование табличного документа должно происходить на сервере, а отправлять его на печать следует в клиентской процедуре.

В основном все информационные материалы по программированию в 1С при описании создания печатных форм на основе "Табличный документ" ограничиваются простым выводом готовой формы документа на экран. Но этого не всегда достаточно, и на много важнее то, как этот документ будет выглядеть в распечатанной форме на листе бумаги.

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

Ниже рассмотрим более подробно свойства и методы табличного документа, которые имеют отношение к настройкам печати (В приведенном примере "ТабличныйДок" это объект типа "Табличный документ")

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

ТабличныйДок.ИмяПринтера="Kyocera FS-1320D KX";

Можно сэкономить немало времени при печати пакета документов, прописав признак разбора по копиям:

ТабличныйДок.РазборПоКопиям=истина;

Число копий указывается так:

ТабличныйДок.КоличествоЭкземпляров=X; // где X — это число копий

Также возможно задать поля:

ТабличныйДок.ПолеСлева=15; //Поле слева 15мм, остальные поля будут по 10мм (по умолчанию)

Вот еще несколько свойств страницы, которые нам доступны:

ТабличныйДок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт; // ландшафтная ориентация страницы
ТабличныйДок.ЭкземпляровНаСтранице=3; //на одном листе будет размещено 3 страницы
ТабличныйДок.Автомасштаб=истина; //аналогично настройкам масштаба, печать будет распределена по ширине страницы

Если необходимо, то используя описание «МасштабПечати» можно указать конкретное значение для масштабирования, измеряемое в процентах.

ТабличныйДок.МасштабПечати=80; // задается масштаб 80% от натуральной величины

Задать стандартные форматы страницы "А3", "А4", "А5" можно при помощи свойства «РазмерСтраницы». Есть и другие доступные стандартные форматы, полный их список можно найти в справке 1С.

ТабличныйДок.РазмерСтраницы="A4"; // буква А должна быть латинской

Помимо этого имеется возможность задать и нестандартные размеры бумаги (Custom). Для этого задаются значения высоты и ширины страницы в миллиметрах:

ТабличныйДок.РазмерСтраницы="Custom"; //нестандартный размер бумаги
ТабличныйДок.ВысотаСтраницы=250;
ТабличныйДок.ШиринаСтраницы=250;

В дополнение к вышеуказанным свойствам, в табличном документе присутствует возможность управлять выводом на печать колонтитулов и указывать их содержимое. Для этого используются свойства «ВерхнийКолонтитул» и «НижнийКолонтитул»:

ТабличныйДок.ВерхнийКолонтитул.Выводить=истина; //печать верхнего колонтитула
ТабличныйДок.РазмерКолонтитулаСверху=8; //размер колонтитула 8мм (по умолчанию 10мм)
ТабличныйДок.ВерхнийКолонтитул.ВертикальноеПоложение=ВертикальноеПоложение.Верх;
ТабличныйДок.ВерхнийКолонтитул.НачальнаяСтраница=2; //печать колонтитула начинается со второй страницы
ШрифтКолонтитула=Новый Шрифт("Courier New", 7,Истина); // Используемый шрифт и его размер
ТабличныйДок.ВерхнийКолонтитул.Шрифт=ШрифтКолонтитула; //наклонный шрифт
ТабличныйДок.ВерхнийКолонтитул.ТекстВЦентре="Верхний колонтитул";
ТабличныйДок.ВерхнийКолонтитул.ТекстСправа="Стр.[&НомерСтраницы] из [&СтраницВсего]"; //нумерация страниц
ТабличныйДок.ВерхнийКолонтитул.ТекстСлева="[&Дата]"; //текущая дата

Отправить на печать уже сформированный документ можно использовав метод «Напечатать()». При этом есть два варианта вызова этого метода.

1. Непосредственно на принтер
ТабличныйДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
ТабличныйДок.Напечатать(истина);

2. С выводом диалога перед печатью
ТабличныйДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
ТабличныйДок.Напечатать(ложь);

Есть возможность управлять разбиением документа на страницы. Оценка количества страниц в документе относительно настроек текущего принтера выполняется так:

ТабличныйДок.КоличествоСтраниц();

Используя такие методы, как «ПроверитьВывод() » и «ПроверитьПрисоединение() » можно заранее определить, умещается ли документ или массив документов на странице по ширине и высоте относительно текущих настроек принтера.

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

Если вам необходимо принудительно вставить разрывы страниц, то вы можете использовать методы «ВывестиВертикальныйРазделительСтраниц() » и «ВывестиГоризонтальныйРазделительСтраниц() ».

Это позволяет управлять постраничным выводом и контролировать заполнение страницы:

Если Не ТабличныйДок.ПроверитьВывод(МассивВыводимыхОбластей) Тогда
ТабличныйДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

Разделение методов и свойств по контексту исполнения является важной особенностью платформы. Если вышеуказанные свойства доступны в любом контексте, то методы на тонком клиенте не доступны, за исключением метода «Напечатать() ». То есть формирование табличного документа происходит на сервере, а отправляется он при помощи клиентской процедуры.

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

Для того, чтобы удалить имя выберем его из списка и нажмем на кнопку “Удалить”. Тем областям, которым пользователь не присвоил имя, программа даст название автоматически. Эти имена можно увидеть в палитре свойств. Табличный редактор может использоваться для создания нового документа, просмотра результатов прежних отчётов и редактирования документов табличного типа.

Как в 1С создать табличный документ

Для создания нового документа необходимо нажать на раздел “Файл” - “Новый”, после чего выбрать строку “Табличный документ” и подтвердить кнопкой “ОК”. Если нужно открыть уже созданный документ, тогда в разделе “Файл” - “Открыть” выбираем в списке имя файла необходимого документа. При этом можно выбрать любой формат открываемого документа нажав на поле “Тип файла”.

При создании таблицы выделим ячейку и введем данные (текст, формула, численные данные). Если необходимо изменить размер ячеек, тогда в Меню выберем “Формат - Строка - Автоподбор высоты - Столбец - Автоподбор ширины”. Для этого наведем мышку на границу заголовка строки или столбца, удерживая левую кнопку мыши, протяжкой изменим размер. Видоизменится в 1С высота строки табличного документа и ширина столбца. Команда автоподбора открывается двойным кликом на границу заголовка.


Вы можете смело повторять все действия у себя в базе или с легкостью создать табличный документ в 1С:Готовые решения - облачной версии лицензионной программы 1С. Тестируйте сервис бесплатно в течение 14 дней в 1С Онлайн .

Как изменить в 1С высоту строки и ширину колонок

Размер строк и столбцов табличного документа можно изменить вручную или автоматически.

В программе 1С высота строки табличного документа изменится вручную , если навести мышку на нижнюю границу заголовка строки и дождаться когда курсор мыши преобразуется в раздвоенную вертикальную стрелку. После этого устанавливаем необходимую нам высоту строки перемещая границы заголовка.

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

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

Существует еще один способ ручного изменения. Нажмите на клавишу “Ctrl” и наведите мышку на нужную границу ячейки. После того как форма курсора изменится - установите нужный размер.

В 1С ширина колонки табличного документа изменится автоматически , если выделить необходимый столбец и выбрать раздел “Таблица” - “Ячейки” - “Ширина колонок”. В появившемся окне указать ширину и нажать “ОК”.

Создавая новый табличный документ ширина всех столбцов устанавливается по умолчанию. Но ее также можно изменить. Для этого в “Таблице” выбрать “Ячейка” - “Ширина колонок”. В появившемся окне задать размер колонки и нажать “ОК”. Если выбрать “Авто”, тогда размер устанавливается на весь документ.

Автоматически изменится высота строки, если установить флажок “Автовысота строки”. Если флажок не установить, тогда в поле “Высота строк” задаётся фиксированный размер строки.

Для того, чтобы установить различную ширину колонок для различных строк, необходимо выделить одну или несколько строк документа.

Подведем мышкой к разделителю колонок и нажмем левую кнопку мыши. Не отпуская кнопку потянем столбец в нужную сторону (к примеру, влево) и отпустим кнопку. В появившемся окне нажмем на “ОК”.

Также можно управлять цветом текста, фона и рамок.


Как правило, табличный документ формируется на основе макета, который представляет собой шаблон для формирования печатной формы. В сам макет можно включить рисунки, диаграммы, а также сводные таблицы. На примере изображен макет для печати расходной накладной:


В одних ячейках содержится только текст, в других - имена параметров, которые необходимо указать в программном модуле через “Параметры” объекты “Табличный документ”.

Группировка строк в табличном документе

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

Также можно отобразить уровни группировки. При нажатии цифр в заголовке разворачиваются сразу все группировки. При применении группировки отступ уровней формируется автоматически:


Расшифровка табличного документа 1C

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

Существует два действия при расшифровке документа:

  • Стандартные - нажимаем мышкой на документ или элемент справочника, после чего система откроет этот объект для просмотра.
  • Нестандартные - зададим алгоритм получения детального отчета. Для этого необходимо переформировать существующий с использованием дополнительных условий отбора ("показать продажи только по этому контрагенту"). Или же,

При использовании расшифровки можно получить совершенно новый отчёт (например "показать расходные накладные, которые сделали вклад в объем продаж по данному контрагенту").

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

Как в 1С сохранить табличный документ

Для того, чтобы в дальнейшем можно было пользоваться табличным документом (открывать, просматривать, распечатывать) - необходимо его сохранить. Выберем раздел “Файл” и нажмем “Сохранить”. После этого на экране появится окно, в котором укажем каталог и имя файла. Если необходимо переименовать документ, либо сохранить его в другом формате - выберем раздел “Файл” и “Сохранить как”.

Как правило, документ сохраняется в том формате, которую использует система “1С:Предприятие” (*.mxl). При этом табличный документ может быть экспортирован в другие форматы хранения данных,в том числе в формат электронной таблицы ODF (*.ods), документ Word (*.docx), документ HTML (*.htm) или в текстовый файл UNICODE (*.txt). Вдобавок имеется возможность сохранить в 1С табличный документ в excel или в pdf.

Печать табличного документа в 1С

Для просмотра документ перед печатью, выберем раздел “Файл - Предварительный просмотр”. Для того, чтобы выйти из предварительного просмотра нажмем кнопку “Закрыть”.

В настройках страницы установим в 1С параметры печати табличного документа - масштаб, размер, границы и т.д. В табличном редакторе установим параметры размещения строк и столбцов. В “Положение на странице” принудительно установлено разбиение на страницы, повторение строк и столбцов и т.д.

Выведем документ на принтер нажав на раздел “Файл” - “Печать”. На странице появится окно с настройками, где нужно установить параметры печати - выбрать принтер, диапазон страниц и кол-во копий - и нажать “ОК”.

У Вас остались вопросы? Задавайте их в комментариях и мы
обязательно на них ответим.