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

Лабораторная работа № 8

Ориентировочная продолжительность занятия - 2 час 10 минут.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Что такое макет

Объект конфигурации Макет предназначен для хранения различных форм представления данных, различных данных, которые могут потребоваться каким-либо объектам конфигурации или всему прикладному решению в целом.
Макет может содержать табличный или текстовый документ, двоичные данные, HTML-документ или ActiveDocument, графи­ческую или географическую схему, схему компоновки данных или макет оформления схемы компоновки данных.
Макеты могут существовать как сами по себе, так и быть подчинены какому-либо объекту конфигурации.
Одно из предназначений макета, подчиненного объекту конфигу­рации и содержащего табличный документ, - создание печатной формы этого объекта. Создание печатной формы заключается в конструировании ее составных частей - именованных областей, из которых затем «собирается» готовая печатная форма.
Порядок заполнения областей данными и вывода их в итоговую форму описывается при помощи встроенного языка. Печатная форма может включать в себя различные графические объекты: картинки, OLE-объекты, диаграммы и т. д.
Помимо создания макета «вручную» конфигуратор предоставляет разработчику возможность воспользоваться специальным инстру­ментом - конструктором печати, который берет на себя боль­шинство рутинной работы по созданию макета.






Макет печатной формы

  • В режиме Конфигуратор

Откроем в конфигураторе окно редактирования объекта конфигу­рации Документ ОказаниеУслуги.
- На закладке Макеты: запустим конструктор печати.
- В окне конструктора печати документа на первом шаге укажем: «Создать новую команду», имя команды: «Печать».
-Нажмем «Далее» -
- На втором шаге нажатием кнопки >> определим, что все реквизиты нашего документа будут отображены в шапке печатной формы:

Рис. 8.1. Конструктор печати. Шаг 2

-Нажмем «Далее» -
- На третьем шаге точно так же определим, что все реквизиты табличной части документа будут отображены в печатной форме:

<="" p="">

Рис. 8.2. Конструктор печати. Шаг 3

-Нажмем «Далее» -
- Ha четвертом шаге и пятом шагах указывать ничего не будем. Тем самым согласимся с тем, что команда для вызова процедуры формирования печатной формы будет помещена в командную панель формы, в раздел Важное.
-Нажмем «ОК»-
В конфигураторе откроется модуль команды Печать, модуль менед­жера документа ОказаниеУслуги и макет этого документа:

Рис. 8.3. Макет документа "Оказание услуги"

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


  • В режиме 1с: Предприятие

Запустим 1С: Предприятие в режиме отладки и откроем документ Оказание услуги № 1.
Обратите внимание, что в командной панели документа появилась новая кнопка Печать. Нажмем на нее и увидим печатную форму нашего документа
Как видите, конструктор сформировал вполне подходящую печатную форму для нашего документа. Единственное, чего не хватает в данной форме, - это итоговой суммы документа.
В следующем разделе, на примере добавления итоговой суммы документа, мы познакомимся с тем, как можно редактировать макеты и формы объектов конфигурации.













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

  • В режиме Конфигуратор

- Добавим итоговую сумму в печатную форму документа ОказаниеУслуги:
1) Откроем конфигуратор, раскроем дерево документа ОказаниеУслуги и дважды щелкнем на макете Печать.
2) Добавим новую область для вывода итоговой суммы документа. Выделим мышью две пустые строки под табличной частью документа и выполним Таблица > Имена> Назначить имя...
3) Назовем область «Всего», нажмем «ОК».
Чтобы формат добавленных нами строк совпадал с имеющимся форматом заголовка и табличной части документа, изменим ширину колонок.
4) Аналогичные действия выполним и для колонок 3,4, 5 и 6.
5) В созданной области, в колонке Цена, напишем ВСЕГО:, а в колонке Сумма напишем ВсегоПоДокументу.
6) Вызвав палитру свойств для последней заполненной нами ячейки (контекстное меню - Свойства), в свойстве Заполнение укажем, что в этой ячейке будет нахо­диться не текст, а параметр.

 

Рис. 8.4. Свойства ячейки "ВсегоПоДокументу"


Каждая ячейка редактируемого нами табличного документа может содержать либо текст, либо некоторый параметр, либо шаблон.
Текст, содержащийся в ячейке, будет показан на экране.
Параметр будет заменен некоторым значением, которое может быть присвоено ему средствами встроенного языка. Текст, содержащийся в ячейке, является именем этого параметра.
Шаблон представляет собой текстовую строку, в определенные места которой будут вставлены значения параметров.
Поэтому, указав для ячейки в качестве заполнения Параметр, мы определили параметр области с именем ВсегоПоДокументу, которому присвоим нужное нам значение при формировании печатной формы.
- Откроем модуль менеджера документа ОказаниеУслуги:
1) Для этого перейдем на закладку Прочее окна редактирования объекта конфигурации Документ ОказаниеУслуги и нажмем кнопку Модуль менеджера

Рис.8.5. Документ ОказаниеУслуги

Найдем в нем процедуру Печать и отредактируем ее:

Листинг 8.1. Редактируем процедуру Печать

Смысл добавленного фрагмента прост. Мы обращаемся к макету документа ОказаниеУслуги по его имени - Макет. Используя его метод ПолучитьОбласть(), получаем область Всего (ту, которую мы только что добавили к макету) и сохраняем её в переменной ОбластьИтог. В цикле обхода строк табличной части документа, полученных в результате выполнения запроса, мы накапливаем в переменной СуммаИтог значение суммы табличной части документа по колонке Сумма.

Затем мы обращаемся к параметру ВсегоПоДокументу (ОбластьИтог.Параметры.ВсегоПоДокументу), находящемуся в области Всего, и присваиваем ему значение переменной СуммаИтог. В заключение мы выводим итоговую область в табличный документ, который будет показан на экране и распечатан пользователем - ТабДок.Вывести(ОбластьИтог).

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

  • В режиме 1С:Предприятие

 

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

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
















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

  • В режиме Конфигуратор

После того как мы вывели итоговую сумму по табличной части в печатную форму документа, возникло естественное желание видеть такую же итоговую сумму и в форме документа. Чтобы в процессе его создания можно было оперативно, не печатая документ, знать итоговую сумму по документу.
Для этого мы внесем небольшие изменения в форму документа ОказаниеУслуги.
Для редактирования формы документа откроем конфигуратор, раскроем дерево документа ОказаниеУслуги и дважды щелкнем на форме ФормаДокумента.
1) Дважды щелкнем на элементе ПереченьНоменклатуры и установим свойство Подвал, которое определяет наличие подвала у таблицы формы.
2) Затем откроем свойства элемента формы ПереченьНоменклатурыЦена и установим:

  • Текст подвала – Всего;
  • Горизонтальное положение в подвале – Право;
  • Свойство шрифт подвала изменим начертание на Жирный.

3) Откроем свойства элемента ПереченьНоменклатурыСумма, установим:

  • Горизонтальное положение в подвале - Право.
  • Свойство Шрифт подвала - Жирный.

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

Рис. 8.6. Свойства Поле

Рис. 8.7. Выбор объекта ИтогСумма

  • В режиме 1С:Предприятие

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






Контрольные вопросы

  • Для чего предназначен объект конфигурации Макет.
  • Что такое конструктор печати.
  • Как создать макет с помощью конструктора печати.
  • Как изменить табличный документ.
  • Какая разница в заполнении ячейки табличного документа текстом, параметром и шаблоном.
  • Как с помощью встроенного языка вывести в табличный документ новую область.
  • Как изменить внешний вид и поведение элемента формы.
  • Как отобразить сумму по колонке таблицы.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: