Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по курсу ИС_итог 04.12.docx
Скачиваний:
47
Добавлен:
11.02.2016
Размер:
5.09 Mб
Скачать

@Unique(@dbcolumn("":"NoCache";@dbname;"(Страны)"; 1));

– для поля Город:

@unique(@dbcolumn("":"NoCache";@dbname;"(Города)"; 1)).

Рис.

Вопросы для отчета по теме

1. Каким образом в LotusNotesможно настроить разрешения доступа к представлению?

2. Перечислите основные возможности определения условий выборки документов из системы и отображения в представлении.

3. Что такое иерархическое представление?

4. Как определяется родительский документ и связанные с ним подчиненные документы?

5. Перечислите основные функции представлений.

Лабораторная работа №14

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

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

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

Литература:

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

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

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

Агенты – это логически выделенные фрагменты кода, которые могут запускать события, написанные на языке 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 - прямо перед и сразу после прихода почты в базу.

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

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

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

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

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

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

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

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

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

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

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

set doc=session.DocumentContext.