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

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

  • автор:

Основы формирования табличного документа на основе макета

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

Области макета предназначены для однократного или многократного вывода, например, ниже представлен макет для печати расходной накладной:

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

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

Общая схема

Общая схема формирования печатной формы на основе макета:

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

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

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

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

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

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

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

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

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

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

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

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл

//заполнение параметров области из строки табличной части
Область.Параметры. Заполнить (СтрСостава);

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

КонецЦикла;

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

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

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

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

Основные методы формирования итогового табличного документа следующие:

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

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

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

Оформление ячеек

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

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

Начиная с версии 8.3.24 ячейки табличного документа могут содержать форматированные строки — строки, содержащие такое оформление как цвет текста, цвет фона, шрифт текста, картинки и гиперссылки:

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

Табличный документ позволяет оформлять ячейки рамками различного вида:

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

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

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

Группировки

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

Бывают горизонтальные и вертикальные группировки, причем у разработчика есть возможность управлять расположением итогов в группировке: для вертикальных группировок они могут быть расположены сверху или снизу, а для горизонтальных группировок — справа или слева.

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

Отступ уровней иерархии при использовании группировок формируется системой автоматически:

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

Расшифровки

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

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

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

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

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

Примечания

Разработчик имеет возможность задавать примечания для отдельных ячеек или групп ячеек документа. Ячейка с примечанием имеет маленький треугольник в правом верхнем углу. При наведении курсора на ячейку, примечание отображается во всплывающем окне. С помощью примечаний можно добавлять в табличные документы дополнительную (справочную) информацию, которая не отображается на экране (в обычном режиме), но может быть легко просмотрена, если подвести курсор мыши к нужной ячейке:

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

Ширина столбцов

Табличный документ поддерживает возможность задания различной ширины колонок для различных строк. Это возможность является весьма важной для регламентированных отчетов. Фактически в этом случае табличный документ будет представлять собой нескольких таблиц, что, например, часто встречается в бухгалтерской и налоговой отчетности:

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

Компактный документ

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

Ввод данных в табличный документ

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

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

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

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

Сохранение

Поскольку табличный документ, чаще всего, используется для формирования выходных документов, он может быть сохранен в файл на диске для последующего использования или переноса на другие компьютеры. Табличный документ может быть сохранен как в собственном формате, так и экспортирован в другие форматы хранения данных, в том числе в формат документов Microsoft Office (*.xlsx, *.docx), в формат электронной таблицы OpenDocument (*.ods) или в формат электронных документов Adobe (*.pdf):

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

Редактор табличного документа

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

1С 8.3 Табличный документ — Программист 1С Минск. Автоматизация бизнеса.

ПРИМЕРЫ КОДА 1С

Табличный документ в 1С 8.3 — это объект встроенного языка, который используется для создания печатных форм документов и отчетов. Является электронной таблицей, так как состоит из строк и столбцов и имеет функциональность, определенную следующими методами: ввод данных, группировка элементов, расшифровка, примечание в ячейках, оформление ячеек, форматирование, сохранение. Табличный документ использоваться как сам по себе, и может входить в состав любой из форм и служит для отображения информации.

Оглавление:

✔ Создание печатной формы из табличного документа

Создание печатной формы из табличного документа в 1С 8.3:

&НаКлиенте
Процедура СозданиеПечатнойФормыИзТабличногоДокумента ( Команда )

НастройкаКолонтитуловПечатнойФормы ( ФормаПечати );
НастройкаПараметровПечатиТабличногоДокумента ( ФормаПечати );

ФормаПечати . Показать ( «Отчет по долгам» );

// Сохранение «Отчета по долгам»
ФормаПечати . Записать ( «D:\Storage\data\ОтчетПоДолгам.xls» , ТипФайлаТабличногоДокумента . XLS );

// Печать «Отчета по долгам» сразу на принтер
ФормаПечати . Напечатать ( РежимИспользованияДиалогаПечати . НеИспользовать );

&НаСервере
Функция СозданиеПечатнойФормыИзТабличногоДокументаНаСервере ()

Макет = ЭтотОбъект . ПолучитьМакет ( «Макет_Табл» );

// Изменение табличного макета после его создания.
ПрограммноеИзменениеТабличногоДокумента ( Макет );

ФормаПечати = Новый ТабличныйДокумент ;

// Получение области и макета по имени
Шапка = Макет . ПолучитьОбласть ( «Шапка» );
// Заполнение параметров
Шапка . Параметры . Дата = ТекущаяДата ();
Шапка . Параметры . Номер = 2020 ;
// Вывод шапки в документ
ФормаПечати . Вывести ( Шапка );

// Заголовок табличной части.
ЗаголовокТ = Макет . ПолучитьОбласть ( «ТЧ_Заголовок» );
ФормаПечати . Вывести ( ЗаголовокТ );

ТЧ_Строка = Макет . ПолучитьОбласть ( «ТЧ_Строка» );
SSDIntelOptaneDC = Справочники . Номенклатура . НайтиПоНаименованию ( «SSD Intel Optane DC P4800X 1.5TB» );

// Группировка строк таблицы в сворачивающийся блок
ФормаПечати . НачатьГруппуСтрок ( «Номенклатура» , Истина);

Для Х = 1 По 100 Цикл
ТЧ_Строка . Параметры . Номенклатура = SSDIntelOptaneDC ;
ТЧ_Строка . Параметры . Количество = Х ;

// Параметр расшифровки «РасшифровкаНоменклатуры» — для открытия формы номенклатуры из макета по клику
ТЧ_Строка . Параметры . РасшифровкаНоменклатуры = SSDIntelOptaneDC ;
ФормаПечати . Вывести ( ТЧ_Строка );
КонецЦикла;

// Конец группировки
ФормаПечати . ЗакончитьГруппуСтрок ();

Редактор табличного документа

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

Редактор табличного документа

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

Общие свойства табличного документа

Редактор табличного документа

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

  • варианты отображения итогов при использовании в документе группировок строк и столбцов;
  • использование документа в качестве макета;
  • использование картинки в качестве фона для документа;
  • указание области документа, которая будет выводиться на печать;
  • задание цветового оформления документа;
  • указание строк и столбцов документа, которые будут печататься на каждом новом листе.

Именованные области

Реактор позволяет разработчику задавать имена областей документа. В качестве области может выступать ячейка или группа ячеек.

При именовании строк и столбцов документа, редактор может отображать имена областей в окне редактирования и выделять именованные области. Поддерживается многоуровневая вложенность именованных областей:

Редактор табличного документа

Примечания

Разработчик имеет возможность задавать примечания для отдельных ячеек или групп ячеек документа:

Редактор табличного документа

Группировки

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

Редактор табличного документа

Графические объекты

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

Редактор табличного документа

Кроме этого редактор поддерживает возможность группировки (разгруппировки) графических объектов и задания имен графических объектов.

Сводные таблицы

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

Редактор табличного документа

Использование OLE-объектов

Поддержка работы с OLE-объектами является универсальной возможностью, позволяющей внедрять в табличные документы объекты, созданные в других Windows-приложениях. Например, это может быть лист Word, рисунок CorelDraw или лист Excel. Использование механизма OLE позволяет редактировать внедренные объекты так, как будто разработчик находится в «родном» приложении, в котором создан внедренный объект:

Редактор табличного документа

Редактор табличного документа

Диаграммы

Редактор поддерживает использование в табличных документах специальных графических объектов 1С:Предприятия, таких как диаграмма, диаграмма Ганта и дендрограмма. Эти объекты позволяют представлять данные 1С:Предприятия в удобном графическом виде и могут быть доступны средствами встроенного языка:

Редактор табличного документа

Использование этих объектов позволяет улучшить оформление выходных документов и повысить наглядность отображаемой информации:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *