88
В диалоге обработки прописан фактический алгоритм выполнения
тестирования пользователя при приеме на работу, реализованы различные
проверки на исчерпание лимита, как в указанной процедуре.
Процедура КонтрольВремени()
Если (Число(Лев(глВремяНаФорме, 2)) >=
Число(Лев(Константа.ВремяНаТест, 2))) И (Число(Прав(глВремяНаФорме, 2))
>= Число(Прав(Константа.ВремяНаТест, 2))) Тогда
Форма.ОбработкаОжидания("КонтрольВремени", 0);
Если ТекВопр > 1 Тогда
ДокРез.ВремяСдачи = глВремяНаФорме;
ДокРез.ЗакончилосьВремя = Перечисление.ДаНет.Да;
ДокРез.Процент = Окр(КолПрав/(ТекВопр-1)*100,1,1);
ДокРез.ТестОкончен = Перечисление.ДаНет.Да;
ДокРез.ТестСдан = Перечисление.ДаНет.Нет;
ДокРез.Записать();
ОткрытьФорму(ДокРез.ТекущийДокумент(),,1);
Предупреждение("Закончилось время отведенное на
тест!");
Иначе
Предупреждение("Закончилось время отведенное на
тест! |Вы не дали ответа ни на один вопрос! |Попробуйте начать тест сначала!");
КонецЕсли;
ФлОкончания = 1;
Форма.Закрыть();
КонецЕсли;
В данном диалоге формируется конечный результат тестирования,
фрагмент кода, которого представлен ниже.
ДокРез.Процент = Окр(КолПрав/КолВопр*100,1,1);
Если ДокРез.Процент >= Константа.ПроцентСдачи Тогда
ДокРез.ТестСдан = Перечисление.ДаНет.Да;
Предупреждение("Тест окончен! |Вы ответили
правильно на " + ДокРез.Процент + "% вопросов. |Поздравляю! Тест сдан!");