Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет (2).docx
Скачиваний:
88
Добавлен:
29.03.2016
Размер:
3.98 Mб
Скачать
      1. Печатные формы

При создании печатных форм придется работать с такими объектами как макет и табличный документ. Суть алгоритма печати:

  • Макет содержит набор именованных областей.

  • В каждой именованной области определены элементы оформления и набор параметров, параметров расшифровки.

  • В процедуре, реализующей печать, первоначально создается «ТабличныйДокумент».

  • Из макета получается очередная именованная область.

  • Выбранные данные (которые хотим вывести на печать) записываются в параметры, параметры расшифровки области.

  • Заполненная данными область включается в табличный документ.

  • В конце алгоритма табличный документ открывается.

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

В окне объекта справочника «Номенклатура» на закладке «Макеты» по кнопке «Конструктор печати» откроем одноименный конструктор (Рисунок 2.32).

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

В открывшейся форме указываем, что создается новая команда. На этом же этапе можно переопределить имя создаваемой команды (Рисунок 2.33).

Рисунок 2.33. Команда «Печать».

На следующем этапе из реквизитов справочника выбирает те, которые хотим видеть в печатной форме (Рисунок 2.34).

Рисунок 2.34. Шапка документа

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

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

В результате работы конструктора у объекта конфигурации была создана команда «Печать». Ее свойства приведены на рисунке ниже (Рисунок 2.35):

Рисунок 2.35. Созданная команда «Печать».

В модуле команды получили следующий код:

&НаКлиенте

Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)

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

Печать(ТабДок, ПараметрКоманды);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}

КонецПроцедуры

&НаСервере

Процедура Печать(ТабДок, ПараметрКоманды)

Справочники.Номенклатура.Печать(ТабДок, ПараметрКоманды);

КонецПроцедуры

Более того, был создан макет «Печать».

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

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

//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)

Макет = Справочники.Номенклатура.ПолучитьМакет("Печать");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Номенклатура.Код,

| Номенклатура.Наименование,

| Номенклатура.ОснЕдиницаИзмерения,

| Номенклатура.ЦенаПродажи

|ИЗ

| Справочник.Номенклатура КАК Номенклатура

|ГДЕ

| Номенклатура.Ссылка В (&Ссылка)";

Запрос.Параметры.Вставить("Ссылка", Ссылка);

Выборка = Запрос.Выполнить().Выбрать();

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

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

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

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

Пока Выборка.Следующий() Цикл

Если ВставлятьРазделительСтраниц Тогда

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

КонецЕсли;

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

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

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

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

КонецЦикла;

//}}

КонецПроцедуры

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]