Основы формирования табличного документа на основе макета
Обычно табличный документ формируется на основе макета как из строительных блоков. Макет представляет собой шаблон для формирования печатной формы. Построение макета производится в конфигураторе в специальном табличном редакторе. Разработчик может создавать области, изменять высоту строк и ширину колонок, задавать форматирование ячеек и всего табличного документа, включать в макет рисунки, диаграммы и сводные таблицы.
Области макета предназначены для однократного или многократного вывода, например, ниже представлен макет для печати расходной накладной:
Некоторые ячейки содержат только текст, который должен быть выведен. Другие ячейки содержат имена параметров (в угловых скобках). Значения этих параметров должны указываться в программном модуле. В отличие от версии 7.7, в ячейку нельзя вписать выражение. В версии 8.0 весь программный код сосредоточен в программных модулях и при выводе секций нет связи с текущим контекстом программного модуля. Назначение параметров табличного документа должно производиться явно из программного модуля через коллекцию «Параметры» объекта «ТабличныйДокумент».
Область может состоять из нескольких расположенных подряд строк или колонок, либо быть прямоугольной областью таблицы. К области можно обратиться по имени или по координатам. Можно также обращаться к пересечению областей, используя вертикальную черту (как в версии 7.7).
Общая схема
Общая схема формирования печатной формы на основе макета:
Пример вывода табличного документа
Ниже приведен пример формирования печатной формы расходной накладной из модуля документа:
Процедура Печать(ТабДок) Экспорт
//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент ;
//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная. ПолучитьМакет («Основной»);
//получим область «Заголовок» как новый табличный документ (!)
Область = Макет. ПолучитьОбласть («Заголовок»);
//выведем заполненную область «Заголовок» в табличный документ
ТабДок. Вывести (Область);
//выведем область «Шапка» в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть(«Шапка»));
//получение области «Строка»
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть(«Строка»);
//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл
//заполнение параметров области из строки табличной части
Область.Параметры. Заполнить (СтрСостава);
//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);
//вывод области «Подвал»
Область = Макет.ПолучитьОбласть(«Подвал»);
Область.Параметры.ИтогоКоличество = Состав.Итог(«Количество»);
Область.Параметры.ИтогоСумма = Состав.Итог(«Сумма»);
ТабДок.Вывести(Область);
//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;
//покажем табличный документ на экране
ТабДок. Показать ();
Основные методы
Основные методы формирования итогового табличного документа следующие:
Примеры редактирования макетов печатных форм документов и отчетов в «1С:Зарплата и Управление Персоналом»
Время чтения: 5 мин.
Добавление в Т-1 строки «Основание» по шаблону: «личное заявление от »
1) Для начала посмотрим, как выглядит печатная форма до изменений. В меню Кадры выбираем раздел Приемы, переводы, увольнения.

Открываем документ с типом Прием на работу.

Формируем печатную форму Т-1 по кнопке Печать.

При выводе на печать поле Основание остается пустым.

2) Для заполнения по шаблону переходим в меню Администрирование, раздел Печатные формы, отчеты и обработки.

Открываем пункт Макеты печатных форм.

Выбираем из списка печатную форму Прием на работу (Т-1).

Открываем форму для просмотра и редактирования.

В поле Основание дописываем «личное заявление [Работник] от [ДатаПриема].

Для выбранной ячейки необходимо установить свойство Шаблон. Выделяем ячейку и по кнопке Еще открываем пункт Свойства.

Указываем заполнение макета – Шаблон.

У каждой ячейки печатной формы может быть три состояния, определяемые свойствами этой ячейки.
По свойствам значения ячейки бывают:
a. Просто текст, не содержащий в себе значений, которые нужно выводить из документа. Не меняется,
b. Параметр – выводятся из документа, каждый раз меняются, в зависимости от данных документа,
c. Шаблон – содержит в себе и текст, и параметры.
В печатной форме они обозначаются:
a. Текст не имеет обозначений,
c. [] – параметр, который используется в шаблоне.
В связи с этим, поля Работник и ДатаПриема выделены соответствующим обозначением. Это параметры (меняются в каждом документе), которые используются вместе с текстом (слова, которые не меняются для всех документов).
Сохраняем настройки и смотрим, как теперь выглядит печатная форма.

Необходимо скорректировать настройки вывода даты.

Открываем поле Формат. На вкладке Дата заполняем локальный формат даты (выбираем дату без времени) и проверяем пример.

Еще раз формируем печатную форму.

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

