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




Цель: закрепление знаний и умений разработки документальных информационных систем средствами Lotus Domino Designer.

Постановка задачи: продолжить разработку автоматизированной системы голосования. Создать представление, в котором список документов в базе данных группировался бы по значениям таких категорий, как Страна и Город. При этом для полей Страна и Город можно было выбрать одно из уже введенных ранее значений или ввести новое.

 

Литература:

1. Кирклэнд, Р. Domino 5 & 6. Администрирование сервера [Текст]: пер. с англ. / Р. Кирклэнд. – М.: ДМК Пресс, 2003. – 824 с. – (Администрирование и защита).

2. Линд, Д. Lotus Notes и Domino 5/6. Энциклопедия программиста [Текст]: пер. с англ. / Д. Линд, С. Керн. – Киев: ТИД «ДС», 2003. – 1018 с.

 

Теоретический материал

Агенты – это логически выделенные фрагменты кода, которые могут запускать события, написанные на языке Lotus script, формулы, а также нажатие кнопок.

Агенты могут выполняться на сервере и на клиенте. На сервере код выполняется от имени пользователя, которым подписан агент. При выполнении на клиенте – от имени текущего пользователя.

Агент может быть запущен следующим образом:

Manually from action menu – агенты, которые запускаются из меню Действия (Action) на указанном множестве документов. Чтобы в таком агенте это множество получить обычно используется код вида:

Dim session as new NotesSession; создание новой сессии, из которой в дальнейшем можно получить доступ к текущим объектам
Set coll=session.currentDatabase.UnprocessedDocuments получение текущей базы и коллекции необработанных документов

 

Множество документов, которые будут для агента рассматриваться, как необработанные, задается второй опцией - Which documents should it act on.

«Manually from agent list» - такие агенты вызываются из кода кнопок, событий и пр. Они недоступны обычному пользователю из меню. Их можно получить по имени из объекта текущей базы, например:

Dim session as new NotesSession.

Set agent=session.currentDatabase.GetAgent("Ulialia")

Call agent.run или call agent.runOnServer

При запуске агенту можно передать документ, на котором он должен отработать, и делается это следующим образом:

Передается в качестве строки NoteID этого документа в базе, то есть call agent. runOnServer(doc.NoteID)/. В самом агенте переданный параметр и документ по параметру берутся так:

Dim session as new NotesSessiom

param=session.CurrentAgent.parameterDocID

set paramDoc=session.CurrentDatabase.GetDocumentbyID(param)

Before (After) new mail arrives - прямо перед и сразу после прихода почты в базу.

При создании нового или модификации существующего документа в базе.

3. При вставке документа в базу.

4. По расписанию - чаще раза в день, раз в день, раз в неделю, раз в месяц.

5. По расписанию - никогда - это агенты, которые вызываются из других агентов.

Приведенное разграничение весьма условно. Всегда можно вызвать правильно написанный агент методом Run или RunOnServer. Чтобы не запутаться во всем множестве видов запуска для себя стоит понять и запомнить что:

1. Все агенты можно запустить из скрипта и формул на клиенте или сервере, но надо всегда понимать текущий контекст запуска и как они в этом контексте будут работать.

2. Есть агенты по расписанию. Их надо использовать для выполнения периодических задач.

3. Есть агенты для работы с почтой.

4. Есть агенты, которые запускаются на Web.

5. Есть агенты, запускающиеся по событиям в базе.

Агенты из 3 и 4 пункта получают документ, с которым они работают через:

set doc=session.DocumentContext.

 

 

Методика выполнения лабораторной работы

 

1. Для создания нового агента выбирается объект базы данных из группы Shared Code / Agents / Create agent. Открывается окно свойств агента.

2. На первой вкладке вводится:

– имя;

– общедоступность или персональность агента (эта опция не может быть изменена в будущем при редактировании агента);

– способ запуска агента.

1. Множество документов, на которых запускается агент.

 

 

2. Код агента.

3. Есть ряд опций, которые отвечают за периодичность запуска, на каком сервере агент пускается, доступен ли он для публичных пользователей, сужает множество документов, на которых пускается агент и т.д. Эти опции регулируются кнопками Options, Schedule, Add Search.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: