> ## Documentation Index
> Fetch the complete documentation index at: https://faq.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Создание заданий

> Как создать задание в базе заданий: типы, содержание, правильные ответы, теги и сложность

## Что такое база заданий

«База заданий» — это общий банк заданий вашей школы. Один раз созданное задание хранится
в базе и может многократно подключаться к урокам, практикам и тестам без повторного набора.
Раздел доступен по адресу `/manage/tasks` и открывается пользователям с правами
`TaskView` или `TaskManage`.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/task-bank/tasks-list.png" alt="Список базы заданий с таблицей и фильтрами" />

На странице отображается таблица заданий со следующими колонками:

| Колонка           | Что показывает                                          |
| ----------------- | ------------------------------------------------------- |
| Заголовок вопроса | Название задания (`title`)                              |
| Тип ответа        | Формат ответа задания (`answerType`)                    |
| Сложность         | Уровень сложности (`complexity`)                        |
| Уроки             | В скольких уроках используется задание (`lessonsCount`) |
| Теги              | Привязанные теги задания                                |
| Добавил           | Автор и дата создания                                   |

<Note>
  Задания в базе имеют видимость на уровне организации (`TaskVisibility.Organization`) — они
  доступны внутри вашей школы. Список поддерживает поиск по вопросам и фильтры по типу ответа,
  сложности, курсу, уроку и тегам.
</Note>

## Открытие редактора

Чтобы добавить новое задание, нажмите кнопку **Добавить** в шапке раздела (требуется право
`TaskManage`). Откроется модальное окно редактора заданий (`manage-task-editor`).

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/task-bank/editor-type-grid.png" alt="Редактор задания с сеткой выбора типа" />

## Шаги создания задания

<Steps>
  <Step title="Выберите тип задания">
    Первым делом редактор предлагает выбрать тип ответа — сетку из десяти доступных форматов
    (блок «Выберите тип задания»). Тип определяет, как ученик будет отвечать и как задание
    проверяется.
  </Step>

  <Step title="Задание создаётся автоматически">
    Как только вы выбираете тип, задание создаётся в базе (`taskManageCreate`) и открывается
    конструктор содержания. Дальнейшие правки сохраняются автоматически — в правом верхнем углу
    редактора отображается индикатор сохранения (`SavingStatus`).
  </Step>

  <Step title="Заполните содержание и правильные ответы">
    В конструкторе (`TaskBuilder`) вы вводите формулировку вопроса, добавляете контентные блоки
    (текст, изображения, вложения и т. д.), задаёте варианты и отмечаете правильные ответы.
    При необходимости можно добавить блоки пояснения (`explanationBlocks`) — разбор, который
    ученик увидит после ответа.
  </Step>

  <Step title="Настройте теги и сложность">
    В блоке настроек укажите **теги** и **сложность** задания. Эти поля сохраняются кнопкой
    **Сохранить** (появляется при изменениях) и используются для фильтрации базы.
  </Step>
</Steps>

## Типы заданий

Тип задания (`TaskAnswerType`) выбирается один раз при создании и определяет формат ответа.
Доступны десять типов:

| Тип (код)                | Название              | Описание                                                                            |
| ------------------------ | --------------------- | ----------------------------------------------------------------------------------- |
| `Single`                 | Единичный выбор       | Задание с выбором одного верного варианта ответа                                    |
| `Multiple`               | Множественный выбор   | Задание с выбором нескольких верных вариантов ответа                                |
| `SingleWithAttachment`   | Единичный с вложением | Единичный выбор с возможностью прикрепления файлов в каждый вариант                 |
| `MultipleWithAttachment` | Множест. с вложением  | Множественный выбор с возможностью прикрепления файлов в каждый вариант             |
| `Boolean`                | Логический выбор      | Даётся утверждение, нужно определить, истинное оно или ложное                       |
| `Short`                  | Короткий ответ        | Ввод краткого ответа в виде текста                                                  |
| `Detailed`               | Развёрнутый ответ     | Развёрнутый текстовый ответ с возможностью прикрепления файлов                      |
| `FillSpaces`             | Заполнить пропуски    | Заполнение пропусков в тексте вводом или выбором из вариантов                       |
| `Arrange`                | Расставить слова      | Расстановка слов в правильном порядке перетаскиванием или последовательными кликами |
| `Mapping`                | Сопоставление         | Установление соответствия между элементами двух списков                             |

<Tip>
  Типы с автоматической проверкой (выбор вариантов, короткий ответ, сопоставление и т. п.)
  оцениваются системой сразу. Развёрнутый ответ (`Detailed`) отправляется на ручную проверку.
</Tip>

### Смена типа уже созданного задания

Тип можно изменить и после создания: в настройках задания нажмите **Заменить тип задания**
и выберите новый тип из компактной сетки.

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

## Сложность

У каждого задания есть уровень сложности (`TaskComplexity`), который выбирается в настройках
и используется для фильтрации базы:

| Код        | Значение      |
| ---------- | ------------- |
| `VeryLow`  | Очень низкая  |
| `Low`      | Низкая        |
| `Medium`   | Средняя       |
| `High`     | Высокая       |
| `VeryHigh` | Очень высокая |

## Теги

Теги помогают группировать и быстро находить задания в базе. В настройках задания начните
вводить название тега в поле **Теги**:

* если тег уже существует — выберите его из списка;
* если тега нет — в выпадающем списке появится пункт **Создать тег «...»**, который создаст
  новый тег (`taskTagManageCreate`) и сразу привяжет его к заданию.

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

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/task-bank/editor-tags.png" alt="Поле тегов с созданием нового тега" />

<Note>
  Управлять самими тегами (переименовать или удалить из школы) можно из панели фильтров списка
  базы заданий: в выпадающем списке тегов у каждого тега есть кнопки переименования
  (`taskTagManageUpdate`) и удаления (`taskTagManageDelete`).
</Note>

## Категории и предметы

Задание может относиться к предмету (`subject`) и предметной категории (`subjectCategory`).
Категории создаются на уровне организации (`subjectCategoryManageCreate`) и доступны как
критерий фильтрации базы заданий (по предметам и категориям).

<Note>
  На уровне данных у задания есть поля `subject` и `subjectCategory`, а список поддерживает
  фильтрацию по ним. Основные настройки, которые задаются прямо в редакторе задания, — это
  **теги** и **сложность**; привязка к предметной категории управляется отдельно.
</Note>