Статья подготовлена специалистами Компании «АНТ-ХИЛЛ»
При цитировании статей или заметок ссылка на сайт автора обязательна
Макеты в 1С 8.2 — это не сложно (Часть 1 — Создание макета)
Допустим, Вам необходимо вывести подобный отчет:
Для формирования данного отчета необходим один справочник «Сотрудники» с реквизитами «ДатаРождения», «Должность». Пусть фамилия, имя и отчество сотрудника хранятся вместе в одном поле по умолчанию – «Наименование». Для указания должности сотрудника существует другой простой справочник «Должности» с полями по умолчанию. Структура необходимых справочников приведена на рисунке ниже.
Теперь создадим новый отчет и назовем его «СписокСотрудников». Перейдем на вкладку «Макеты» и создадим новый макет типа «ТабличныйДокумент».
Перед нами откроется пустой табличный документ, готовый к работе. Теперь нам нужно представить необходимый отчет в виде макета.
Для этого сначала скопируем исходный отчет в чистый табличный документ, т.е. в макет отчета. Получится что-то вроде этого:
Приведем макет в порядок – сделаем выравнивание заголовков по центру, для таблицы зададим отображение границ и удалим из таблицы все данные, кроме первой записи. Она у нас будет для образца.
Разобьем готовый отчет на области следующим образом:
Для каждой области необходимо присвоить соответствующее имя, для этого необходимо выделить нужную область (в данном случае все области представляют собой группы строк) и нажать на кнопку с пиктограммой, или комбинацию клавиш Ctrl+Shift+N. В появившемся окне нужно вписать имя данной области. Назовем области так, как они указаны на рисунке.
Теперь те ячейки таблицы, в которых должны выводиться данные из информационной базы, необходимо обозначить как содержащие шаблон. Для этого выделяется это поле, и в контекстном меню (правая клавиша мыши) выбирается «Свойства». В выпадающем списке свойства ячейки «Заполнение» необходимо выбрать «Шаблон» (пример на рисунке ниже).
После этого если в тексте ячейки встретится выражение в квадратных скобках, то оно будет восприниматься системой 1С как параметр. Например, если текст ячейки следующий:
то для вывода текста «Меня зовут Иван» достаточно параметру «МоеИмя» присвоить значение «Иван».
В нашем случае шаблоном будет дата вывода отчета, а также все столбцы из строки, содержащей данные сотрудника. В итоге после всех манипуляций макет отчета будет выглядеть следующим образом:
На этом создание макета завершено. Теперь нужно программно сформировать отчет из сформированных областей и отобразить его.
Макеты печатных форм в 1С 8.3
Для того, чтобы распечатать сформированный документ в 1С, его необходимо преобразовать в печатную форму при помощи макета печатной формы. Такой шаблон формы для печати создается при помощи специального конструктора, который внешне схож с таблицей Excel.
Используя программу 1С в режиме управляемых форм, можно редактировать макет печатной формы и вносить изменения в печатную форму документа самостоятельно. Не изменения конфигурации программы пользователь имеет возможность менять внешний вид (линии таблиц, шрифт и т.д), вставить свой логотип и другое.
Подробнее разберем, что такое печатный макет в 1С, рассмотрим возможности изменения, просмотра и настроек, используем в качестве примера программу 1С:Бухгалтерия версии 3.0.
Как изменить макет печатной формы в 1С 8.3
В качестве примера создадим документ типа «Реализация (акт, накладная)» находящийся в меню «Продажи» и выстоим печатную форму для данной накладной.
Нам понадобилось внести изменения в печатную форму, а также в документ добавить логотип организации.
Организация вправе кроме обязательных реквизитов вносить изменения, при этом сохраняя утверждённый формат документа. Наличие логотипа не является обязательны реквизитом, однако организация может его добавить. Нажав кнопку «Печать», вы переходите в печатную форму, далее нажимает кнопку «Еще», там высвечиваются следующие пункты: «Перейти к макетам форм» и «Изменить макет».
Следующей командой выбираем «Перейти к макетам форм», там представлен весь перечень предлагаемых печатных форм, имеющихся в программе. Используя при помощи отбора пункт «стандартные макеты» (не имеют изменений) просмотр можно сделать более удобным.
Для того, чтобы документ можно было просмотреть и отредактировать необходимо нажать команду «Изменить макет». Далее на экране появится макет печатной формы, выбранный для редактирования. Видно, что большая часть полей формы имеет определенные команды, при использовании которых и происходит заполнение формы. Изменять имена областей и параметров нельзя, так как это может способствовать нарушению работы печатной формы.
Для изменения шрифта, определения линий границ таблицы, выравнивания текста и других изменений касаемо изменений внешнего вида используется панель инструментов, на работоспособность это не влияет. Работа с макетом печатной формы похожа на работу с таблицей Excel.
В случае если в печатной форме мешают линии их можно удалить, использовав кнопку «Границы» далее «Нет границы». Когда линии не мешают, они остаются без изменения, а рисунок расположится сверху.
Если требуется вставить картинку, для этого необходимо нажать кнопку «Еще» и выбрать команду «Картинки», которая находится в меню «Рисунок».
Далее в открывшимся окне необходимо нажать «Выбрать из файла» и выбираем нужный логотип.
Нужный рисунок разместился в форме. При помощи маркеров по краям рисунка, возможно увеличить или уменьшить его размер. В случае если что-то не получилось, действие можно изменить, для этого достаточно использовать комбинации Ctrl+Y – вернуть действие, Ctrl+Z – отменить действие.
Вставляется логотип в рамке. Далее правой кнопкой нажимаем на вставленный логотип и выбираем меню «Свойства».
В появившимся окне можно задать параметры объекта. Нам необходимо удалить рамку, для этого мы нажимаем «Стиль линии» далее «Без линии».
Размещение рисунка между двумя горизонтальными линиями красного цвета, является обязательным, не стоит об этом забывать. В противном случае его попросту не будет видно в форме. Что бы рисунок поместился, строки формы мы раздвинули. Далее нажимаем «Записать и закрыть» и оцениваем получившийся результат.
Проверили, логотип на месте.
Так у пользователя есть возможность вносить изменения в макеты печатных форм, не меняя при это конфигурацию.
После этого, если зайти в раздел «Перейти к макетам печатных форм», нажать кнопку «Еще», то можно увидеть, что возле измененного макета появился зелёный карандаш, что говорит о том, что макет является изменённым. В случае если пользователю понадобится восстановить исходный макет, то достаточно нажать кнопку «Использовать стандартный макет».
Цвет карандаша при этом изменится на черно-белый, а при печати форма документа будет стандартной.
В том случае, если изменения нужно удалить навсегда, то следует нажать на красный крестик. Появившийся ранее карандаш исчезнет, а все изменения макета будут удалены.
В макет печатной формы рисунок вставляется автоматически.
Шаблон и параметры макета
Таким образом пользователь самостоятельно способен добавить в макет какие-то значения для документа, при помощи параметров. Для того, чтобы удобнее было сориентироваться в параметрах, лучше просмотреть другие макеты документов. Например, для того чтобы в ячейку выводилась цена, артикул или товар, нужно просто указать необходимый параметр в ячейке.
Для просмотра настроек этой ячейки, необходимо нажать на нее правой кнопкой мыши и выбрать «Свойства».
На экране появилось окно, в котором видно, что значение ячейки — это параметр. Но задать можно не только параметры и текст, также в макете для ячейки возможно задать шаблон, в свойствах должно быть указано, что это именно шаблон. При использовании шаблона можно скомбинировать параметры и текстовые значения. Для это нужно в значении ячейки товара отметить, что это шаблон, а при выборе значения шаблона в поле «Текст» при указании параметра использовать квадратные скобки.
После сохранения макета, рядом появляется карандаш, который говорит о том, что макет изменялся.
Теперь проверяем сохраненный макет, открываем и видим, что в ячейке есть написанный текст.
Текст с форматированием в макете печатной формы добавляется таким же образом. Используя шаблон нельзя в одной ячейке применить сразу несколько вариантов форматирования, это значит, что оформление будет для всей ячейки.
Рассмотрев примеры видно, что при необходимости изменить макеты возможно. В случаях, требующих создания внешней или новой печатной формы, используется уже режим «Конфигуратор», в пользовательском же режиме доступны только не большие изменения.
Особенности использования механизма шаблонов в 1С:Предприятии 8 и отличия от версии 7.7
1. Хранение и подключение шаблонов
Если включить флажок «Использовать стандартные шаблоны», в список используемых файлов шаблонов при каждом запуске 1С:Предприятия будут автоматически добавляться файлы, находящиеся в каталоге с исполняемыми файлами 1С:Предприятия. В списке файлов шаблонов вновь добавленные файлы будут идти первыми. При этом удалить такие файлы из списка используемых файлов будет нельзя до тех пор, пока этот флажок включен. После отключения флажка «Использовать стандартные шаблоны», автоматически найденные файлы можно будет из списка удалить.
Каждый из файлов можно перемещать внутри списка файлов шаблонов, указывая, таким образом, его приоритет. Этот приоритет будет использоваться при формировании общего дерева шаблонов из всех подключенных файлов.
Файл шаблонов можно открыть в конфигураторе для просмотра и редактирования с помощью диалога открытия файла. Каждый файл шаблонов представляет собой информацию, организованную в виде дерева. Элемент дерева состоит из следующих полей:
Рассмотрим подробно назначение каждого элемента шаблона.
Название – хранит название элемента файла шаблонов, которое будет отображаться в дереве шаблонов в окне «Шаблоны текста» и при выборе шаблона из контекстного меню.
Включать в контекстное меню – определяет, нужно ли сделать шаблон доступным в контекстном меню текстового редактора.
Текст шаблона – текст, который будет вставлен в редактируемый документ при выполнении шаблона.
Если в системе подключены несколько файлов шаблонов, в окне «Шаблоны текста» будет отображаться единое дерево шаблонов, у которого корневой элемент отсутствует, а ветви дерева совпадают со структурой шаблонов в подключенных файлах. Порядок следования ветвей в корне дерева шаблонов определяется тем порядком, в котором расположены подключенные файлы шаблонов в списке используемых файлов шаблонов из диалога «Настройка шаблонов».
2. Использование шаблонов
В 1С:Предприятии 8 расширен набор вариантов выбора шаблона для вставки его содержимого в текст. Рассмотрим эти варианты:
1. Из окна «Шаблоны текста» с помощью мыши, перетаскивая выбранный шаблон в текст.
2. Из окна «Шаблоны текста» путем копирования в буфер обмена выбранного шаблона и вставки его в тексте.
3. С помощью контекстного меню текстового редактора. В него попадут те шаблоны, у которых отмечен флажок «Включать в контекстное меню».
4. С помощью механизма автозамены текстового редактора. Механизм автозамены должен быть активизирован с помощью настройки редактора текста (редактора модулей): нужно указать, что автозамена включена или включена с подсказкой. Это можно сделать так: «Сервис» – «Параметры» – Тексты» («Тексты модулей») – «Автозамена»: выбрать из списка «Включить» или «Включить с подсказкой». После нажатия клавиш Space или Enter система попытается подобрать шаблон по слову, стоящему слева от курсора.
5. С помощью команды «Подобрать шаблон…» (Ctrl + Q).
Если в процессе подбора шаблона их найдено несколько, появится список подобранных шаблонов. Из этого списка можно выбрать нужный шаблон.
Если в процессе работы возникает необходимость расширения состава поставляемых шаблонов или их изменения, рекомендуется скопировать файл GenTempl.st под новым именем, сделать его доступным для редактирования и внести в него необходимые изменения. Можно также для создания новых шаблонов создать новый файл шаблонов и подключить его. Шаблоны начнут использоваться только после того, как файлы шаблонов будут подключены.
4. Правила формирования строки автозамены
Как уже говорилось ранее, строка автозамены – это строка, по которой механизм автозамены будет подбирать подходящий шаблон. Простейшим случаем является пример, когда на клавиатуре в процессе редактирования текста набрано «Слово1», которое есть и в строке автозамены некоторого шаблона. В такой ситуации после активизации механизма автозамены любым из способов, набранное «Слово1» заменится на текст шаблона.
Однако это не всегда удобно. Так, например, если пользователь хочет заменить слово «Проц» на «Процедура…», то набрав на клавиатуре слово «Проце» и активизировав механизм автозамены, ничего не произойдет, поскольку в строках автозамены в шаблонах слова «Проце» обнаружено не будет.
Механизм шаблонов в 1С:Предприятии 8 предоставляет возможность сделать один шаблон, который будет описывать несколько строк автозамены:
| Строка автозамены | Текст шаблона |
|---|---|
| Проц | Процедура. |
| Проце | Процедура. |
| Процед | Процедура. |
| Процеду | Процедура. |
| Процедур | Процедура. |
| Процедура | Процедура. |
Это обеспечивается использованием постоянной и вариантной части строки автозамены. Постоянная часть– это то, что мы обычно привыкли писать в строке автозамены и рассматривали на примерах ранее. Вариантная часть – часть строки автозамены, которая может участвовать в строке автозамены любым подходящим количеством своих символов слева направо.
Запись строки автозамены с использованием постоянной и вариантной частей выглядит следующим образом:
Рассмотрим пример со словом «Процедура». Очевидно, что во всех строках автозамены строка «Проц» является постоянной частью строки автозамены, а текст правее – некоторой переменной частью, имеющей в каждом случае разное число символов. Решением для рассматриваемого примера будет один шаблон со строкой автозамены «проц[едур a ]».
5. Основные отличия от 1С:Предприятия 7.7:
1. Можно использовать несколько файлов шаблонов.
2. Подключение шаблонов осуществляется с помощью выбора соответствующих файлов шаблонов и подключения их список файлов. Порядок следования файлов в списке можно менять.
3. Дерево шаблонов отображается в отдельном окне «Шаблоны текста».
4. Расширился набор вариантов для выбора нужного шаблона.
5. Строка автозамены может иметь постоянную и вариантную части.
7. В шаблонах появилась возможность выбора из нескольких вариантов с помощью управляющей конструкции «Выбор варианта».






























