Проектирование скрипта, формирующего отчет с информацией об объектах типа “Person” (Персона) выбранной оргМодели

Страницы работы

4 страницы (Word-файл)

Содержание работы

Лабораторная работа №22.

Проектирование скрипта отчета в ScriptWizard.

Цель: Создать скрипт, формирующий отчет с информацией об объектах типа “Person” (Персона) выбранной оргМодели.

Требования к отчету:

§  отчет должен формироваться для любой организационной диаграммы, которая содержит объект “Person”;

§  отчет должен выводится в табличном виде, в текстовом формате MS Word;

§  в отчете должна содержаться следующая информация: ФИО персоны, должность персоны, телефон и адрес электронной почты персоны.

Формирование скрипта с помощью ScriptWizard.

После вызова мастера скриптов в ДО “Script WizardSelect Basic Setting” нужно указать тип скрипта “Report” (Отчет). Далее следует указать ARIS-сущность, для которой создается скрипт. Наш скрипт создается для отчета по объекту “Person”. Следовательно, в качестве ARIS-сущности нужно выбрать “Object Report Script”. В поле “Script Name” (Имя скрипта) нужно ввести имя файла скрипта. После этих действий нажимаем кнопку “Далее”.

В ДО “Script WizardSelect Filter Settings and Output Format” из списка доступных типов объектов выбираем тип “Person”. В списке доступных форматов вывода нужно установить флажок напротив “Word Document (*.doc)” и снять флажок с остальных форматов.

Нажимаем кнопку “Далее”. Открывается следующее ДО “Script WizardDefine Basic Layout”. В этом ДО никаких изменений делать не будем, оставим стандартные настройки. После этих действий нажимаем кнопку “Далее” и переходим в ДО “Script WizardDefine Contents”, в котором и строится структура скрипта отчета. Так как в качестве ARIS-сущности, для которой создается отчет был выбран объект, то корневым элементом в структуре процедуры будет SelectedObjDefs. Этот элемент содержит список определений объекта “Person”.

Для того чтобы выводимые в отчете данные были помещены в таблицу нужно добавим к корневому элементу таблицу. Для этого в списке доступных методов корневого элемента находим элемент “Table” (Таблица), который формирует таблицу для отчета. При двойном щелчке на этом элементе открывается ДО “Table WizardSelect Number of Columns” (Мастер таблиц) (рис. 1), в текстовом поле которого нужно указать количество необходимых столбцов (от 2 до 20). В нашем случае необходимо четыре столбца. После этого нужно нажать кнопку “Далее”.

 

              Рис. 1

В следующем ДО “Table Wizard – Select Contents” (Мастер таблиц – ввод cодержимого) (рис. 2) необходимо ввести в поля таблицы те данные, которые будут отображаться в таблице результирующего файла.

Рис. 2

Таблица состоит из колонок с именами Column1, Column2, Column(3)… и двух полей с именами “Column Title” (Название колонки) и “Rows” (Ячейки).

В первой колонке в поле “Column Title” вписываем название колонки “Имя персоны”, а в поле “Rows” выбираем из списка метод Attribute. Во второй колонке в поле “Column Title” вписываем название колонки “Должность”, а в поле “Rows” выбираем из списка метод CxnListFilter – этот метод содержит список связей объекта отфильтрованных по заданным критериям. Остальные поля заполняются также, как показано на рис. 3.

Рис. 3

После того как все поля заполнены, (как на рис. 3), нажимаем кнопку “Готово” и попадаем в ДО  “Script WizardDefine Contents”. В его окне структуры скрипта видим следующее (рис. 4).

Рис. 4

Эта структура отражает шаблон, по которому создается таблица выходных данных. Теперь эту структуру необходимо наполнить данными, которые указаны в требованиях к отчету. Как видно из структуры таблицы она делится на элемент “Column Title” (Название колонки) и элемент “Column Contents” (Содержимое колонки), у которых есть свои подчиненные элементы и методы. Нам интересна колонка содержимого таблицы, которая состоит из четырех методов. Их и нужно наполнить необходимой информацией.

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

Следующий метод CxnListFilter является  списком, в котором содержится список всех связей объекта, как входящих так и выходящих. Нас интересуют только выходящие связи объекта, которые называются occupies (занимает), т.к. они указывают на объект Position (Должность). У метода CxnListFilter есть параметры, которые можно просмотреть в окне “Parameter of the Information” (Параметры и информация). В данном случае нас интересуют два параметра:

§  nCxnKind (номер класса связи) – позволяет установить какой класс связи будет отбираться в результате сортировки.

§  TypeNum (номер типа связи) – позволяет установить тип связи, по которому будет производится сортировка.

Параметру nCxnKind путем выбора из списка устанавливаем значение EDGES_OUT  (только выходные связи), а параметру TypeNum значение occupies (CT_OCCUPIES).

Следующим шагом добавим методу CxnListFilter метод TargetObjDef. Этот метод возвращает целевое представление объекта в виде объекта ObjDef, т.е. того объект, на который указывает связь. К методу TargetObjDef добавим метод Attribute (AT_NAME), т.к. нам нужно получить название объекта. К методу Attribute (AT_NAME) добавим процедуру GetValue для получения значения атрибута.

Далее встаем на третий метод Attribute (AT_NAME), который должен выводить номер телефона объекта Person. Для этого нужно изменить его параметры. Всего у метода Attribute два параметра:

§  AttrTypeNum (тип атрибута);

§  LocaleId (язык вывода).

Нам необходимо изменить параметр AttrTypeNum с AT_NAME на AT_PHONE_NUM, т.к. нам необходимо получить номер телефона объекта Person. Далее добавляем процедуру GetValue.  С последним методом нужно проделать те же действия, что и с предыдущим, но в качестве типа атрибута выбрать AT_EMAIL_ADDR.

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

Рис. 5

Для того чтобы имена персон выводились в алфавитном порядке необходимо встать на корневом элементе SelectedObjDefs, нажать кнопку Sorting и в качестве критерия сортировки установить сортировку по имени AT_NAME.

После запуска и выполнения скрипта должна получиться следующая таблица:

Имя персоны

Должность

Номер телефона

E-mail

Ильин В.П.

Руководитель обучаемых

раб. тел. (351) 265-17-75 сот. тел. (351) 231-05-62

V.P.Ilyin@chelindbank.ru

Мишин О.Н.

Заместитель руководителя обучаемых

раб. тел. (351) 265-17-50 fax: 7-3512-66-05-29

mishin@chelindbank.ru

Пудовкина С.Г.

Руководитель курсов

раб. тел. (235) 3-28-85 дом. тел. (235) 4-75-34

psg@etf.susu.miass.ru

Телегин А.И.

Лектор

Декан ЭТФ

Руководитель преподавателей

раб. тел. (235) 3-28-85 дом. тел. (235) 4-55-61

telegin@etf.susu.miass.ru

Похожие материалы

Информация о работе