Платформа 8.3.14.2095, тонкий клиент без асинхронного режима (т.е. web-клиент не поддерживается). Исходники в свободном доступе: https://github.com/unichkin/SelfControl. Замечания \ предложения прошу адресовать туда в виде issue. Здесь выложен лишь cf.
Сразу скажу, что разделяю сложившееся мнение о статусности сертификатов уровня "Проф". Обладание оным ничего не означает - подготовится простым прокликиванием элементарно. Но здесь рассуждаю не о том - хорошо это, или плохо.
Суть в том, что при подготовке к экзаменам на спеца от решения профа никуда не деться. И мне всегда были неудобны некоторые моменты:
- Нет сервиса, благодаря которому можно полностью прогнать раздел вопросов, или вообще весь сборник
- Несмотря на "прокликивание" многие вопросы из профа весьма интересны, и поддаются изучению. Есть такие, в которых даже после подробной проработки непонятно что же именно отвечать, но их все таки меньшинство. Так вот, та информация которая была найдена при решении остается лишь в голове, либо в каком-то файлике с кучей-малой из вопросов \ ответов и пояснений к ним. А спустя какое-то время это все легко забывается \ теряется - и не вспомнишь что и где находил.
Поэтому при подготовке к сдаче очередного профа я решил написать конфигурацию, решающую эти недочеты. Чтобы и после защиты я мог обратиться к произвольному вопросу - и увидеть в пояснении те материалы, которые помогли мне его проработать. Результат этой моей работы здесь и презентую.
Самый неудобный момент во всем этом - где доставать тексты вопросов. Фирма 1С запрещает передачу текстов в любом виде, это понятно. А для некоторых вопросников нет и электронных версий, которые можно было бы распарсить (как-раз мой случай). Поступил так: просканировал весь купленный сборник, и написал обработку "Парсинг вопросов", чтобы его загрузить. Далее прорабатывал каждый вопрос, после чего сверялся с ttps://dist.edu.1c.ru. В итоге у меня ушло не две недели на подготовку к профу, а более года (занимался в после-рабочее время + писал конфу). Но в результате я обрел не безликую желтую бумажку, а некоторый опыт и знания. Чего и всем желаю)
Сейчас при подготовке к спецу вдруг увидел новую область применения этой конфигурации - если надо заучить какую-то статью, вполне можно самому себе набросать список вопросов, по которому далее проверяться.
В конфигурации не используется никакая ролевая система, ее предназначение – накопление базы знаний для решения задач одним человеком.
Основная функциональность:
- Ввод вопросов с вариантами ответов, в т.ч. полуавтоматически с помощью обработки «Парсинг вопросов»
- Запуск сессий тестирования для группы вопросов
2.1.1 Форма списка
Является начальной формой при запуске конфигурации, основная работа сосредоточена вокруг нее. Позволяет запускать тестирование по текущей выделенной группе вопросов, быстро просматривать \ редактировать пояснение по вопросу, и понимать текущий статус вопроса – благодаря статусной иконке с легендой:
2.1.2 Форма группы
Применяется для классификации вопросов:
- по отношению к конкретному разделу тестирования
- для произвольной пользовательской классификации внутри раздела или самих разделов
Если группа является разделом, необходимо выставлять флаг «ЭтоГруппаТестов». Пример см .в сценарии.
2.1.3 Форма элемента
Содержит поля для ввода текста вопроса, вариантов ответа и пояснения. Обладает единственной настройкой – флагом «Запретить перемешивание», который необходим если в вопросе есть несколько правильных вариантов ответов, и их порядок важен. Используется при тестировании, если в обработке запуска тестов установлен флаг «Перемешивать варианты».
Предназначен для отбора вопросов по условиям, может быть настроен вручную. В основном создается в автоматическом режиме, при запуске сессии тестирования из формы списка вопросов. Используется в обработке «Запуск тестов».
Сущность предназначенная для хранения результатов ответов, восстановления прерванного тестирования - в т.ч. при перезапуске базы. Используется в обработке «Запуск тестов».
3.1 Обработка «Запуск тестов»
Предназначена для запуска тестов по выбранной группе вопросов, подробнее см. главу 4.4
3.2 Обработка «Парсинг вопросов»
Предназначена для загрузки списка вопросов из текстового формата, подробнее см. главу 4.3
Для того, чтобы сценарий был более полон предположим что нам предстоит вводить полный сборник вопросов. Так как разделов внутри сборника может быть несколько, в качестве первого элемента создадим группу обобщающую разделы:
При получении полного номера вопроса, эта группа не будет участвовать источником т.к. не установлен флаг «Это группа тестов». Группы без этого флага нужны либо для обобщения групп-разделов, либо какой-то классификации вопросов внутри раздела.
Теперь введем группу раздела:
Здесь выставляем флаг «Это группа тестов», для того чтобы при получении полного номера вопроса номер группы в этом участвовал. Таким образом вопросы этой группы будут нумероваться как 1.1, 1.2, 1.3 и т.д. А если бы этот флаг стоял в обобщающей группе, то нумерация была бы 1.1.1, 1.1.2,1.1.3 и т.д
Введем простой вопрос с перечислением непересекающихся вариантов (т.е. верный ответ состоит из одного варианта, а не нескольких):
Здесь нет смысла ставить флаг «Запретить перемешивание», т.к. вариант ответа один. Флаг предназначен для запрета перемешивания вопросов при их прогоне в запуске тестов. После ввода текста вопроса и ответов, добавим пояснение:
Нажмем кнопку , чтобы добавить источник:
Результат:
Отсутствие чек бокса «точки» может навести на мысль, что при тестировании можно выбирать несколько вариантов ответов среди предложенных. Однако это не так: вариант можно выбирать только один. Многовариантность задается лишь таким вариантом ответа, которые предлагает выбрать верные из предложенных. Поэтому здесь важен порядок вопросов, и необходим флаг запрета перемешивания.
Посмотрим на получившийся список:
По статусной иконке видно что для вопроса 1.2 не задано пояснение. Статусные иконки очень помогают при вводе вопросов: даже в простых случаях, когда раздел содержит 10-15 вопросов, неудобно открывать каждый чтобы проверить все-ли в порядке.
Посмотрим на вопрос 1 – вроде бы с ним все отлично, есть ответ, найден источник с понятным пояснением. Но выучен ли он? И выполнена ли проверка того, что указанный вариант действительно является верным? Если все так, стоит выделить этот вопрос отдельным статусом. Для этого откроем форму вопроса, и нажмем на кнопку «Проработан»:
Запишем вопрос, посмотрим на форму списка:
Два вопроса мы ввели вручную. Но как не продумывать интерактивный ввод – сам факт постоянного открытия формы достаточно неудобен. Гораздо лучше было бы подготовить список вопросов в неком текстовом файле, и загрузить. Конфигурация предоставляет такую возможность: в командной панели формы списка справочника «Вопросы» мы видим команду «Загрузить тесты»:
При нажатии на нее откроется обработка «Парсинг вопросов».
Выберем файл с вопросами, обработка сразу предложит сконвертировать его в дерево (формат файла с вопросами интуитивно понятен из скриншота, файл должен быть в кодировке UTF-8):
Нажмем «Да».
Обработка преобразует текст выбранного файла в дерево и предложит пройти проверку орфографии (проверка орфографии выполняется через сервис yandex.speller):
При нажатии «Да» будет запущена проверка текстов каждого вопроса. Прогресс в правом верхнем углу отображает текущий статус проверки. В данном примере были намеренно допущены ошибки, посмотрим на результат:
Как видим в вопросе допущены две ошибки, но сервис нашел только одну из них. Теперь надо убедиться что некорректное с т.ч. сервиса слово действительно ошибочно: бывают служебные слова \ аббревиатуры которые сервис может не понять. Например «ssms», «ragent.exe» и т.п. Чтобы при следующих проверках такие слова не считать ошибками можно сохранить исключение по кнопке, указанной на скриншоте.
Если же как в нашем случае слово действительно ошибочно, можно исправить текст вопроса в источнике (слева), затем сохранить (чтобы избежать повторных правок в будущем если будем снова работать с этим файлом), и снова преобразовать текст в дерево:
Результат видим на скриншоте ниже. Обработка также определяет необходимость установки флага «Запрет перемешивания», по ключевым словам типа «верны варианты», «наиболее подходящий вариант» и т.п.
Закладка на панели просмотра «Проверка дерева» предназначена для отладки ошибок нумерации. Посмотрим на текущее состояние:
Теперь осталось исправить оставшиеся ошибки в файле, выбрать группу-приемник вопросов, нажать на кнопку «Загрузить», и обработать вопросы после загрузки: проставить варианты ответов, пояснения и т.д.
Выделим нужную группу-раздел, и нажмем «Запустить тесты»:
Откроется панель тестирования:
- Интерактивный прогресс-бар – можно свободно переключаться между вопросами
- Рулетка вопросов – чтобы зафиксировать ответ, надо выбрать вариант и нажать «Проверить». Если ответ был верным – прогресс двинется на следующий вопрос, иначе – откроется просмотр пояснения:
- Представление вопроса, кнопка «Открыть вопрос», и статусная строка. Кнопка «Открыть вопрос» применяется, если были найдены ошибки в тексте вопроса при прогоне – для быстрой правки и перезагрузки вопроса.
Пройдем сессию до конца – при ответе на последний вопрос активируется страница «Настройки и результаты»:
Эта страница доступна в любой момент прохождения теста. Например если вдруг захотелось отвечать с перемешиванием вариантов ответов или самих вопросов. В отчете о результате тестирования красным цветом выделен текст вопросов с ошибкой ответа. Желтым – вопросов, перед ответами на которые было сперва просмотрено пояснение. Здесь же можно начать новую сессию – либо запустить с 0, либо использовать отбор по ошибкам, допущенным в текущей сессии.