Раздел 'Выбор дисциплин' - интерфейс студента

2026-02-21
Личный кабинет
Личный кабинетСтудентыAPIИнтеграция

Техническое задание: Раздел "Выбор дисциплин"

Интерфейс студента

1. Назначение

Раздел "Выбор дисциплин" предназначен для предоставления студентам возможности просмотра доступных дисциплин по выбору из учебного плана и формирования индивидуального выбора дисциплин через веб-интерфейс ЛК с записью выбранных значений в учетную систему.

2. Область применения

  • Веб-интерфейс личного кабинета студента
  • Взаимодействие с бэкендом 1С:Университет ПРОФ через API
  • Формирование индивидуальной траектории обучения
  • Закрепление дисциплин по выбору за обучающимся

3. Функциональные возможности

3.1. Просмотр перечня дисциплин по выбору

  • Вывод списка групп дисциплин по выбору, сгруппированных по типу записи учебного плана
  • Отображение доступных дисциплин для выбора в рамках каждой группы
  • Отображение уже выбранных дисциплин с визуальным выделением
  • Фильтрация вывода по зачетной книге

3.2. Детальный выбор дисциплин

  • Открытие модального окна для выбора дисциплины из группы
  • Возможность выбора одной дисциплины из группы альтернативных
  • Возможность изменения ранее выбранной дисциплины
  • Визуальная индикация выбранных/невыбранных дисциплин

3.3. Визуальное оформление

  • Цветовая индикация строк с выбранными дисциплинами (зеленый цвет)
  • Отображение периода контроля (семестра) для групп дисциплин
  • Настройка информационных блоков перед/после таблиц через HTML-шаблоны

4. Функциональные требования

4.1. Перечень дисциплин по выбору

4.1.1. Отображение списка групп дисциплин

Описание: Студент должен иметь возможность просматривать доступные группы дисциплин по выбору с указанием периода контроля и возможности выбора.

API-метод: iStud_choiceDisciplines

Входные параметры:

ПараметрТипОписание
user_idЧислоИдентификатор пользователя (опционально)
ФизическоеЛицоСсылкаСсылка на физическое лицо (опционально)
НомерСтраницыЧислоНомер страницы пагинации
rootModel.recordBookListСсылкаФильтр по зачетной книге (опционально)

Бизнес-логика:

  • Определение физического лица по user_id или явному параметру
  • Получение актуальной зачетной книги и учебного плана студента
  • Фильтрация по зачетной книге при указании в rootModel
  • Выборка дисциплин по выбору из регистра ЗакреплениеДисциплинЗаОбучающимся
  • Группировка по ТипЗаписиУчебногоПлана
  • Определение актуального периода контроля для отображения кнопки выбора
  • Пагинация (60 записей на странице)

Структура ответа:

ПолеТипОписание
ТипЗаписиУчебногоПланаСтрокаКод типа записи (группировка)
ДисциплиныДляВыбораСтрокаПеречень дисциплин через "/"
ПериодКонтроляСсылкаПериод контроля (семестр)
ВыбранаБулевоПризнак наличия выбора в группе
ВыбраннаяДисциплинаСтрокаНаименование выбранной дисциплины
data.СтилиСтрокиСтрокаCSS-стиль для раскраски строки
data.commandМассивМассив команд (кнопка выбора)

Цветовая индикация:

  • Выбрана = Истина: background-color: MediumSpringGreen;

Кнопки действий:

  • Кнопка "Выбрать" (зеленая) - если период контроля будущий и дисциплина еще не выбрана
  • Кнопка "Изменить" (желтая) - если период контроля будущий и дисциплина уже выбрана
  • Отсутствие кнопки - если период контроля не актуален (прошедший)

4.2. Детальный выбор дисциплины

4.2.1. Получение списка дисциплин для выбора

Описание: При нажатии кнопки "Выбрать"/"Изменить" открывается модальное окно со списком дисциплин для выбора в рамках данной группы.

API-метод: getData_DetailChoiseDisciplines

Входные параметры:

ПараметрТипОписание
РегистраторДокументСсылкаДокумент-регистратор закрепления
ТипЗаписиУчебногоПланаСсылкаТип записи учебного плана
НомерСтраницыЧислоНомер страницы пагинации

Бизнес-логика:

  • Выборка дисциплин из регистра ЗакреплениеДисциплинЗаОбучающимся по регистратору и типу записи
  • Отображение признака "Выбрана" для каждой дисциплины
  • Формирование структуры для интерактивного выбора (чекбокс/радио)
  • Пагинация (60 записей на странице)

Структура ответа:

ПолеТипОписание
ТипЗаписиУчебногоПланаСтрокаКод типа записи
ДисциплинаСтрокаНаименование дисциплины
ВыбранаБулевоПризнак выбора
data.ПометкаБулевоТекущее состояние выбора
data.ГруппировкаСсылкаТип записи для группировки
data.РегистраторДокументСсылкаДокумент-регистратор
data.ДисциплинаСсылкаСсылка на дисциплину

4.2.2. Сохранение выбора дисциплины

