Управление учебным процессом ВУЗа- Контроль исполнения регламентов  (раздел целиком)  (03.05.2024)
Контроль исполнения регламентов

В целях поддержания корректности и актуальности содержащихся в системе данных, в ВУЗЕ может быть быть разработан регламент работы пользователей по занесению и актуализации данных системы. Регламент представляет собой нормативный документ, определяющий основные виды работ с данными об учебном процессе, пользователя (или категорию пользователей), ответственного за их выполнение, сроки выполнения работ (бизнес - сроки) и сроки контроля, осуществляемого супервайзером (контрольные сроки). Регламент может включать в себя ряд условий по полноте и корректности данных, называемых элементами регламента.

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

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

  1. Формирование единого репозитария бизнес-правил обработки данных, составляющих регламент. Возможность добавления, изменения и / или отмены действующих правил.
  2. Информирование пользователей функциональных участков системы о бизнес-правилах работы с данными, составляющими действующий регламент.
  3. Предоставление пользователю - супервайзеру возможности получения информации об исполнении элементов регламента различными категориями пользователей.
  4. Предоставление пользователю - супервайзеру и пользователям функциональных участков системы информации об обнаруженных нарушениях действующего регламента, развитие средств поиска и устранения найденных отклонений.
  5. Предоставление возможности использования сценариев расчета контрольных соотношений и формирования протоколов проверки, разработанных на скриптовом языке JScript, интерпретируемом встроенными средствами ОС Windows.

1. Формирование контрольных соотношений

Формирование и редактирование контрольных соотношений может осуществлять пользователь-супервайзер системы, включенный в роль администраторов или бизнес-администраторов. Для работы с контрольными соотношениями предназначена форма Контрольные элементы регламента.

Контрольные элементы регламента

Для добавления нового контрольного соотношения в таблице данных необходимо вызвать действие Добавить контрольный элемент. Поля формы параметров добавления нужно заполнить следующим образом:

Добавление контрольного элемента регламента
  • В поле Краткое наименование необходимо ввести короткое (до 64 символов) уникальное наименование контрольного соотношения.
  • В поле Полное наименование необходимо ввести более развернутое (до 128 символов) наименование контрольного соотношения, которое увидит пользователь в форме просмотра результатов проверки.
  • В поле Нормативный документ нужно выбрать один из действующих нормативных документов ВУЗа, который устанавливает требование, проверяемое контрольным соотношением. Заполнение поля является необязательным.
  • В поле Комментарий можно ввести пояснение порядка расчета контрольного соотношения, которое увидит пользователь в форме просмотра результатов проверки.
  • Поле Позиция позволяет вводить числовые значения порядковых номеров контрольных соотношений, в соответствии с которыми пользователь увидит их в форме просмотра.
  • Значение, введенное поле Видимо пользователю позволит отображать или скрывать контрольные соотношения на форме просмотра.
  • Поля День месяца и Месяц позволяют задать день года, считающийся контрольным сроком для расчета данного контрольного соотношения. Задание даты подобным образом позволит проводить проверки соотношений ежегодно в заданный день.

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

Если необходимо изменить наименование контрольного соотношения, комментарий, позицию, или нормативный документ, это можно сделать стандартными средствами в таблице данных или в Инспекторе объектов. Также стандартными средствами можно изменить текст сценария расчета. Для изменения контрольной даты нужно воспользоваться специальным действием Изменить контрольную дату.

Изменение контрольной даты элемента регламента

2. Разработка сценариев расчета

Система поддерживает хранение и исполнений сценариев расчета для каждого элемента регламента, которые должны быть написаны на скриптовом языке JScript. Результатом выполнения сценария является одно из значений Истина, что означает, что регламент исполнен или Ложь, что означает, что регламент не исполнен. Также в ходе исполнения сценария расчета формируется протокол проверки контрольного соотношения. Результаты последней проверки сохраняются в системе и могут быть пересчитаны по команде пользователя.

