Описание сетевой клиент-серверной программы "Экзамен ГАИ"

полный клон официальной сетевой экзаменационной программы ФИС-М ГИБДД МВД России

Для установки программы выполните следующее:

  1. Распакуйте архив ProtocolServerInstallNew.rar, скопированный с сайта Разработчика, в каком-нибудь временном каталоге на компьютере, который будет использован как серверный-протокольный (рабочее место экзаменатора)
  2. Выполните на нем распакованные файлы CRRedist2008_x86.msi - драйвер печати, ClientInstallNew.exe - установщих клиентской части, ServerInstallNew.exe - установщик серверной части, которые сами создадут папки ServerNew и ClientNew
  3. Каталог ClientNew вместе с содержимым растиражируйте на клиентских машинах (если это тонкие клиенты (коробочки), то порядок настройки показан ниже)
  4. Запустите на каждой клиентской машине программу ExamWpf.exe
  5. Программа актуальна на дату, указанную на заставке клиента и на сайте Разработчика http://www.exam-gibdd.ru

Настройка тонких клиентов

Если в качестве клиентских компьютеров используются виртуальные рабочие столы (тонкие клиенты), то настройка программы может быть выполнена так:

Способ 1.

  1. Запускаем N-Computing и отрываем вкладку Devices

  1. В таблице устройств открываем настройки каждого тонкого клиента по отдельности. Для этого дважды щелкаем левой кнопкой мыши на пиктограмме каждого клиента в первом столбце таблицы. В открывшемся диалоговом окне «Device Settings» активируем вкладку «Login» и в ней устанавливаем имя запускаемого клиента и путь к нему на сервере

  1. Применяем настройки, нажав кнопку «Apply», а на предложение перезагрузки текущего тонкого клиента отвечаем «Нет» и переходим к настройке следующего.

Способ 2.

Те же самые настройки можно выполнить индивидуально на каждом тонком клиенте. Для этого:

  1. При запуске (или перезапуске с помощью комбинации клавиш Alt-F4) тонкого клиента переходим в режим настроек
  2. В открывшемся диалоговом окне активируем вкладку «Login Settings» и в ней устанавливаем имя запускаемого клиента и путь к нему на сервере
  3. Сохраняем настройки нажатием кнопки «Save»

После выполнения указанных действий сервер нужно перезагрузить и донастроить клиентские части программы, установив в каждой из них значения в полях Port и IP-address равными серверной части, как сказано выше! Замечание: для тонких клиентов будет работать и установленный по умолчанию IP-address localhost=127.0.0.1

Эту сетевую программу можно устанавливать и настраивать, но до регистрации она будет работать с функциональными ограничениями доступа к данным. Для полной ее активации необходимо связаться с Разработчиком по адресу exam-gibdd@live.ru или по телефону 89135577153 в дневное время Красноярска (мск + 4 часа. Ночью не звонить!!!) и получить код доступа.

Содержание

  1. Клиентская часть
  2. Серверная часть
  3. Команды главного меню
  4. Раздел меню Файл
  5. Раздел меню Редакция
  6. Раздел меню Колонки
  7. Раздел меню Печатать
  8. Раздел меню Архив
  9. Раздел меню Настройки
  10. Раздел меню Справка
  11. Панель инструментов
  12. Сетка редактирования
  13. Заключение

Программа проведения теоретического экзамена ГИБДД построена как сетевая клиент-серверная и состоит из двух взаимосвязанных частей, находящихся в отношении 'один ко многим':

  1. Клиентская часть (программа ExamWpf) - устанавливается на многих компьютерах экзаменуемых и управляет ходом сдачи экзамена текущего клиента
  2. Серверная часть (программа ProtocolServer) - устанавливается на компьютере экзаменатора, запускается в единственном экземпляре и одновременно решает две задачи:

Обе части написаны на языке C# с использованием среды .NET Framework 3.5. Для функционирования клиентских частей необходимо, чтобы на одном из объединенных в локальную сеть компьютеров была запущена серверная часть программы.

