1C Программирование. Макеты

Практическая работа
Макеты. Редактирование макетов и форм


В этой практической работе Вы познакомитесь с новым объектом – Макет. Узнаете о его назначении и создадите макет документа, на основе которого будет создаваться печатная форма документа.

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

Создадим печатную форму документа ОказаниеУслуги. Откройте в конфигураторе окно редактирования объекта Документ ОказаниеУслуги. Перейдите на вкладку Макеты и запустите

конструктор печати.




























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




Откроется модуль команды Печать, модуль менеджера документа ОказаниеУслуги и макет этого документа.































Таким образом, конструктор создал:

Макет печатной формы документа ОказаниеУслуги с именем

Печать

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

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

Запустите 1С: Предприятие в режиме отладки и откройте документ Оказание услуги №1. Нажмите на появившуюся кнопку Печать.

Откроется печатная форма документа. Единственное, чего в ней не хватает – итоговой суммы документа.














































Редактирование макета

Вернитесь в конфигуратор. Добавим итоговую сумму в печатную форму.

Раскройте дерево документа ОказаниеУслуги и дважды щелкните на макете Печать (Если закрыли перед этим).

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

Добавим новую область для вывода итоговой суммы документа. Выделите мышью две пустые строки под табличной частью документа и выполните Таблица – Имена – Назначить имя. Назовите область Всего и нажмите ОК.


























Слева появилась новая область Всего. Но ширина области Всего не совпадает с остальными, изменим е. Выделите две строчки созданной области Всего, потяните мышью в заголовке таблицы за правую границу колонки 2 так, чтобы е ширина совпала с шириной колонки № в шапке документа. Согласитесь, когда платформа предложит создать новый формат строк. Теперь сделайте такое же изменение ширины для колонок 3,4, 5, 6, чтобы они соответствовали колонкам в шапке.

В созданной области во второй строчке колонки Цена напишите ВСЕГО:, а в колонке Сумма напишите ВсегоПоДокументу.




















Проконтролировать вид печатной формы можно с помощью кнопки предварительного просмотра .


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

Текст, содержащийся в ячейке, будет показан на экране.

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

Шаблон –
· текстовая строка, в определенные места которой будут вставлены значения параметров.

Откройте модуль менеджера документа

ОказаниеУслуги.

Для этого перейдите на закладку Прочее окна редактирования объекта

ОказаниеУслуги и нажмите кнопку Модуль менеджера (или закройте макет, менеджер должен быть открыт под ним).



Перед

Вами

часть
























процедуры печати, выделенные жирным строчки – новые.

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

Шапка = Макет.ПолучитьОбласть("Шапка");

ОбластьПереченьНоменклатурыШапка = Макет.ПолучитьОбласть("ПереченьНоменклатурыШапка");

ОбластьПереченьНоменклатуры = Макет.ПолучитьОбласть("ПереченьНоменклатуры");

ОбластьИтог = Макет.ПолучитьОбласть("Всего");

ТабДок.Очистить();



ВставлятьРазделительСтраниц = Ложь;

Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда

ТабДок.ВывестиГоризонтальныйРазделительСтраниц();

КонецЕсли;

ТабДок.Вывести(ОбластьЗаголовок);

Шапка.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Шапка, Выборка.Уровень());

ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка);

ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();

СуммаИтог = 0;

Пока ВыборкаПереченьНоменклатуры.Следующий() Цикл ОбластьПереченьНоменклатуры.Параметры.Заполнить(ВыборкаПереченьНоменклатуры);

ТабДок.Вывести(ОбластьПереченьНоменклатуры, ВыборкаПереченьНоменклатуры.Уровень());

СуммаИтог = СуммаИтог + ВыборкаПереченьНоменклатуры.Сумма;

КонецЦикла;

ОбластьИтог.Параметры.ВсегоПоДокументу = СуммаИтог;

ТабДок.Вывести(ОбластьИтог);

ВставлятьРазделительСтраниц = Истина;

КонецЦикла;


Запустите 1С: Предприятие и посмотрите форму печати документа

Оказание услуги №1.

















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


Редактирование формы

Вернитесь в конфигуратор. Удобно, если в процессе создания документа можно было оперативно, не печатая его, знать итоговую сумму по документу (как в Excel). Для этого внесем небольшие изменения в форму документа ОказаниеУслуги.

Откройте в дереве объектов форму документа ОказаниеУслуги, дважды щелкнув по ней. В левом верхнем окне вызовите свойства пункта

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
























Затем откройте свойства элемента формы

ПереченьНоменклатурыЦена и установите:

Текст подвала – Всего:

Горизонтальное положение – Право,

Шрифт подвала – Жирный.










































После этого откройте свойства элемента

ПереченьНоменклатурыСумма, установите: Горизонтальное положение – Право, Шрифт – жирный.

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





Нажмите ОК и запустите 1С: Предприятие в режиме отладки. Откройте документ Оказание услуги №1. Вы увидите, что по колонке Сумма в табличной части документа подсчитывается общий итог документа.
































































Контрольные вопросы
Для чего предназначен объект Макет

Что такое конструктор печати

Как создать макет с помощью конструктора печати

Как изменить макет документа

Какая разница в заполнении ячейки табличного документа между текстом, параметром и шаблоном

Как изменить внешний вид и поведение элемента формы

Как отобразить сумму по колонке таблицы





Рисунок 1

Приложенные файлы

  • doc Makety
    1С Программирование. Макеты
    Размер файла: 971 kB Загрузок: 2