Перейти к содержимому
Участник сообщества #29
Участник сообщества #29
23 февр. 2025 г., 18:08(изменён)
Решено
0
0

Изменение статуса плана обучения

Из чата сообщества

Всем привет! Может быть есть те, кто боролся со статусом плана обучения (education_plan) для того, чтобы state_id переходил в нужный статус по своему условию? Например, хочу я плану обучения дать статус "Пройден", если у меня в нём есть одна необязательная задача со статусом "В процессе" Выставляю статус "Пройден" плану обучения - сохраняю - план обучения переходит в статус "В процессе" Пишу агент - Ставлю state_id = 4 - Save, всё равно переходит в статус "В процессе" P.S. обновлять статусы и актвности, а так же даты - false

<update_status_and_activity>0</update_status_and_activity>
<strong_date_control>0</strong_date_control>

в планах адаптации с отключенной галкой обновления можно выставлять статусы по хотелке, а вот тут не получается никак статус поменять. Может где можно контроль такой строгий отключить или обойти его?

Участник сообщества
Участник сообщества23 февр. 2025 г., 19:21(изменён)
Решение

Решение нашёл. Оставлю здесь, возможно кому-то пригодится. в wtv для education_plan нашёл такие строчки:

  <calculate_state_id PROPERTY="1" EXPR="
    if( global_settings.settings.auto_select_status_edu_plan )

в общих настройках: Учебный центр - есть галка "Автоматический расчёт статуса в плане обучения" Отключаем, и можем менять статус в зависимости от своих условий

Участник сообщества
Участник сообщества23 февр. 2025 г., 18:46(изменён)

Флаг необязательности просто есть, он ни на что не влияет. Тут либо переписывать update_education_plan, либо при смене статуса чистить object_id и result_object_id на необязательных этапах

Участник сообщества
Участник сообщества23 февр. 2025 г., 19:26(изменён)

да, в обработчике вся нужная логика, тут решение для тех, кто прям под себя будет настраивать

Участник сообщества
Участник сообщества23 февр. 2025 г., 19:46(изменён)

для других планов обучения - да, не совсем хорошо. есть вариант разделить системные события на те, которые подходят под мою логику, и на остальные оставить стандартную обработку статусов с возможностью этим управлять. Тогда всё будет работать корректно менять xmd или update_education_plan выглядит тоже не очень

Участник сообщества
Участник сообщества23 февр. 2025 г., 19:48(изменён)

Эта штука вроде не работает, если в самой карточке нажимать кнопку обновить результаты плана. У нас так админы жмут и все статусы откатываются. Там в целом конечно всю логику надо переписывать. Очень сложный функционал с кучей багов.

Участник сообщества
Участник сообщества23 февр. 2025 г., 19:56(изменён)

У задач статус откатывается в "Назначен", у самой программы остаётся..

как будто и правда id задачи бы проверять как и required = false у задач, если false, почему вся программа ожидает прохождения этой задачи, не совсем понимаю

Участник сообщества
Участник сообщества23 февр. 2025 г., 19:56(изменён)

У задач статус откатывается в "Назначен", у самой программы остаётся..

Участник сообщества
Участник сообщества23 февр. 2025 г., 20:02(изменён)

Там не совсем такая логика, но суть в том что вызывается tools.update_education_plan, а он видимо очень давно не обновлялся и работает по очень странной логике. Например он не смотрит Id активности, и если в плане будет два одинаковых теста ( входное и выходное тестирование ), то второй всегда будет засчитываться по статусу первого. Если кратко, там надо все переписывать, прям совсем все, инструмент совсем не покрывает текущие реалии.

Участник сообщества
Участник сообщества23 февр. 2025 г., 20:04(изменён)

он вообще не все активности вроде бы видит, если один курс пройти, то он так и будет назначен, а второй засчитает тут без скриптов как будто нет большого смысла использовать этот функционал

Участник сообщества
Участник сообщества23 февр. 2025 г., 20:06(изменён)

это можно обойти, сделав копию теста и входной будет одним, а выходной - другим id и общую статистику в отчёте будет проще смотреть: как сдавали до и после

Чтобы ответить, необходимо войти в систему