Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Поля задачи», проанализируем лучшие практики и покажем, как правильно использовать поля задачи в реальных задачах.
Поля задачи
Написать статью, в ней должно быть написано какие поля можно модифицировать, какие только читать. Упомянуть, что системные поля модифицируются только с админскими правами и почему. Отдельно указать, как реализуется связь с CRM
Тут может не хватать некоторых данных — дополним в ближайшее время
Запись и изменение полей производится согласно бизнес-логике и с учетом прав пользователя. То есть зависит от роли пользователя, настроек прав на группу, иерархии, статуса задачи и некоторых флагов в задаче, например, allowChangeDeadline.
Названиетип | Описание | |
|---|---|---|
idstring | Идентификатор задачи | |
parentIdstring | Идентификатор родительской задачи. Имеет значение | |
titlestring | Название задачи | |
descriptionstring | Описание задачи | |
chatIdinteger | Идентификатор чата для новой карточки задачи | |
markstring | Оценка задачи. Возможные значения:N — отрицательнаяP — положительнаяnull — без оценки | |
prioritystring | Приоритет задачи. Возможные значения: — 2 — высокий— 1 — средний— 0 — низкий | |
multitaskstring | Признак «базовая задача с подзадачами». Возможные значения: — Y — да— N — нет | |
notViewedstring | Признак «не просмотрено». Возможные значения: — Y — не просмотрено— N — просмотрено | |
replicatestring | Признак «повторять задачу». Возможные значения: — Y — да, сделать задачу регулярной— N — не повторять | |
stageIdstring | Идентификатор стадии | |
sprintIdstring | Идентификатор спринта | |
backlogIdstring | Идентификатор бэклога | |
createdBystring | Идентификатор постановщика | |
createdDatestring | Дата создания в формате ISO 8601 | |
responsibleIdstring | Идентификатор ответственного | |
changedBystring | Идентификатор пользователя, изменившего задачу | |
changedDatestring | Дата изменения в формате ISO 8601 | |
statusChangedBystring | Идентификатор пользователя, изменившего статус задачи | |
closedBystring | Идентификатор пользователя, завершившего задачу. Имеет значение 0, если задача не завершена | |
closedDatestring | Дата завершения в формате ISO 8601. Имеет значение null, если задача не завершена | |
activityDatestring | Дата последней активности в формате ISO 8601 | |
dateStartstring | Дата начала | |
deadlinestring | Крайний срок | |
startDatePlanstring | Плановая дата начала | |
endDatePlanstring | Плановая дата окончания | |
guidstring | Идентификатор GUID задачи | |
xmlIdstring | Внешний идентификатор | |
commentsCountstring | Количество комментариев | |
serviceCommentsCountstring | Количество системных комментариев | |
allowChangeDeadlinestring | Разрешено менять крайний срок. Возможные значения: — Y — разрешено— N — не разрешено | |
allowTimeTrackingstring | Разрешено учитывать время. Возможные значения: — Y — разрешено— N — не разрешено | |
taskControlstring | Контроль задачи включен. Возможные значения: — Y — включен— N — отключен | |
addInReportstring | Добавлять в отчет. Возможные значения: — Y — добавлять — N — не добавлять | |
forkedByTemplateIdstring | Идентификатор шаблона, если задача создана из шаблона | |
timeEstimatestring | Оценка времени в секундах | |
timeSpentInLogsstring | Фактически затраченное время | |
matchWorkTimestring | Учитывать рабочее время. Возможные значения: — Y — да— N — нет | |
forumTopicIdstring | Идентификатор темы комментариев | |
forumIdstring | Идентификатор форума | |
siteIdstring | Идентификатор сайта | |
subordinatestring | Признак того, что задача я вляется подзадачей. Возможные значения: — Y — да— N — нет | |
exchangeModifiedstring | Дата изменения синхронизацией в формате ISO 8601 | |
exchangeIdstring | Идентификатор синхронизации | |
outlookVersionstring | Версия | |
viewedDatestring | Дата просмотра задачи в формате ISO 8601 | |
sortingstring | Значение сортировки | |
durationFactstring | Фактическая длительность | |
isMutedstring | Признак «без звука». Возможные значения: — Y — включен— N — выключен | |
isPinnedstring | Признак «закреплено». Возможные значения: — Y — включен— N — выключен | |
isPinnedInGroupstring | Признак «закреплена в группе». Возможные значения: — Y — закреплена— N — не закреплена | |
flowIdstring | Идентификатор потока | |
descriptionInBbcodestring | Описание в формате BBCode. Возможные значения: — Y — включено— N — выключено | |
statusstring | Статус задачи. Возможные значения: — 2 — ждет выполнения— 3 — выполняется— 4 — ожидает контроля— 5 — завершена— 6 — отложена | |
statusChangedDatestring | Дата изменения статуса в формате ISO 8601 | |
durationPlanstring | Плановая длительность | |
durationTypestring | Единица плановой длительности. Возможные значения: secs, mins, hours, days, weeks, monts, years | |
favoritestring | Признак «в избранном». Возможные значения: — Y — добавлено в избранное— N — не добавлено в избранное | |
groupIdstring | Идентификатор группы, к которой привязана задача | |
auditorsarray | Список идентификаторов пользователей — наблюдателей за задачей | |
accomplicesarray | Список идентификаторов пользователей — соисполнителей | |
checklistobject | Объект с пунктами чек-листа. Ключ — идентификатор пункта, значение — объект с описанием пункта | |
groupobject | Объект с описанием группы | |
creatorobject | Объект с описанием пользователя — постановщика задачи | |
responsibleobject | Объект с описанием пользователя — ответственного за задачу | |
accomplicesDataarray | Объект с описанием пользователей — соисполнителей. Ключ объекта — идентификатор пользователя, а значение — объект с описанием пользователя | |
auditorsDataobject | Объект с описанием пользователей — наблюдателей за задачей. Ключ объекта — идентификатор пользователя, а значение — объект с описанием пользователя | |
newCommentsCountinteger | Количество новых комментариев | |
actionobject | Объект с описанием доступных действий над задачей | |
checkListTreeobject | Объект с описанием дерева чек-листа | |
checkListCanAddboolean | Можно ли добавлять пункты чек-листа | |
UF_CRM_TASKarray | Список привязок к элементам CRM в формате: — L_XX — лид,— D_XX — сделка— C_XX — контакт— CO_XX — компания— SI_XX — счет— TXX_XX — смарт-процесс | |
UF_TASK_WEBDAV_FILESarray | Список файлов с Диска | |
UF_MAIL_MESSAGEstring | Письмо email | |
UF_\any | Пользовательские поля. Подробнее в статье [](./user-field/index) |
Чтобы получить пользовательские поля задачи, используйте методы выборки tasks.task.get и tasks.task.list. Укажите нужные поля в параметре SELECT. Таким же образом можно получить системные пользовательские поля: UF_CRM_TASK, UF_TASK_WEBDAV_FILES, UF_MAIL_MESSAGE.
Объект checklist.item {#checklist-item}
Названиетип | Описание |
|---|---|
idstring | Идентификатор пункта |
taskIdstring | Идентификатор задачи |
createdBystring | Идентификатор автора пункта |
parentIdstring | Родительский пункт. Значение 0 означает корневой пункт |
titlestring | Заголовок пункта |
sortIndexstring | Индекс сортировки |
isCompletestring | Признак завершенности. Возможные значения: — Y — пункт выполнен— N — пункт не выполнен |
isImportantstring | Признак важности. Возможные значения: — Y — важный— N — не важный |
toggledBystring | Идентификатор пользователя, изменившего статус пункта |
toggledDatestring | Дата изменения статуса пункта в формате ISO 8601 |
ufChecklistFilesboolean | Признак наличия файлов в пункте |
membersarray | Список участников пункта |
attachmentsarray | Список вложений пункта |
entityIdstring | Идентификатор задачи |
actionobject | Объект с описанием доступных действий над пунктом |
Объект checklist.item.action {#checklist-item-action}
Названиетип | Описание |
|---|---|
modifyboolean | Доступно изменение пункта |
removeboolean | Доступно удаление пункта |
toggleboolean | Доступно переключение статуса пункта |
addboolean | Доступно добавление подпункта |
addAccompliceboolean | Доступно добавление соисполнителя в пункт |
Объект group {#group}
Названиетип | Описание |
|---|---|
idstring | Идентификатор группы |
namestring | Название группы |
openedboolean | Признак открытой группы |
membersCountinteger | Количество участников группы |
imagestring | URL изображения группы |
additionalDataarray | Дополнительные данные группы |
Объект с описанием пользователя {#user}
Названиетип | Описание |
|---|---|
idstring | Идентификатор пользователя |
namestring | Имя и фамилия пользователя |
linkstring | Ссылка на профиль пользователя |
iconstring | URL аватара пользователя |
workPositionstring | Должность пользователя |
Объект action {#action}
Названиетип | Описание |
|---|---|
acceptboolean | Доступно принять задачу. Устаревшее поле, больше не используется |
declineboolean | Доступно отказаться от задачи. Устаревшее поле, больше не используется |
completeboolean | Доступно завершить задачу |
approveboolean | Доступно принять работу исполнителя по задаче при включенном контроле taskControl |
disapproveboolean | Доступно выбрать, что исполнителю нужно доделать работу по задаче при включенном контроле taskControl |
startboolean | Доступно начать выполнение |
pauseboolean | Доступно приостановить выполнение |
delegateboolean | Доступно делегирование |
removeboolean | Доступно удаление задачи |
editboolean | Доступно редактирование |
deferboolean | Доступно отложить задачу |
renewboolean | Доступно возобновление |
createboolean | Доступно создание связанных задач |
changeDeadlineboolean | Доступно изменение крайнего срока |
checklistAddItemsboolean | Доступно добавление пунктов чек-листа |
addFavoriteboolean | Доступно добавление в избранное |
deleteFavoriteboolean | Доступно удаление из избранного |
rateboolean | Доступно выставление оценки |
takeboolean | Доступно взять задачу в работу |
edit.originatorboolean | Доступно редактирование постановщика |
checklist.reorderboolean | Доступна смена порядка пунктов чек-листа |
elapsedtime.addboolean | Доступно добавление трудозатрат |
dayplan.timer.toggleboolean | Доступно управление таймером в плане на день |
edit.planboolean | Доступно редактирование плановых параметров |
checklist.addboolean | Доступно добавление чек-листа |
favorite.addboolean | Доступно добавление в избранное |
favorite.deleteboolean | Доступно удаление из избранного |
Объект checkListTree {#checklisttree}
Названиетип | Описание |
|---|---|
nodeIdinteger | Идентификатор корневого узла дерева чек-листа |
fieldsobject | Объект с описанием полей узла |
actionarray | Массив доступных действий для узла |
descendantsarray | Массив дочерних узлов |
Объект checkListTree.fields {#checklisttree-fields}
Названиетип | Описание |
|---|---|
idstring | Идентификатор пункта для корня |
copiedIdstring | Идентификатор источника при копировании |
entityIdstring | Идентификатор задачи |
userIdinteger | Идентификатор пользователя, формирующего дерево |
createdBystring | Идентификатор автора пункта |
parentIdstring | Идентификатор родителя |
titlestring | Заголовок пункта |
sortIndexstring | Индекс сортировки |
displaySortIndexstring | Отображаемый индекс сортировки |
isCompleteboolean | Признак завершенности пункта |
isImportantboolean | Признак важности пункта |
completedCountinteger | Количество завершенных подпунктов |
membersarray | Массив участников пункта |
attachmentsarray | Массив вложений пункта |
nodeIdstring | Идентификатор узла |
| Поле / Тип | Описание | Значение |
|---|---|---|
IDinteger | Идентификатор задачи. | |
PARENT_IDinteger | ID родительской задачи. | По умолчанию — 0 |
TITLE^^string | Название. Длина поля TITLE не должна превышать 460 символов. В противном случае название задачи без предупреждения будет обрезано с конца. | |
DESCRIPTIONstring | Описание. | |
MARKenum | Оценка. | N — Отрицательная, P — Положительная. По умолчанию — null |
PRIORITYenum | Приоритет. | 2 — Высокий, 1 — Средний, 0 — Низкий. По умолчанию — 1 |
STATUSenum | Статус. | 2 — Ждет выполнения, 3 — Выполняется, 4 — Ожидает контроля, 5 — Завершена, 6 — Отложена. По умолчанию — 2 |
MULTITASKenum | Множественная задача. | Y — Да, N — Нет. По умолчанию — Нет. |
NOT_VIEWEDenum | NOT_VIEWED | Y — Да, N — Нет. По умолчанию — Нет. |
REPLICATEenum | Повторяемая задача. | Y — Да, N — Нет. По умолчанию — Нет. |
GROUP_IDinteger | Группа или проект | По умолчанию — 0 |
FLOW_IDinteger | Поток | null |
STAGE_IDinteger | Стадия. | По умолчанию — 0 |
CREATED_BY^^integer | Постановщик. | |
CREATED_DATEdatetime | Дата создания. | |
RESPONSIBLE_ID^^integer | Исполнитель. | |
ACCOMPLICESarray | Соисполнители. | |
AUDITORSarray | Наблюдатели. | |
CHANGED_BYinteger | Изменил. | |
CHANGED_DATEinteger | Дата изменения. | |
STATUS_CHANGED_BYinteger | Изменил статус. | |
CLOSED_BYinteger | Закрыл задачу. | |
CLOSED_DATEdatetime | Дата закрытия. | |
DATE_STARTdatetime | Дата начала. | null |
DEADLINEdatetime | Крайний срок. | null |
START_DATE_PLANdatetime | Плановое начало. | null |
END_DATE_PLANdatetime | Плановое завершение. | null |
GUIDstring | GUID | null |
XML_IDstring | XML_ID | null |
COMMENTS_COUNTinteger | Кол-во комментариев | |
NEW_COMMENTS_COUNTinteger | Кол-во новых комментариев. | |
ALLOW_CHANGE_DEADLINEenum | Разрешить менять сроки. | Y — Да, N — Нет. По умолчанию — Нет. |
ALLOW_TIME_TRACKINGenum | Разрешить учет времени для задачи | Y — Да, N — Нет. По умолчанию — Нет. |
TASK_CONTROLenum | Принять работу. | Y — Да, N — Нет. По умолчанию — Нет. |
ADD_IN_REPORTenum | Добавить в отчёт. | Y — Да, N — Нет. По умолчанию — Нет. |
FORKED_BY_TEMPLATE_IDenum | Создано из шаблона. | Y — Да, N — Нет. По умолчанию — Нет. |
TIME_ESTIMATEinteger | Время, выделенное на задачу. | |
TIME_SPENT_IN_LOGSinteger | Затраченное время из истории изменений. | |
MATCH_WORK_TIMEinteger | Пропустить выходные дни. | |
FORUM_TOPIC_IDinteger | Идентификатор темы форума. | |
FORUM_IDinteger | Идентификатор форума. | |
SITE_IDstring | Идентификатор сайта. | |
SUBORDINATEenum | Задача подчиненного. | Y — Да, N — Нет. По умолчанию — Нет. |
FAVORITEenum | Добавлен в Избранное. | |
EXCHANGE_MODIFIEDdatetime | EXCHANGE_MODIFIED | null |
EXCHANGE_IDinteger | EXCHANGE_ID | null |
OUTLOOK_VERSIONinteger | OUTLOOK_VERSION | null |
VIEWED_DATEdatetime | Дата последнего просмотра. | |
SORTINGdouble | Индекс сортировки. | |
DURATION_PLANinteger | Затрачено (план). | |
DURATION_FACTinteger | Затрачено (фактически). | |
CHECKLISTarray | Чеклист. | |
DURATION_TYPEenum | DURATION_TYPE. | \[0\] => secs \[1\] => mins \[2\] => hours \[3\] => days \[4\] => weeks \[5\] => monts \[6\] => years. По умолчанию — 3 |
UF_CRM_TASKcrm | Привязка к элементам CRM L_XX — lead, C_XX — contact , D_XX — deal | |
UF_TASK_WEBDAV_FILESdisk_file | Файл (Диск). | |
UF_MAIL_MESSAGEmail_message | Письмо (email). | |
IS_MUTEDenum | Уведомления. | Y — Да, N — Нет. По умолчанию — Нет. |
IS_PINNEDenum | Закреплён. | Y — Да, N — Нет. По умолчанию — Нет. |
IS_PINNED_IN_GROUPenum | Закреплён в группе. | Y — Да, N — Нет. По умолчанию — Нет. |
SERVICE_COMMENTS_COUNTinteger | SERVICE_COMMENTS_COUNT |
Поля даты/времени, которые читаются/записываются в формате ISO 8601:**
- DEADLINE
- START_DATE_PLAN
- END_DATE_PLAN
- DATE_START
- CREATED_DATE
- CLOSED_DATE
- CHANGED_DATE
- STATUS_CHANGED_DATE
- VIEWED_DATE
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Поля задачи» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru