Печатная форма справочника
Практически всегда кроме электронных форм справочников при работе пользователям требуется и печатные варианты.
Для создания печатной формы необходимо перейти на закладку Макеты (Рис. 16).
Рис. 16. Закладка Макеты окна редактирования справочника
В нижней части окна расположена кнопка Конструкторы, которая открывает окно диалога Конструктор печати (Рис. 17).
Рис. 17. Окно конструктора печати
Следующее окно (Рис. 18) позволяет определить, какие реквизиты шапки необходимо расположить на печатной форме. Для этого нужно воспользоваться кнопками. Если необходимо удалить из области Реквизиты шапки какое-либо поле нужно воспользоваться двойным щелчком мыши по этому полю.
Рис. 18. Формирование реквизитов шапки для печатной формы справочника
После нажатия кнопки Далее открывается завершающее окно конструктора, где можно сделать установку для создания нового подменю в одной из групп командной панели, при нажатии на которую в режиме «1С: Предприятие» будет вызываться процедура формирования печатной формы справочника (Рис. 19).
Рис. 19. Завершающее окно конструктора печати
Если есть необходимость можно выбрать другую группу. После нажатия кнопки ОК открывается макет печатной формы, представляющий собой шаблон печатного документа, который будет создаваться системой при работе в режиме «1С: Предприятие» (Рис. 20). Макет печатной формы доступен для разработчика – его всегда можно открыть и посмотреть на закладке Макеты.
Рис. 20. Макет печатной формы
Печатные формы, как правило, содержат несколько различных областей – заголовочную область, таблицу, место для итоговых показателей и др. Макет представляет собой совокупность прямоугольных областей, каждая из которых служит для формирования какой-то части печатной формы. В конфигураторе определяется вид печатной формы, которую пользователь видит при работе в режиме «1С: Предприятие».
Печатная форма (вместе с электронной формой списка) в режиме «1С: Предприятие» (Рис. 21).
Рис. 21. Форма списка и печатная форма справочника
Задание для самостоятельного выполнения
Создайте печатную форму справочника Курсы, воспользовавшись приведенным выше примером.
Заполните и просмотрите печатную форму справочника Курсы в режиме «1С: Предприятие».
Внесение изменений в печатную форму
На Рис. 21 видно, что в поле Дата начала вместе с датой выводится еще и время. Для исправления этого недостатка необходимо в конфигураторе открыть макет печати и щелкнуть правой кнопкой мыши на параметре ДатаНачала. Из контекстного меню необходимо выбрать команду Свойства и установить необходимый формат даты (Рис. 22).
Рис. 22. Окно свойств ячейки макета
Для просмотра изменений необходимо перейти в режим «1С: Предприятие».
Задание для самостоятельного выполнения
В печатной форме справочника Курсы в ячейке Дата начала измените формат, используя приведенный выше пример.
На экранную форму списка справочника можно добавлять элементы управления. Для добавление нового элемента на управляемую форму необходимо добавить новый реквизит и перенести его в окно элементов (рис.23).
Рис. 23. Меню Форма
В свойствах нового элемента можно выбрать необходимый тип представления (например, Поле флажка) (Рис. 24).
Рис. 24. Диалоговое окно Вставка элемента управления
Чтобы элемент управления заработал необходимо подкорректировать процедуру печати, созданную конструктором. Изменения отражены в тексте листинга 1.
Листинг 1. Процедура печати справочника Курсы
(с отбором двухнедельных курсов)
&НаКлиенте Процедура ПечатьСОтбором(Команда) |
Начало процедуры |
ТабДок = Новый ТабличныйДокумент; |
ТабДок – переменная; Создание нового объекта ТабличныйДокумент |
ПечатьСОтборомНаСервере(ТабДок); |
Вызов серверной процедуры |
ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Ложь; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); |
Масштабирование, защита и вывод табличного документа |
КонецПроцедуры |
Конец процедуры |
|
|
&НаСервере Процедура ПечатьСОтборомНаСервере(ТабДок) |
Начало процедуры |
Макет = Справочники.Курсы.ПолучитьМакет("Печать"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Курсы.ДатаНачала, | Курсы.Код, | Курсы.Наименование, | Курсы.Преподаватель, | Курсы.Продолжительность, | Курсы.Стоимость |ИЗ | Справочник.Курсы КАК Курсы"
|
|
+ ?(КороткиеКурсы, "ГДЕ Курсы.Продолжительность = 2","");
|
Измененная часть листинга – оператор условия и отбора в запросе |
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка"); Элемент = Макет.ПолучитьОбласть("Элемент"); ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(Шапка);
Пока Выборка.Следующий() Цикл Элемент.Параметры.Заполнить(Выборка); ТабДок.Вывести(Элемент); КонецЦикла; |
|
КонецПроцедуры |
Завершение процедуры |
Для реквизита Продолжительность необходимо установить Индексировать для свойства Индексировать (Рис. 25).
Рис. 25. Окно свойств реквизита Продолжительность
Рис. 26. Печатная форма справочника с отражением только коротких курсов
Задание для самостоятельного выполнения
Создайте элемент управления флажок Короткие курсы, используя пример приведенный выше.
Создайте справочник Клиенты.
Добавьте реквизиты:
Адрес – для записи адреса клиента (тип данных – Строка длинной 50 символов);
Телефоны – для записи номеров телефонов клиентов (тип данных – Строка длинной 50 символов).
Создайте табличную часть справочника Клиенты с именем ИзучаемыеКурсы.
В созданной табличной части разместите два реквизита: Курс (тип данных – СправочникСсылка.Курсы) и СтатусУчащегося (тип данных – ПечислениеСсылка.Статус), для открытия соответствующего справочника Курсы и Статус.
Создайте пользовательскую форму справочника для этого сделайте следующие установки:
Во фрейме Основные формы щелкните по изображению лупы напротив надписи – Элементы;
В открывшемся диалоговом окне установите следующие флажки: Форма элемента справочника, Назначить форму основной.
Включите все созданные реквизиты в форму.
Перейдите в режим «1С: Предприятие» и внесите информацию об учащихся в созданный справочник.
Создайте печатный вариант формы элемента справочника.
В реквизиты шапки перенесите Наименование, Адрес и Телефоны, а в реквизиты табличной части – Курс и СтатусУчащегося.
Создайте кнопку Печать. Просмотрите программную процедуру на закладке Модуль формы элемента справочника. (Оператор цикла Для каждого предназначен для циклического обхода коллекции значений. При каждой итерации цикла возвращается новый (очередной) элемент коллекции. Цикл продолжается до окончания перебора всех элементов.)
Перейдите в режим «1С: Предприятие» и просмотрите печатную форму для нескольких клиентов.