Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABORATORNAYa_RABOTA_8_2.doc
Скачиваний:
1
Добавлен:
07.09.2019
Размер:
136.19 Кб
Скачать

4. В результате у Вас в пользовательском режиме (при заполненном справочнике «номенклатура») при нажатии на кнопку «Печать» будет формироваться печатная форма справочника.

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

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

Одним из других важных свойств у ячейки макета является свойство «Заполнение». Возможными значениями является:

  • Текст – в этом случае считается, что ячейка содержит текст, не подлежащий ни какой обработке

  • Параметр – в этом случае в ячейку записывается имя параметра (потом при получении именованной области этому параметру должно быть явно присвоено значение).

  • Шаблон – содержит конструкцию : текст [Имяпараметра1] текст [ИмяПараметра2]...

Кроме этого в ячейке (строке) можно определять так называемый «параметр расшифровки».

Если при «заполнении» именованной области в параметр расшифровки записать значение, имеющее тип «СправочникСсылка.Номенклатура», то если в сформированной в пользовательском режиме печатной форме выполнить двойной щелчок над данной ячейкой, то будет открыта форма соответствующего элемента (группы). Следует помнить, что в этом случае при формировании табличного документа свойства «Защита» должно быть выставлено в значение «Истина».

5. Рассмотрим текст, сформированной конструктором, процедуры.

Процедура Печать(Элемент)

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

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

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

ТабДок.Вывести(Секция); //4

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

ТабДок.Вывести(Секция); //6

Выборка = Справочники.Номенклатура.ВыбратьИерархически(); //7

Пока Выборка.Следующий() = Истина Цикл //8

Объект = Выборка.ПолучитьОбъект(); //9

Если Объект.ЭтоГруппа = Истина Тогда //10

Секция = Макет.ПолучитьОбласть("Группа"); //11

Секция.Параметры.Код = Объект.Код; //12

Секция.Параметры.Наименование =Объект.Наименование; //13

ТабДок.Вывести(Секция); //14

Иначе //15

Секция = Макет.ПолучитьОбласть("Элемент"); //16

Секция.Параметры.Код = Объект.Код; //17

Секция.Параметры.Наименование = Объект.Наименование; //18

Секция.Параметры.ПолноеНаименование = Объект.ПолноеНаименование; //19

Секция.Параметры.Артикул = Объект.Артикул; //20

ТабДок.Вывести(Секция); //21

КонецЕсли; //22

КонецЦикла; //23

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

ТабДок.Защита = Истина; //25

ТабДок.ТолькоПросмотр = Истина; //26

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

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

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

Приведем пояснения к тексту процедуры

1 – Создается новый табличный документ

2 – Получается макет «Печать»

3 – Из макета выбирается именованная область «Заголовок»

4 – Так как именованная область «Заголовок» не содержит ни каких параметров, то она сразу же включается в табличный документ

5 - Из макета выбирается именованная область «Шапка»

6 – Так как именованная область «Шапка» не содержит ни каких параметров, то она сразу же включается в табличный документ

7 – Получается выборка справочника «Номенклатура». Обратите внимание, что у объекта «СправочникМенеджер.Номенклатура» есть два метода выборки:

  • Выбрать() (получается выборка упорядоченная по представлению)

  • ВыбратьИерархически() (получается выборка упорядоченная по иерархии справочника)

8 – Организуется перебор полученной выборки

9 – С помощью метода выборки «ПолучитьОбъект()» получается значение, имеющее тип «СправочникОбъект.Номенклатура» (с помощью объекта данного вида можно производить модификацию записей справочника).

10 – Проверяем является ли текущий объект группой (проверка имеет смысл только для иерархических справочников с иерархией групп и элементов).

11 – В случае истинности условия из макета выбирается именованная область «Группа»

12 – Заполняется параметр «Код» именованной области. Следует обратить внимание на то, что параметр именованной области необходимо заполнять явно, в не зависимости от того, есть ли в контексте процедуры переменная с таким именем или нет.

13 – Заполняется параметр «Наименование» именованной области.

14 – Именованная область с заполненными параметрами включается в табличный документ.

15 - Определяется раздел, выполняющийся при ложности условия (10)

16 – В случае ложности условия из макета выбирается именованная область «Элемент»

17 – Заполняется параметр «Код» именованной области.

18 – Заполняется параметр «Наименование» именованной области.

19 – Заполняется параметр «ПолноеНаименование» именованной области.

20 – Заполняется параметр «Артикул» именованной области.

21 – Именованная область с заполненными параметрами включается в табличный документ.

22 – Заканчивается блок описания условия

23 – Заканчивается описание тела цикла

24 – У табличного документа отключается вывод сетки

25 – Включается защита ячеек

26 – Определяется свойство «Только просмотр»

27 – Отключается отображение заголовков

28 – Табличный документ отображается в виде отдельного окна.

6. Произведите создание макета для печати справочника Сотрудники.

На первом шаге создания макета установите следующие параметры:

На втором шаге перенесите все поля для вывода на печать.

На третьем шаге ничего менять не надо.

Затем нажмите кнопку Готово.

Программа автоматически создаст готовый макет и программный код в модуле формы ФормаСписка.

7. Вставьте на форму ФормаСписка новую командную панель и добавьте на нее кнопку Печать.

Для данной кнопки добавьте следующую процедуру:

8. Таким образом, в модуле формы ФормаСписка получаем следующий программный код:

9. Запустите систему в режиме 1С: Предприятие. Введите подразделения: Бухгалтерия, Маркетинг, Торговые представители, Управление, а затем произвольно добавьте по 1-2 записи в каждое подразделение. Проверьте работоспособность кнопки Печать.

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