Клиентская часть

Клиентская часть находится на стороне экзаменуемого. Она реализована по технологии WPF для более четкого отображения текста и графики. Клиентская часть запускается исполнимым файлом ExamWpf.exe и последовательно может находится в следующих состояниях:

  1. Начальная заставка - готовность к началу нового экзамена - нажимается клавиша Esc
  2. Запрос кода экзаменуемого для начала нового экзамена - в текстовое поле вводится цифровой код экзаменуемого из текущего протокола и нажимается клавиша Enter. Если такого кода в таблице сохраненного на диске протокола со списком экзаменуемых не существует, то запускается режим работы без протокола с категорией CD (или с категорией AB, если нажимается клавиша Enter с пустым кодом экзаменуемого)
  3. Краткая инструкция для экзаменуемого о порядке проведения экзамена - для продолжения нажимается клавиша Enter
  4. Экзамен - вводятся ответы цифровыми клавишами с подтверждением повторным нажатием той же клавиши с выбранным номером ответа
  5. Подведение итогов и просмотр ошибок - используются клавиши с изображениями стрелок, '+' или '-', а также клавиша Enter для вызова справки

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

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

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

где IP-address выбирается из списка, затем вставляется в поле кнопкой Insert, после чего редактируется напрямую с соблюдением установленного формата. Для тонких клиентов достаточно локального адреса 127.0.0.1, установленного по умолчанию.

В поле запроса кода экзаменуемого может вводится три варианта информации:

  1. Код экзаменуемого из загруженного на момент начала нового экзамена текущего протокола - запускается новый экзамен с настройками клиента, указанными в протоколе (если такой экзаменуемый в протоколе есть и ячейка ПДД рез. его строки пуста). Если ячейка ПДД рез. запрашиваемого клиента не пуста, или такого кода в текущем протоколе нет, то будет запущен тренировочный режим с категорией CD (в соответствии с вариантом 3)
  2. Пустое поле - запускается тренировочный режим экзамена с вопросами по категории AB
  3. Любой набор символов - запускается тренировочный режим экзамена с вопросами по категории CD

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

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

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

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

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

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

  1. Московский официальный интерфейс (включен по умолчанию)
  2. Альтернативный интерфейс

Для этого в серверной части нужно зайти в меню 'Настройки/Клиентские' и включить/отключить нужную радиокнопку из группы 'Московский интерфейс'

Вот пример окна московского интерфейса на клиентском компьютере:

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

Серверная часть

Эта часть программы представлена исполнимым файлом ProtocolServer, который одновременно управляет протоколом и обслуживает клиентские части, посылая соответствующие ответы на их запросы. Окно протокола построено по технологии Windows Forms и состоит из главного меню, контекстных меню (вызываемых щелчком правой кнопки мыши на интерактивной сущности), панели инструментов, рабочей области (сетки редактирования содержимого протокола).

Имя текущего открытого протокола отображается в заголовке окна (в данном случае: Test1).

Команды главного меню

Раздел меню Файл - содержит стандартные команды, необходимые для управления файлами протокола. Отдельные протоколы хранятся как файлы формата XML до момента передачи их в архив базы данных.

Файл/Новый - создает в оперативной памяти шаблон нового протокола для последующего заполнения. Если перед выполнением этой команды уже редактируется какой-либо протокол и он имеет несохраненные изменения, то выдается соответствующее диалоговое окно

Такой же режим загрузки нового протокола устанавливается после выполнения команд Архив/Отправить и Архив/Освободить.

Файл/Открыть... - создает стандартное диалоговое окно выбора и открытия существующего XML-файла в качестве текущего.

При несохраненных изменениях предыдущего протокола выдается предупреждение

Файл/Сохранить Ctrl+S - сохраняет изменения в именованном текущем протоколе. Быстрый вызов команды можно выполнить комбинацией клавиш (жестом) Ctrl+S. Если редактируемый протокол был без имени (Новый) и сохраняется первый раз, выдается соответствующее диалоговое окно записи

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

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