Описание: Сохранение выбранной дисциплины с записью в документ-регистратор.

API-метод: post_ChoiseDiscipline

Входные параметры:

ПараметрТипОписание
ТаблицаДанныхМассивМассив структур с данными выбора

Структура элемента ТаблицаДанных:

ПолеТипОписание
ПометкаБулевоПризнак выбора
ГруппировкаСсылкаТип записи учебного плана
РегистраторДокументСсылкаДокумент-регистратор
ДисциплинаСсылкаСсылка на дисциплину
ТипЗаписиУчебногоПланаСсылкаТип записи учебного плана

Бизнес-логика:

  • Получение объекта документа-регистратора по ссылке
  • Поиск строк в табличной части "ВыбранныеДисциплины" по дисциплине и типу записи
  • Установка признака "Выбрана" в соответствии с Пометкой
  • Запись документа с проведением
  • Возврат действий: "ОбновитьУниверсальныйБлок", "ЗакрытьМодальноеОкно"

5. Ограничения и условия

5.1. Доступность выбора дисциплины

УсловиеДоступность
Период контроля будущийДоступен выбор/изменение
Период контроля текущий/прошедшийВыбор недоступен
Дисциплина уже выбранаДоступно изменение

5.2. Логика выбора

  • В рамках одного ТипЗаписиУчебногоПлана может быть выбрана только одна дисциплина
  • При выборе новой дисциплины в группе предыдущий выбор сбрасывается
  • Выбор сохраняется сразу при нажатии кнопки подтверждения

6. Структура данных 1С

6.1. Регистр сведений "ЗакреплениеДисциплинЗаОбучающимся"

Измерения:

ИзмерениеТипОписание
ФизическоеЛицоСправочникСсылка.ФизическиеЛицаФизическое лицо
ЗачетнаяКнигаСправочникСсылка.ЗачетныеКнигиЗачетная книга
ДисциплинаСправочникСсылка.ДисциплиныДисциплина
ТипЗаписиУчебногоПланаСправочникСсылкаТип записи учебного плана

Ресурсы:

РесурсТипОписание
ВыбранаБулевоПризнак выбора дисциплины
ДисциплинаПоВыборуБулевоПризнак дисциплины по выбору
УчебныйПланДокументСсылка.УчебныйПланУчебный план

Атрибуты:

АтрибутТипОписание
РегистраторДокументСсылкаДокумент-регистратор

6.2. Документ-регистратор (Закрепление дисциплин)

Табличная часть "ВыбранныеДисциплины":

РеквизитТипОписание
ДисциплинаСправочникСсылка.ДисциплиныДисциплина
ТипЗаписиУчебногоПланаСправочникСсылкаТип записи учебного плана
ДисциплинаПоВыборуБулевоПризнак дисциплины по выбору
ВыбранаБулевоПризнак выбора

6.3. Документ "УчебныйПлан"

Табличная часть "ЗаписиУчебногоПлана":

РеквизитТипОписание
ДисциплинаСправочникСсылка.ДисциплиныДисциплина
ПериодКонтроляСправочникСсылка.ПериодыКонтроляПериод контроля (семестр)
ТипЗаписиСправочникСсылкаТип записи учебного плана

7. Запросы данных

7.1. Запрос "СписокДисциплинДляВыбора"

Назначение: Получение списка дисциплин по выбору для физического лица и зачетной книги.

Параметры:

ПараметрТипОписание
ФизическоеЛицоСсылкаФизическое лицо студента
ЗачетнаяКнигаСсылкаЗачетная книга студента

Логика:

  • Выборка из регистра ЗакреплениеДисциплинЗаОбучающимся.СрезПоследних
  • Фильтрация по ФизЛицу, ЗачетнойКниге, ДисциплинаПоВыбору = ИСТИНА
  • Соединение с УчебныйПлан.ЗаписиУчебногоПлана для получения ПериодаКонтроля
  • Группировка по ТипЗаписиУчебногоПлана с итогами

7.2. Запрос "СписокДисциплинДляВыбораПоТипуЗаписи"

Назначение: Получение детального списка дисциплин для конкретного типа записи учебного плана.

Параметры:

ПараметрТипОписание
РегистраторДокументСсылкаДокумент-регистратор
ТипЗаписиУчебногоПланаСсылкаТип записи учебного плана

Логика:

  • Выборка из регистра ЗакреплениеДисциплинЗаОбучающимся.СрезПоследних
  • Фильтрация по Регистратору, ТипЗаписиУчебногоПлана, ДисциплинаПоВыбору = ИСТИНА

8. API-методы (справочник "ОбработчикЛичныхКабинетов")

ИмяHTTPМетодОписание
iStud_choiceDisciplinesGETВывод строк дисциплин по выбору
getData_DetailChoiseDisciplinesGETПолучить список дисциплин по выбору по коду
post_ChoiseDisciplinePOSTИзменить закрепление дисциплин

8.1. Обработчик "Вывод строк дисциплин по выбору"

Имя HTTP: iStud_choiceDisciplines

