Вступительные испытания в 1С:Университет с использованием сканера штрихкода

Публикация № 1080767

Администрирование - Администрирование данных 1С - Обработка документов

обработка сканер штрихкод QR-код образование университет бпо оборудование впф MSWord word

1
Небольшая попытка автоматизации проведения вступительных испытаний, включающая в себя распечатку обезличенных заданий (печатная форма с QR-кодом) и объективное (беспристрастное) оценивание их выполнения. Подключение сканера на основе БПО с помощью драйвера "1С:Сканер штрихкода".

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

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

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

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

 

1 этап. Проведение вступительного испытания.

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

Что происходит внутри системы 

  1. Для указанного физического лица случайным образом выбирается один из вариантов. Каждый вариант хранится в макете, как файл MS Word.
  2. Формируется уникальный штрихкод, строковое значение которого выражается следующим образом:
    Штрихкод = GUID_ФизическоеЛицо + ";" + GUID_Допуск;
    
    Под допуском понимается документ «ДопускКВступительнымИспытаниям», на основе которого затем формируется Ведомость.
  3. QR-код в виде картинки формируется с помощью функции:
    МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода)
    и помещается в колонтитул каждого листа задания:
    ЗаменаКолонтитула.Range.InlineShapes.AddPicture(ИмяФайлаШтрихкода, False, True);
    
  4. После того, как пользователь нажал кнопку печати и открылся сформированный файл MS Word, вариант задания для конкретного человека считается распечатанным и появляется «галочка» в соответствующем столбце.

 

 

2 этап. Внесение результатов вступительных испытаний в систему.

После того, как работы были проверены (на листочках, как в старые «добрые» времена), их необходимо внести в систему 1С: Университет. Не забываем про объективность! Со стороны пользователя все максимально легко: он сканирует работу и в нужную ячейку вводит оценку.

Что происходит внутри системы.

    1. При открытии формы происходит подключение сканера средствами БПО.

 
 Про подключение расскажу чуть подробнее.

 

Выбор пал на Honeywell 1450g. Объяснять, почему именно 2D-сканер, думаю не надо. Подключение и тестирование провели через подсистему «Подключаемое оборудование», которую можно отыскать после установки «галочки» «Использовать подключаемое оборудование» (Сервис –> Общие настройки –> Вкладка «Администрирование»). Был использован драйвер "1С:Сканер штрихкода".

В модуле формы обработки был прописан следующий код:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ИспользоватьПодключаемоеОборудование = Истина;    
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	 МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено,ЭтаФорма, "СканерШтрихкода");    
КонецПроцедуры

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
	Если Источник="СканерШтрихкода" и Событие="ПолученШтрихкод" и СтрНайти(Данные, ";")>0 Тогда
		GUID_ФизЛицо = СтрРазделить(Данные, ";").Получить(0);
		GUID_Допуск = СтрРазделить(Данные, ";").Получить(1);
		НайтиВедомостьПоШтрихкодуДопуска(GUID_ФизЛицо, GUID_Допуск);
	КонецЕсли;
КонецПроцедуры

И всё бы хорошо, но прежде чем внешнее событие отработало так, как нам надо, выскочила ошибка:

{ОбщийМодуль.ВспомогательныеФункцииКлиент.Модуль(1036)}: Преобразование значения к типу Число не может быть выполнено

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

//ШтрихКод = Число(Прав(ТекКод, ДлинаШтрихкода));
//Ссылка = ВспомогательныеФункцииСервер.ПолучитьСсылкуПоШтрихКоду(ШтрихКод);
//Если Ссылка <> Неопределено Тогда
//	ИмяДокументаВМетаданных = ВспомогательныеФункцииСервер.ИмяМетаданныхПоСсылке(Ссылка);;
//	ПараметраФормы = Новый Структура("Ключ", Ссылка);
//	Форма = ПолучитьФорму(ИмяДокументаВМетаданных + ".ФормаОбъекта", ПараметраФормы);
//	Форма.Открыть();
//КонецЕсли;

Жизнь заиграла новыми красками, всё получилось. 

    2. При сканировании пользователем QR-кода срабатывает «ВнешнееСобытие» и полученные «Данные» в виде строки, разбираются через функцию "СтрРазделить"

    3. По разобранным GUID-ам запросом находится нужна ведомость по предмету и идентифицируется физическое лицо, у пользователя в таблице на форме появляется просто строка, предположим с номером по порядку.

    4. Пользователю остается только вбить оценку в соответствующую ячейку соответствующей строки и повторить описанные действия для следующих проверенных работ.

  5. По завершении формирования таблицы на форме обработки необходимо подтвердить введенные данные кнопкой «Заполнить ведомость», после чего отметки будут внесены в табличную часть «ДанныеПоАттестации» документа «Ведомость».

 

Статья не претендует на аплодисменты, но захотелось поделиться подобным опытом применения сканирования QR-кодов. 

Протестировано на 1С:Университет ПРОФ, редакция 2.1 (2.1.6.8).

Ниже представлен архив, который содержит обе обработки, код открыт.

1

Скачать файлы

Наименование Файл Версия Размер
Вступительные испытания в 1С:Университет с использованием сканера штрихкода:
.rar 42,80Kb
20.06.19
0
.rar 42,80Kb Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. VmvLer 21.06.19 13:24 Сейчас в теме
статья написана грамотно - лишней болтовни почти нет, почти все по делу и читается легко.

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