НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2803] Рабочее место задач и внутренний API📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: Нет
Завершено: 07.09.2026 08:35
Цель Создать рабочий пользовательский контур модуля Tasks: списки задач, карточку задачи, запуск доступных действий, формы создания/изменения, базовые массовые операции, канонические ссылки и внутренний API для прикладных модулей ИРБИС 128.
Контекст
Tasks должен давать пользователю понятное рабочее место для ежедневной обработки задач, но не должен превращаться в частную реализацию workflowстраниц, фильтров, экранов, прав и событийной доставки. Списки и карточки строятся через WorkflowView и WorkflowFilter, формы - через WorkflowScreen/ws и he3 там, где he3 допустим для сотрудника, доступность действий - через WorkflowTransition, права - через Security, события - через EventBus. Tasks в этой задаче владеет taskspecific UI/API, текстами, маршрутами входа в модуль, DTO задачи, обработкой доменных ошибок и правилами потребления внешних контрактов.
Что Нужно Сделать
Сделать основной экран рабочего места Tasks без информационной посадочной страницы: пользователь должен сразу видеть рабочий список, счетчики или dashboard-блоки, релевантные его правам и выбранному проекту.
Подключить стандартные списки задач через WorkflowView и WorkflowFilter: активные задачи, мои задачи, созданные мной, завершенные, требующие внимания, поиск и все доступные пользователю задачи.
Обеспечить плотный dashboard/table-вид списков: компактная панель фильтров, строка поиска, фильтры по статусу, ответственному, автору, проекту, сортировка, пагинация, выравнивание колонок, status badge и отсутствие лишнего горизонтального скролла.
Сделать кликабельный переход из ключа или темы задачи в карточку. Ссылки должны оставаться стабильными при изменении темы, маршрута страницы, представления и пользовательского фильтра.
Подключить карточку задачи через WorkflowView типа detail: ключ, тема, статус, автор, ответственный, наблюдатели, даты, описание, вложения, связи и история должны выводиться в понятном порядке с учетом прав пользователя.
Выводить в карточке действия только из реально доступных WorkflowTransition. Переходы с screen key должны открывать форму ввода, переходы без экрана должны выполняться сразу после проверки доступности или подтверждения.
Поддержать формы создания и изменения задачи через WorkflowScreen/ws. Для сотрудников допускается he3, для обычных пользователей должен использоваться публичный renderer ws без показа he3.
Гарантировать штатное попадание данных формы в запись через ws/he3 без частного маппинга полей в UI. Любая дополнительная доменная логика после сохранения должна быть оформлена как postfunction или taskspecific command.
Реализовать внутренний API Tasks для создания задачи, получения по ключу, поиска, изменения базовых полей, скрытия или архивирования при наличии права, выполнения workflowперехода и получения укрупненного APIстатуса задачи.
API должен возвращать машинный код ошибки и понятное русское сообщение. Ошибки прав, недоступного перехода, устаревшей версии записи, неверной формы, превышения лимита и отсутствующей задачи должны быть различимы.
Изменяющие API-вызовы должны поддерживать idempotency key там, где повтор запроса может создать дубль или повторить действие.
API не должен позволять записывать произвольные физические поля задачи в обход WorkflowScreen, ФЛК, workflowперехода, postfunctions и Security.
Поддержать базовые массовые операции как последовательное применение доступного workflow-перехода к выбранным задачам: назначение, перевод в статус, закрытие, отклонение или служебное изменение. Для каждой задачи отдельно проверяются права, статус, condition и доступность перехода.
Результат массовой операции должен показывать количество успешно обработанных задач и список задач с ошибками. Ошибка внутри одной задачи не должна оставлять ее в частично измененном состоянии.
Поддержать быстрый переход к задаче по ключу и поиск по теме, описанию, видимым связям и индексируемым task-полям с учетом прав пользователя.
Публиковать task-specific события через EventBus для создания, изменения, выполнения перехода, назначения ответственного, изменения срока и закрытия задачи. Прямая отправка уведомлений из Tasks не допускается.
Поддержать канонические ссылки на задачу, список, фильтр, карточку, форму перехода, комментарий и вложение. Ссылки не должны содержать локальные абсолютные URL.
Обеспечить пользовательские состояния интерфейса: пустой список, загрузка, успешное действие, отказ прав, недоступный переход, конфликт версии и ошибка фоновой части.
Подготовить task-specific Help для пользователя и администратора по рабочему месту, спискам, карточке, действиям, ошибкам и внутреннему API.
Tasks владеет рабочим местом задач, taskspecific routes, DTO/API, доменными текстами ошибок, taskspecific events, интеграцией карточки/списка с внешними контрактами и поведением массовых действий.
WorkflowScreen, WorkflowView и WorkflowFilter владеют универсальным renderer-ом экранов, списков, карточек, фильтров, variants и публикации страниц.
Workflow* владеет workflow engine, состояниями, переходами, conditions, post-functions и историей переходов.
Security владеет runtime-проверкой прав, grants/denies, field/view/action security и объяснением отказа.
EventBus владеет доставкой событий, outbox/inbox, subscriptions, delivery, idempotency registry и dead-letter.
FT/TemporaryFiles владеют upload/staging/storage/preview/quarantine/retention вложений.
Collaboration, TaskPortal, внешний публичный API, миграция VirtualRef, WorkflowBoard, WorkflowCalendar и сложные отчеты не входят в эту задачу.
Пользователь открывает рабочее место Tasks и видит доступные ему рабочие списки без ручного ввода технических параметров.
Списки задач строятся через WorkflowView/WorkflowFilter, поддерживают поиск, фильтры, сортировку, пагинацию, status badge и кликабельный переход в карточку.
Карточка задачи строится через WorkflowView detail, выводит основные данные в читаемом порядке и скрывает недоступные поля.
Набор действий в карточке формируется только из доступных workflowпереходов; переход с экраном и переход без экрана проходят единый workflowконтракт.
Форма создания или изменения задачи использует WorkflowScreen/ws, а публичный пользователь не видит he3.
Внутренний API Tasks позволяет создать, найти, прочитать, изменить и выполнить переход задачи без прямой записи физических полей вызывающим модулем.
Изменяющие операции проверяют права тем же способом, что UI, не обходят workflow и возвращают понятные русские ошибки.
Массовые действия выполняют переходы последовательно, показывают результат по каждой задаче и не оставляют частично сохраненную задачу при ошибке.
Task-specific события публикуются через EventBus, а уведомления не отправляются напрямую из Tasks.
-
Реализован первый кодовый срез Tasks Core.
Что сделано:
Границы:
Проверки:
-
Стековый PR поверх #1302 / I128-2800, потому что базовый контракт записи Tasks еще не в develop. После merge #1302 ветку нужно будет перебазировать или retarget на develop.
Что сделано:
Проверки:
-
Реализован кодовый срез I128-2803: рабочее место задач и внутренний API модуля Tasks.
Что изменено:
Границы:
Проверки:
[I128-2810] Миграция VirtualRef в промышленный контур Tasks
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2811] Заявительский портал TaskPortal
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2838] AI-операции задач в модуле Tasks
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2790] Расширить Workflow* для промышленного контура задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2791] Расширить WorkflowScreen/WorkflowView для публичных ws-форм и представлений
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2794] Реализовать системную событийную шину EventBus
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2796] Расширить FT как постоянное хранилище вложений задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2797] Расширить Security для проектных прав, полей, действий и аудита доступа
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2800] Каноническая запись задачи TASK
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2801] Системный проект задач Tasks
Статус: Завершено | Автор: Ilya Mikhaylenko