Команда Сохранить дублируется в панели инструментов соответствующей кнопкой

Файл/Сохранить Как... - открывает диалоговое окно Сохранить как и сохраняет протокол в указанном XML-файле.

Файл/Менеджер... - открывает диалоговое окно для работы с файлами типа *.xml, *.zpr, *.otv и другими. Окно имеет 4 вкладки:

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

Вкладка Сформировать ZPR позволяет выбрать протоколы для формирования из них файлов запросов к МРЦ, а также выполнить необходимые настройки:

После щелчка на кнопке Создать из выбранных протоколов формируются пачки файлов запросов (*.zpr) и одновременно вся необходимая информация помещается в локальную базу данных Data\Revision.mdb, которая впоследствии будет дополнена пришедшими из МРЦ ответами. Нестандартная информация, например ФИО из 4-х слов или с управляющим символом, не участвует в запросах, а помещается в журнал с именем !ErrorLog.zpr. Его необходимо просмотреть, запустив двойным щелчком мыши в правой части вкладки (он всегда будет стоять первым), и принять решение по проверке помещенных в него лиц ручным способом

Вкладка Распознать OTV позволяет извлечь информацию, полученную от МРЦ, и сохранить ее в локальной базе данных с именем Data\Revision.mdb для оперативной сверки со списками сдающих экзамен

Вкладка Очистить БД выдает список ранее сохраненных в локальной БД Data\Revision.mdb протоколов и позволяет удалять сведения по тем из них, которые уже не нужны, но отрицательно влияют на поддержания скорости, приемлемой для выполнения сверки

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

Файл/Утилита МРЦ - команда выполняет запуск внешней утилиты управления проверкой файлов запросов через систему МРЦ.

Сформированные файлы запросов готовы для помещения их в сетевую папку для проверки конвейером МРЦ. Чтобы автоматизировать дозированную подачу файлов МРЦ в сетевую папку и контролировать сам ход проверки, была разработана специальная утилита FileManager.exe, которая применяется совместно с протоколом и внешне выглядет так

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

Файл/Выход - завершает работу программы ProtocolServer. Если при попытке закрытия программы текущий протокол имел несохраненные изменения, то выдается предупреждение

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

Раздел меню Редакция - дублирует команды, вынесенные на панель инструментов: добавления, удаления, передвижения вверх и вниз по записям сетки.

Редакция/В начало, Редакция/В конец, Редакция/Предыдущий, Редакция/Следующий - передвигают курсор редактирования ячеек соответственно: на первую запись, на последнюю запись, на предыдущую, на последующую. Эти команды дублируются в панели управления кнопками навигатора

Редакция/Добавить - добавляет новую запись в конец таблицы протокола. Ее не надо путать с командой Файл/Добавить, которая вызывает диалоговое окно копирования файлов протоколов.

Если в панели инструментов для выпадающих списков

выбраны конкретные значения, то они автоматически будут присваиваться соответствующим ячейкам новой строки таблицы. Если категория не выбрана, то по умолчанию будет подставляться категория B как наиболее распространенная. Если не выбрана дата, то будет подставляться текущая дата, установленная на серверном компьютере. В любом случае, содержимое уже заполненных значениями ячеек (или пустых) для столбцов: Кат., Учебная орг., Итог, Дата можно быстро изменить, вызывая для них контекстное меню (правая кнопка мыши). Содержимое выпадающих списков и контекстных меню устанавливается в разделе Настройки главного меню программы. В строке со сданным экзаменом (поле ПДД рез. заполнено) категорию изменить нельзя, так как это не имеет смысла.

Команда Редакция/Добавить дублируется в нескольких местах и ее можно вызвать разными способами:

Редакция/Удалить - удаляет текущую (на которой выделено какое-нибудь поле) строку таблицы протокола. При удалении строки с пустым полем ФИО строка удаляется немедленно, если же поле ФИО заполнено, то выдается запрос на подтверждение

