Scope: Bitrix24 on-premise · Verified: tasks 26.300.100, main 26.800.0
| Task | Read |
|---|---|
| Pick the API layer; create, update, complete, delete; errors | rules/writing.md |
| One task or lists: filters, sort, paging, dates | rules/reading.md |
| Members, deadlines and time zones, checklists, tags, projects, templates, comments | rules/details.md |
| Access actions, events and their arguments, REST mapping | rules/access-events.md |
Invariants
- Write through the V2 commands (
AddTaskCommand,UpdateTaskCommand…; legacyCTaskItem/CTasksend in the same V2 services). Never writeTaskTableor member/checklist tables: counters, chat, search, events and recycle bin are skipped. - Commands do not check rights. Check
TaskAccessService/TaskAccessControllerfor the acting user beforerun(). - Pass the acting user id explicitly (
userIdin configs). Agents and CLI have no$USER;CTasks::AddwithoutUSER_IDacts as user 1. - Dates in V2 entities are Unix timestamps (
deadlineTs). Never pass site-format strings from background code. - Keep V2 calls in one
/localgateway class: commands takeV2\Internal\…entities and configs that may change between releases. The V2 layer is verified in tasks 26.300.100 only; ifclass_exists(AddTaskCommand::class)is false, useCTaskItem. - New task card: comments are messages in the task chat (see
rules/details.md,bitrix24-im).