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

Лабораторная работа 8.2 справочники. Работа со справочником из встроенного языка

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

У данного объекта столько свойств, сколько справочников определено в конфигураторе. При обращении к данному свойству можно получить значение, имеющее тип СправочникМенеджер.ИмяСправочника (единственное число).

У данного объекта есть набор методов, позволяющих находить нужную запись, создавать новые, производить выборки и т.д.

Если выполнить метод Выбрать() объекта «СправочникМенеджер.Имя», то он вернет объект «СправочникВыборка.Имя» и т.д.

Важно помнить, что очень часто использование какого-либо метода приводит к тому, что он возвращает объект. Этот объект необходимо получить и продолжить работать (в нашем случае со справочником). Получая объект всегда необходимо знать его тип. Каждый из объектов обладает определенной специализацией

Например объект, имеющий тип «СправочникВыборка.Имя», позволяет работать с выборкой из справочника, и только на чтение. Объект с типом значения «СправочникОбъект.Имя» позволяет модифицировать «запись» справочника. Объект с типом значения «СправочникСсылка» позволяет работать с «записью» справочника на чтение и т.д.).

Рассмотрим прикладной пример: необходимо получить наименования из справочника «Номенклатура». Сделать это можно по разному. Например каждый из «промежуточных» объектов можно сохранять в какой-либо переменной:

СпркиМнр=Справочники;

СпркМнр= СпркиМнр.Номенклатура;

Выборка= СпркМнр.Выбрать();

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

Сообщить(Выборка.Наименование);

КонецЦикла;

Запись можно сократить заменив первые три строки одной, при этом получив:

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

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

Сообщить(Выборка.Наименование);

КонецЦикла;

1 – сразу получаем выборку справочника (объект имеющий тип значения «СправочникВыборка.Номенклатура»)

2 – перебираем элементы выборки (метод «Следующий()» возвращает истину в случае если позиционирование на следующей позиции выборки произошло успешно, ложь в противном случае). Важно понимать, что в цикле перебираются не элементы (группы) справочника, а «позиции» выборки. Для того чтобы получить из выборки ссылку на элемент (на чтение) необходимо воспользоваться свойством «Ссылка» объекта «СправочникВыборка.Номенклатура» (т.е. ЧтоТо=Выборка.Ссылка;), на модификацию (ЧтоТо=Выборка.ПолучитьОбъект();)

Если необходимо заменить все наименования справочника, то код будет выглядеть следующим образом:

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

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

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

НаИзменение.Наименование= «Новое»;

НаИзменение.Записать();

КонецЦикла

Формирование печатных форм

Для формирования печатных форм в системе используются два объекта: «Макет» и «Табличный документ». Следует отметить, что «Макет» является объектом метаданных, чаще всего содержащим внутри себя «Табличный документ».

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

Если тоже самое выразить в терминах 1С:Предприятия, то получится следующее.

Формирование печатной формы занимается процедура. В ней подключается «макет». Макет содержит набор «шаблонов» (именованных областей) в соответствии с которыми будет строиться печатная форма. Процедура создает табличный документ, далее начинает перебирать именованные области. При этом, взяв каждую, заполняет определенные в ней параметры. После этого именованная область с заполненными параметрами включается в табличный документ. По окончании процесса табличный документ отображается.

Схематично это можно выразить следующим образом:

  1. Более подробно будем знакомиться с процессом формирования печатных форм на примере печати справочника Номенклатуры.

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

Откройте страницу «Макеты» конструктора справочника «Номенклатура». Внизу формы необходимо нажать на кнопку «Конструкторы» и выбрать «Конструктор печати».

В открывшемся окне конструктора необходимо отметить, что создается новая процедура в модуле формы списка. Имя процедуры «Печать».

  1. После нажатия кнопки «Далее» потребуется определить состав выводимых на печать реквизитов справочника. В левом окне отображаются выбранные для печати реквизиты, в правом что можно выбрать. Выбор осуществляется либо двойным щелчком, либо с использованием кнопок - стрелок. Произведите перенос всех полей.

На третьей закладке конструктора необходимо проставить ряд полезных флажков:

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

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

  1. Д ля этого в диалог формы списка необходимо добавить командную панель (предварительно «освободив» для нее место). Это можно сделать либо с помощью кнопки нижней панели инструментов «командная панель», либо воспользовавшись разделом главного меню программы «Форма», пунктом «Вставить элемент управления».

Далее необходимо зайти в свойства командной панели (обратите внимание на рамку выделения элемента управления и на заголовок окна свойств, там должно быть «Свойства: Командная панель»).

Измените способ выравнивания кнопок в панели на «Справа». Далее откройте свойства «конструктора кнопки» . В свойствах в свойство «Действие» выберите «Закрыть».

В свойство отображение необходимо выбрать значение «Надпись и картинка».

Настроив таким образом свойства «конструктора» кнопки, вы создали кнопку в командной панели, которая будет закрывать данную форму списка.

Самостоятельно определите в командной панели кнопку, при нажатии на которую будет вызываться процедура созданная конструктором печати процедура печать (для этого в свойство «Действия» кнопки необходимо выбрать значение «Печать»)

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