Для решения специфических задач контроля исполнения регламентов система позволяет при разработке текста скрипта использовать следующие расширения пространства имен JScript:

  • CheckResult - результат проверки. При выходе из скрипта true свидетельствует об успешном прохождении проверки (результатом проверки будет значение "Регламент исполнен"), false - о неуспешной (результатом будет значение "Регламент не исполнен").
  • LogInfo - функция, принимающая один строковый аргумент. Переданная строка будет помещена в протокол проверки. При каждом вызове этой функции в сценарии расчета в протокол будет дописана одна строка. В строке можно использовать стандартные теги HTML, позволяющие оформлять выводимый текст.
  • CheckTime - функция возвращает 0, если контрольная дата элемента регламента уже прошла, 1 - если еще нет. Решение о продолжении проверки остается на усмотрение разработчика скрипта.
  • ReglamentItem - идентификатор элемента регламента, для которого производится проверка.
  • LearnPeriod - идентификатор учебного периода, для которого производится проверка (задается пользователем при открытии формы просмотра).
  • Faculty - идентификатор факультета, для которого производится проверка.
  • ContextObject контекстный объект, реализующий интерфейс IContext. Позволяет формировать и выполнять запросы в базе данных, получать значения свойств объектов системы. Подробно возможности данного интерфейса описаны в руководстве разработчика прикладных систем на платформе "Мельница данных" в разделе Интерфейсы взаимодействия с внешними подсистемами.

Пример скрипта сценария расчета контрольного соотношения:

01var LFacultyDesc = ContextObject.getDescription(Faculty);
02var LPeriodDesc = ContextObject.getDescription(LearnPeriod);
03
04function EnumChildren(ID)
05{
06  var LDataSet = ContextObject.createDataSet("TObject");
07  LDataSet.addQueryItem(0, "ID");
08  LDataSet.addQueryItem(1, "Parent", ID);
09  var LRes = ID;
10  while (!LDataSet.eof())
11  {
12     LRes = LRes + ";" + EnumChildren(LDataSet.Field("ID"));
13     LDataSet.next();
14  }
15  return(LRes);
16}
17
18CheckResult = true;
19
20var LPeriods = EnumChildren(LearnPeriod);
21
22LDataSet = ContextObject.createDataSet("TStudLearnPeriod");
23LDataSet.addQueryItem(0, "ID", "", 8);
24LDataSet.addQueryItem(1, "LearnPeriod", LPeriods);
25LDataSet.addQueryItem(1, "Faculty", Faculty);
26LDataSet.addQueryItem(1, "CurRatingPlace", "!*");
27LCount = LDataSet.Field("ID");
28
29LDataSet = ContextObject.createDataSet("TStudLearnPeriod");
30LDataSet.addQueryItem(0, "ID");
31LDataSet.addQueryItem(0, "Student");
32LDataSet.addQueryItem(0, "LastName");
33LDataSet.addQueryItem(0, "FirstName");
34LDataSet.addQueryItem(0, "MiddleName");
35LDataSet.addQueryItem(0, "Course$D");
36LDataSet.addQueryItem(1, "LearnPeriod", LPeriods);
37LDataSet.addQueryItem(1, "Faculty", Faculty);
38LDataSet.addQueryItem(1, "CurRatingPlace", "!*");
39
40ContextObject.processStart("Поиск студентов, не имеющих результатов текущего рейтинга в периоде " +
41  LPeriodDesc + ". " + LFacultyDesc + ".", LCount);
42while (!LDataSet.eof())
43{
44  CheckResult = false;
45
46  LogInfo("Студент " +
47    "<b>" + LDataSet.Field("LastName") + " " +
48    LDataSet.Field("FirstName") + " " +
49    LDataSet.Field("MiddleName") + "</b>" +
50    LDataSet.Field("Course$D") +
51    " не имеет места в текущем рейтинге.");
52  ContextObject.processStep();
53  LDataSet.next();
54}
55ContextObject.processStop();

3. Работа с интерактивной формой просмотра

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

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

Контроль исполнения регламентов. Форма просмотра.

При первом открытии формы все ячейки таблицы будут окрашены в желтый цвет, что означает, что проверка данного контрольного соотношения еще не производилась. Для того, чтобы вызвать пересчет контрольного соотношения, нужно кликнуть мышью на ссылке Пересчитать. Если сценарий расчета контрольного соотношения вернет значение Истина, то элемент регламента будет считаться исполненным, а ячейка таблицы окрасится в белый цвет. Если же сценарий расчета вернет значение Ложь, то элемент регламента будет считаться неисполненным, и ячейка таблицы окрасится в красный цвет. В этом случае можно будет просмотреть протокол проверки, кликнув на ссылку Показать протокол. Протокол будет сформирован в той же форме просмотра ниже таблицы.

Пример протокола проверки:

Пример протокола проверки регламента

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