Команда дублируется соответствующей кнопкой в панели инструментов

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

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

Редакция/Отменить - отменяет все несохраненные изменения и восстанавливает значения данных таблицы до состояния, которое они имели перед последним сохранением протокола на диске.

Редакция/Результат - показывает таблицу результатов сдачи экзамена

текущего клиента, если таковые имеются в ячейке столбца Итог. Дублируется командой контекстного меню (щелчок правой кнопкой мыши) Таблица результата, вызванной для ячейки столбца ФИО

Скрывается таблица результатов нажатием клавиши Esc, Enter или системной кнопкой закрытия окна.

Раздел меню Колонки - управляет видимостью колонок в редактируемой таблице рабочей области.

Отмеченные флажками имена столбцов в меню Колонки видимы на экране и используются как заголовки этих столбцов. Этот раздел меню может применяться для управления обзорностью таблицы на экране, когда не все столбцы в данный момент нужны. Горизонтальная линейка прокрутки скролирует (перемещает по экрану) таблицу и позволяет увидить любой из включенных столбцов, однако столбцы и ФИО являются замороженными и в скролировании не участвует.

Раздел меню Печатать - содержит две группы команд:

  1. Печатать/Экзамен. лист - печать результатов (если они есть) выделенного экзаменуемого в таблицу экзаменационного листа. Номер заполняемой таблицы экзаменационного листа определяется значением поля ПДД кол.;
  2. Печатать/Общий отчет - печать открытого протокола в формате отчета

Каждая из упомянутых групп содержит команды:

  1. Просмотр... - для экранного просмотра печати в режиме WYSIWYG - "что видишь, то и получишь"
  2. Печатать... - для печати с предварительным открытием диалогового окна выбора и настройки принтера
  3. Печатать - для печати на принтер по умолчанию

Команда Печатать/Экзамен. лист/Печатать печатает результаты выделенного клиента (если они есть) в соответствующую таблицу листа и дублируется контекстным меню для ФИО или комбинацией клавиш (жестом) Ctrl-P

Для контроля при отправлении данных на печать выдается звуковой сигнал встроенного динамика сервера (если он есть).

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

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

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

Раздел меню Архив - содержит команды управления архивом и поиска в нем информации.

  1. Команда Архив/Отправить добавляет текущий протокол в архив, представленный файловой БД (базой данных) с именем EXAM_BASE.mdb типа Microsoft Access.
  2. Команда Архив/Загрузить переводит рабочую область в режим подключения к этой БД и позволяет выполнить в ней команды поиска и выборки интересующих данных.
  3. Команда Архив/Освободить производит отключение от БД архива и загрузку Нового протокола.
  4. Команда Сверить текущий дополняет текущий список найденными в архиве по ФИО лицами, упорядочивая их по полю Дата в убывающей последовательности.

При выполнении команды Архив/Отправить появляется окно с запросом подтверждения примерно такого вида

Утвердительный ответ копирует содержимое протокола в архивную базу данных EXAM_BASE.mdb, а сам XML-файл протокола перемещается в резервный каталог ARCHIVE (если при первом перемещении этот каталог отсутствовал, то он создается автоматически). Взамен отправленного в архив протокола создается новый текущий протокол.

При выполнении команды Архив/Загрузить компоновка панели инструментов динамически меняется и приобретает вид

В раскрывающемся списке реализованы (пока) две задачи:

  1. Поиск сдававших по введенным начальным буквам ФИО (для уменьшения размера выборки данных и увеличения скорости поиска в больших архивах (несколько десятков и сотен тысяч клиентов) нужно вводить не менее 3-х начальных символов).
  2. Выборка всех сдававших в конкретную дату.

После выбора первой задачи появляется текстовое поле запроса ФИО и кнопка Начать поиск. Ввод нужного запроса может дать примерно следующее