Родитель: Выбор дисциплин / !БИЗНЕС ЛОГИКА ЛК / ЛК студента

Параметры обработчика:

ПараметрИсточникОписание
ЗапросСписокДисциплинДляВыбораЗапрос данных
ТекстПередТаблицейВыборДисциплинТекстПередТаблицейHTML-шаблон перед таблицей
ТекстПослеТаблицыВыборДисциплинТекстПослеТаблицыHTML-шаблон после таблицы

8.2. Обработчик "Получить список дисциплин по выбору по коду"

Имя HTTP: getData_DetailChoiseDisciplines

Родитель: Выбор дисциплин / !БИЗНЕС ЛОГИКА ЛК / ЛК студента

Параметры обработчика:

ПараметрИсточникОписание
ЗапросСписокДисциплинДляВыбораПоТипуЗаписиЗапрос данных
ТекстПередТаблицейВыборДисциплинДеталиТекстПередТаблицейHTML-шаблон перед таблицей
ТекстПослеТаблицыВыборДисциплинДеталиТекстПослеТаблицыHTML-шаблон после таблицы

8.3. Обработчик "Изменить закрепление дисциплин"

Имя HTTP: post_ChoiseDiscipline

Родитель: Выбор дисциплин / !БИЗНЕС ЛОГИКА ЛК / ЛК студента

Возвращаемые действия:

ДействиеОписание
ОбновитьУниверсальныйБлокОбновление данных в родительском блоке
ЗакрытьМодальноеОкноЗакрытие модального окна после сохранения

9. HTML-шаблоны областей

9.1. Шаблоны перечня выбора дисциплин

КодНаименованиеОписание
000000041ВыборДисциплинТекстПередТаблицейШаблон перед таблицей перечня выбора дисциплин
000000042ВыборДисциплинТекстПослеТаблицыШаблон после таблицы перечня выбора дисциплин

9.2. Шаблоны детального выбора дисциплин

КодНаименованиеОписание
000000043ВыборДисциплинДеталиТекстПередТаблицейШаблон перед таблицей детального выбора
000000044ВыборДисциплинДеталиТекстПослеТаблицыШаблон после таблицы детального выбора

10. Требования к интерфейсу

10.1. Список групп дисциплин по выбору

  • Табличное представление с колонками:
    • Код (ТипЗаписиУчебногоПлана)
    • Дисциплины для выбора
    • Период контроля
    • Есть выбор
    • Выбранная дисциплина
  • Пагинация внизу таблицы
  • Цветовая индикация строк с выбранными дисциплинами (зеленый фон)
  • Кнопка действия в зависимости от статуса:
    • "Выбрать" (зеленая) - для будущего периода, дисциплина не выбрана
    • "Изменить" (желтая) - для будущего периода, дисциплина выбрана
    • Без кнопки - для прошедшего периода

10.2. Форма фильтров

Настройка формы: Справочник "Конструктор форм ЛК"

Имя формы: iStud_choiceDisciplinesForm

Доступный фильтр:

ПараметрОписание
Зачетная книгаФильтрация по зачетной книге студента

10.3. Модальное окно детального выбора

  • Заголовок с наименованием группы дисциплин
  • Таблица дисциплин с колонками:
    • Код (ТипЗаписиУчебногоПлана)
    • Дисциплина
    • Выбрана (чекбокс/радио)
  • Информационные блоки перед/после таблицы
  • Кнопка "Сохранить" / "Отмена"
  • Закрытие с обновлением родительского блока

11. Безопасность

  • Проверка прав пользователя на доступ к разделу
  • Аутентификация по user_id или ссылке на ФизическоеЛицо
  • Фильтрация данных только по физическому лицу текущего пользователя
  • Запись изменений только в документы, доступные пользователю

12. Интеграция

12.1. Взаимодействие с сайтом

  • Все данные передаются в формате JSON
  • Использование модальных окон для детального выбора
  • Обновление родительского блока после сохранения выбора

12.2. Справочники конфигурации

Для работы раздела используются следующие объекты конфигурации 1С:Университет ПРОФ:

Справочники:

  • ЗачетныеКниги - зачетные книги студентов
  • Дисциплины - дисциплины учебного плана
  • ПериодыКонтроля - периоды контроля (семестры)
  • ЛКHTMLШаблоныОбластей - HTML-шаблоны областей

Документы:

  • УчебныйПлан - учебные планы
  • Документ-регистратор закрепления дисциплин

Регистры сведений:

  • ЗакреплениеДисциплинЗаОбучающимся - закрепление дисциплин за обучающимся

Служебные модули:

  • ЛичныеКабинетыСлужебныеФункцииСервер - служебные функции ЛК
  • КабинетСтудентаБизнесЛогика - бизнес-логика кабинета студента

13. Расширение логики

  • Возможность настройки дополнительных фильтров через конструктор форм
  • Возможность кастомизации HTML-шаблонов информационных блоков
  • Возможность расширения набора команд для строки таблицы
  • Поддержка произвольных стилей для шапки и столбцов таблицы