Разработанная внешняя обработка позволяет по заданным темам, находящимся слева в форме, пройти тест. Можно проходить тест непоследовательно, правильные ответы не подсвечиваются (хотя, при необходимости это легко сделать), зато подсвечиваются серым уже отвеченные вопросы в тесте.
Кнопка «Теория» ведет на файл, ранее сохраненный в программе 1С: Документооборот с руководством пользователя. Вы можете легко поменять этот путь в коде обработки на файл с вашим руководством. Нажатие на знак «вопросика» в вопросе теста вызывает подсказку с объяснением правильного ответа. Тест по теме считается пройденным при 80% правильных ответов. Данная цифра задана в коде обработки, при необходимости, ее можно изменить.
Темы хранятся в справочнике ЗначенияСвойствОбъектовИерархия, т.е. они легко заводятся из режима 1С: Предприятия как доп. реквизит к какому-нибудь объекту с типом значения Дополнительное значение (иерархия). В принципе, при необходимости, можно легко создать свой справочник для хранения тем.
Для хранения ответов-вопросов-подсказок теста в разрезе тем в обработке используется макет («СписокВопросовИОтветов»), поэтому вы легко сможете изменить/заменить/добавить нужные вам темы, вопросы и ответы.
Данные о прохождении теста (кем, когда, что и с каким результатом) хранятся в регистре сведений «АттестацияПользователей» (непериодический и независимый) с измерениями Пользователь (тип- СправочникСсылка.Пользователи – стандартный справочник, ведущее измерение) и Тема (тип -СправочникСсылка.ЗначенияСвойствОбъектовИерархия), а также с ресурсами Зачет (тип - булево), ДатаПрохожденияТестирования (тип - Дата) и КоличествоПопыток (тип – Число, целое, неотрицательное).
Внешняя обработка открывается только в случае, если вам назначены темы для прохождения теста, т.е. в регистре сведений «АттестацияПользователей» добавлена следующая запись (обязательно с пустыми ресурсами).
При успешном прохождении теста (т.е. выполнении его на 80 % и выше) в регистр заносится информация о том, что тест пройден, чтобы он больше не открывался у пользователя, т.е. в ресурс Зачет ставится Истина, в Дату прохождения тестирования, соответственно, дата его прохождения. Кроме того, при каждой попытке прохождения теста (удачной или неудачной) в регистр в ресурс Количество попыток заносится информация о попытке.
Соответственно, чтобы воспользоваться обработкой необходимо в вашей конфигурации завести новый объект Регистр сведений «АттестацияПользователей» с описанными выше измерениями и ресурсами и назначить своему пользователю темы для обучения в регистре. Кроме того, в модуль менеджера добавленного регистра необходимо включить следующую функцию:
Процедура ЗаписатьАттестациюВРегистр(Пользователь, Тема, Зачет=Ложь, ДатаПрохожденияТестирования=Неопределено, ПрибавитьПопытку=Ложь) Экспорт
УстановитьПривилегированныйРежим(Истина);
Запись = РегистрыСведений.АттестацияПользователей.СоздатьМенеджерЗаписи();
Запись.Пользователь = Пользователь;
Запись.Тема = Тема;
Запись.Прочитать();
Если Запись.Выбран() и Запись.Зачет=Истина Тогда
//ничего не делаем, не перезаписываем успешный результат
Иначе
Запись.Пользователь = Пользователь;
Запись.Тема = Тема;
Запись.Зачет = Зачет;
Если ДатаПрохожденияТестирования<>Неопределено Тогда
Запись.ДатаПрохожденияТестирования=ДатаПрохожденияТестирования;
КонецЕсли;
Если Запись.Выбран() и ПрибавитьПопытку Тогда //т.е. не первый раз записываем в РС
Запись.КоличествоПопыток=Запись.КоличествоПопыток+1;
КонецЕсли;
Запись.Записать(Истина); //замещаем, если встречается такая же строчка
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
Обработка тестировалась в программе 1С: Документооборот редакция 2.1 (2.1.29.17) на платформе 1С:Предприятие 8.3 (8.3.16.1876). И, в принципе, должна без проблем функционировать в любых управляемых формах.
И помните: «Страшно – не знать, страшно – не хотеть знать!». Всем удачи! Обработку можно скачать за небольшой стартмани автору, он очень старался;)