После выбора второй задачи получаем список сдававших в конкретный день, например такой

Следует иметь ввиду, что хотя все функции по редактированию содержимого выбранных из архива данных присутствуют, они не влияют на оригиналы в БД, но их можно изменить, распечатать или сохранить в другом XML-файле, а затем вновь добавить к архиву (но не заменить в нем ранее сохраненные данные).

При выполнении команды Архив/Сверить текущий каждая строка поля ФИО сравнивается с архивом и производится выборка всех записей с совпадающими именами. Найденные сведения группируются ниже исходных фамилий, упорядочиваются по времени сдачи экзамена в обратном порядке и отображаются в отдельном окне, например

Поиск в архиве выполняется на установленную глубину, которая регулируется в окне настроек, вызываемом командой Настройки/Архивные

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

В приведенном окне 'Настройка глубины поиска в архиве' верхняя группа регулирует режим автодополнения. Включение режима автодополнения ускоряет заполнение поля ФИО, в котором после нажатия очередной клавиши появляется список, совпадающий с уже набранными символами, например

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

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

Раздел меню Настройки - содержит команды, открывающие диалоговые окна для настройки программы ProtocolServer.

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

Настройки/Категории... - вызывает окно редактирования категорий, например

Настройки/Тип трансм... - вызывает окно редактирования марки ТС (тип трансмиссии), например

Введенные в этом окне значения типа трансмиссии (марки транспортного средства) появляются в списке контекстного меню при щелчке правой кнопкой мыши на столбце 'Тип трансм.'.

Настройки/Учебные орг... - вызывает окно редактирования учебных организаций, например

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

Настройки/Итог... - вызывает окно редактирования Итог, например

и применяется для заполнения ячеек одноименного столбца таблицы значениями контекстного меню.

Вторая группа команд раздела Настройки открывает диалоговые окна для прочих сервисных настроек протокола.

Настройки/Отчет... - открывает диалоговое окно с вкладками настроек печати отчета и экзаменационного листа

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

Радиокнопки в группе Междустрочный пробел позволяют регулировать разреженность строк в таблице отчета. Например, для значений 5 мм и 10 мм фрогмент печати строк таблицы будет такой

Для 5 мм  
     
Для 10 мм  

Настройки/Сетевые... - открывает диалоговое окно для установки IP-адреса сервера. Оно точно такое же, как и у клиентов, только у клиентов оно вызывается контекстным меню для оконного режима заставки (после нажатия клавиши F5). Окно может иметь такой вид

Непосвященному пользователю протокола следует воздерживаться от изменения настроек в этом окне, поскольку связь с клиентами при неправильном IP-адресе будет разорвана.

Настройки/Экранные - содержит подменю, имеющее две команды:

  1. Шрифт сетки...
  2. Интерлиньяж сетки...

Настройки/Экранные/Шрифт сетки... - открывает стандартное диалоговое окно выбора шрифта для экранного представления содержимого ячеек сетки

Для удобства, изменение размера шрифта дублируется соответствующими кнопками на панели инструментов

Настройки/Экранные/Интерлиньяж сетки... - команда вызывает диалоговое окно задания междустрочного расстояния содержимого экранного представления таблицы

На вывод протокола печати эта настройка не влияет.

Настройки/Клиентские... - команда открывает диалоговое окно, которое устанавливает следующие режимы работы:

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

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

Настройки/Архивные... - команда вызывает окно настроек глубины поиска в архиве для автодополнения и сверки текущего протокола.

Третья группа относится к настройкам механизма проверок по базам МРЦ (межрегиональный центр информационного обеспечения федеральной информационной системы ГИБДД) и состоит из команд, открывающих диалоговые окна:

Команда Настройки/Получатели открывает диалоговое окно для редактирования кодов получателей запросов

Команда Настройки/Атрибуты ЛИЦ открывает диалоговое окно, в котором можно отметить те атрибуты поиска, которые нужны для помещения в окно просмотра результатов поиска подсистемой 'Лица'

