Тема
лабораторной работы №3: Проектирование и реализация функций обработки
документов (4 часа).
Цель
лабораторной работы: изучить функции
и формулы Lotus Script.
Теоретические
сведения:
Для автоматизации действий пользователей в Lotus Notes используются:
1.
Язык @-формул (см. LotusFormul.doc и [Lotus Domino Designer R5]);
2.
Язык Lotus Script (см. [Lotus Domino
Designer R5]).
Примеры использования @-формул:
1.
Сокрытие параграфов в режиме
чтения документа, содержащих не используемые поля.
2.
Создание кнопок типа hotspot для вызова
формы ввода данных типа адрес, ФИО, издательство и т.д. Заполненная
пользователем форма должна возвращать значение в сокращенном виде в некоторое
поле (например, Иванов И.И., г.Минск, ул.П.Бровки, 6). Использовать функцию
(@DialogBox).
3.
Контролировать ввод некорректных
данных с использованием функции @If.
4.
Создание кнопки для добавления
встроенных файлов (Attachments). Например, файлы документов типа анкета, отчет,
приказ и т.д. Пример использования функции @AttachmentNames, возвращающей имя приатаченного
файла:
@If(@AttachmentNames = "";
@Do(
@Command([EditGotoField];"Annotation");
@Command([FileImport]) ;
@Command([ViewRefreshFields])
);
@Prompt([Ok];"Ошибка";"В документ
может быть вложен только один файл.")
)
Для
автоматизации обработки коллекции документов используется Lotus Script.
Задание: Реализовать средствами Lotus
Script и @-формул функции
обработки документов в базе данных.
Индивидуальные задания:
- Вычисление
количества студентов в каждой группе и в каждой подгруппе. Вычислить
количество групп на специальности и на потоке. Сгенерировать номер для
новой группы. Реализовать функцию отчисления
студента, т.е. перевод его из вида учащихся студентов в вид отчисленных студентов
- Вычисление
стажа работы преподавателя. Вычислить количество лет, оставшихся до
пенсионного возраста (для мужчин – 60 лет, для женщин – 55 лет). В начале каждого месяца формирование вида/папки
по преподавателям, у которых день рождения в текущем месяце. Формирование
и рассылка поздравлений преподавателям в день рождения
- Вычисление
количества подразделений, находящихся в подчинении к указанному
подразделению. Структурные преобразования: перевод подразделения в
подчинение к другому подразделению, создание автономного подразделения из
подчиненного подразделения
- Вычисление
объема библиотечного фонда, т.е. общего количества экземпляров всех книг в
библиотеке. Формирование вида, в
котором отображаются читатели с просроченными книгами, на одну, две, три и
четыре недели после истечения срока сдачи книги. Срок сдачи книг
устанавливается для категории читателей (например, для студентов – начало
осеннего семестра)
- Вычисление
среднего балла студента, на основе его электронной зачетной книжки.
Вычисление количества экзаменов и зачетов, которые необходимо сдать в
ближайшей сессии. Вычислить количество экзаменов и зачетов, которые
студент уже сдал и количество, которые еще нужно сдать
- Вычисление
общей стоимости сборного оборудования по стоимости комплектующих его
материалов (например, сборным оборудованием является компьютер)
- Вычисление
количества заселенных комнат. Вычисление количества свободных мест в
общежитии. Реализовать функцию заселения и выселения студента из
общежития, т.е. должен существовать вид, куда переводятся студенты,
временно выселенные из общежития
- Вычисление
количества электроприборов в сети общежития. Сигнализировать о превышении
приборов в сети в зависимости от нагрузки, на которую рассчитана сеть.
Реализовать возможность регистрации заявок и жалоб и проверки сроков их
исполнения
- Вычисление
количества “форточек”. Поиск замен и переносов занятий в текущем
расписании
- Вычисление
общей стоимости установленного программного обеспечения в подразделении
университета с учетом количества рабочих мест. Стоимость рабочего места
задается пользователем
- Вычисление
количества курсовых проектов на одного преподавателя. Вычисление среднего
балла по курсовым проектам у конкретного преподавателя
- Вычисление
количества часов по всем лабораторным работам. Сигнализировать о
превышении или недоборе часов по сравнению с запланированным количеством
- Ежедневная
проверка дэдлайнов. Рассылка напоминаний и информационных писем участникам.
Должно быть отправлено три информационных письма. На каждого
зарегистрированного пользователя еженедельное напоминание о времени
проведения конференции
- Вычисление
общего балла, полученного абитуриентом на вступительных экзаменах.
Распределение абитуриентов по факультетам в зависимости от полученных
баллов с учетом приоритетов в зачислении (сначала зачисляются абитуриенты
с наивысшими баллами)
- Запрограммировать
цикл обработки документа. Например, черновик -> рассмотрение -> доработка
-> утверждение. Вычисление времени, оставшегося до окончания каждого
этапа и рассылка напоминаний