Команда Настройки/Атрибуты АДМ открывает диалоговое окно, в котором можно отметить те атрибуты поиска, которые нужны для помещения в окно просмотра результатов поиска подсистемой 'Адмпрактика'

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

Раздел меню Справка включает в себя три опции:

Для незарегистрированной у Разработчика копии программы ProtocolServer имеется еще один пункт в меню Справка, который называется Регистрация.

Он вызывает диалоговое окно регистрации, например, такое

Незарегистрированная копия программы оперирует ограниченным количеством экзаменационных задач и некоторые ее важные функциональные возможности отключены. Но это позволяет передавать программу автошколам как инструмент для заблаговременной подготовки и редактирования протоколов в электронном виде и пересылки их через Email в экзаменационные отделения ГИБДД (тем самым полностью исключается рутинная работа инспекторов).

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

Панель инструментов

На панель инструментов вынесены важные кнопки для оперативного управления протоколом

Кнопки Навигатора - позволяют передвигаться по записям таблицы, добавлять и удалять их

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

Кнопка с пиктограммой зеленой галочки запускает механизм сверки списка лиц протокола с БД Revision.mdb для поиска сохраненной информации проверки МРЦ. В результате выдается сообщение о результатах проверки и выделяются подчеркиванием имена нарушителей подсистемы 'Адмпрактика'. Если же обнаружены фамилии подсистемы 'Лица', то вся строка протокола зачеркивается красной линией, чтобы обратить внимание инспектора.

После обнаружения нарушителей можно посмотреть по ним собранную информацию. Для этого нужно щелкнуть на выделенном ФИО правой кнопкой мыши и выполнить команду 'Результат проверки МРЦ' контекстного меню. В результате появится окно по выделенному лицу, в котором одни и те же запрошенные подробности представлены двумя вкладками (то же и по подсистеме 'Лица'):

Атрибуты, которые высвечиваются в этих вкладках, устанавливаются в окнах меню:

Прочие инструменты:

Сетка редактирования

Для ускорения ввода информации в ячейки протокола удобно использовать контекстное меню, вызываемое щелчком правой кнопки мыши. Оно вызывается для столбцов:

Поля столбца Дата недоступны для прямого редактирования с клавиатуры, поскольку требуют соблюдения определенного формата.

Колонка ПДД рез. содержит резюме по результату сдачи ПДД. Если она заполнена, то блокирует повторный экзамен на клиентской стороне до тех пор, пока через контекстное меню этот результат не будет удален. Если в колонке Итог установлено значение ОТКАЗ (в любом регистре - строчные или заглавные символы), то сдача экзамена для данного кандидата в водители на любом клиентском компьютере будет заблокирована.

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

Если для строки сетки поле ПДД рез. заполнено, то просмотреть результаты сдававшего экзамен кандидата в водители можно командой контекстного меню 'Экран экзаменуемого', которая появляется при щелке правой кнопкой мыши на поле ФИО

Эта команда вызывает примерно такое окно

Команда 'Таблица результата' выдает результат экзамена в традиционном формате проверочной таблицы билетов на бумажных носителях

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

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

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

Напоминание о необходимости проверки кандидатом в водители своих персональных данных появляется на клиентских машинах вместе с инструкцией в верхней части экрана перед началом решения экзаменационного билета, если в меню 'Настройки/Клиентские' отключен московский интерфейс. Это будет, примерно, такое окно:

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

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

Заключение

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

Клиентская сторона будет работать в тренировочном режиме по категории AB, если при запуске экзамена Код экзаменуемого не вводить, и по категории CD, - если ввести любой символ (символы) в поле Код экзаменуемого на клиентском компьютере. Но в любом случае программа ProtocolServer должна быть запущена, поскольку именно она посылает клиентской стороне все вопросы экзамена.

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

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

Автор и разработчик программы: Снетков Владимир Михайлович

☎ 89135577153

 exam-gibdd@live.ru