Связи и зависимости
Команды этого раздела управляют иерархическими и горизонтальными связями между задачами, а также зависимостями в диаграмме Гантта.
Примечание: все команды располагаются в пространсве имен
Bitrix\Tasks\V2\Public\Command\Task\RelationиBitrix\Tasks\V2\Public\Command\Gantt
SetParentRelationCommand
SetParentRelationCommand устанавливает родительскую задачу для текущей, создавая иерархию.
Входные аргументы:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
$taskId |
int |
Да | ID дочерней задачи |
$userId |
int |
Да | ID пользователя, выполняющего действие |
$parentId |
int |
Да | ID родительской задачи |
$useConsistency |
bool |
Нет | Использовать консистентность данных (по умолчанию false) |
Пример использования:
use Bitrix\Tasks\V2\Public\Command\Task\Relation\SetParentRelationCommand;
$command = new SetParentRelationCommand(
taskId: 200,
userId: 1,
parentId: 100
);
if ($result->isSuccess()) {
echo "Родительская задача установлена.";
} else {
// Обработка ошибок
}
DeleteParentRelationCommand
DeleteParentRelationCommand удаляет родительскую связь, делая задачу независимой.
Входные аргументы:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
$taskId |
int |
Да | ID задачи, у которой удаляется родитель |
$userId |
int |
Да | ID пользователя, выполняющего действие |
$useConsistency |
bool |
Нет | Использовать консистентность данных (по умолчанию false) |
Пример использования:
use Bitrix\Tasks\V2\Public\Command\Task\Relation\DeleteParentRelationCommand;
$command = new DeleteParentRelationCommand(taskId: 200, userId: 1);
$result = $command->run();
if ($result->isSuccess()) {
echo "Родительская задача удалена.";
} else {
// Обработка ошибок
}
AddRelatedTaskCommand
AddRelatedTaskCommand создает горизонтальную (логическую) связь между двумя задачами.
Входные аргументы:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
$taskId |
int |
Да | ID основной задачи |
$relatedTaskId |
int |
Да | ID связываемой задачи |
$userId |
int |
Да | ID пользователя, выполняющего действие |
$useConsistency |
bool |
Нет | Использовать консистентность данных (по умолчанию false) |
Пример использования:
use Bitrix\Tasks\V2\Public\Command\Task\Relation\AddRelatedTaskCommand;
$command = new AddRelatedTaskCommand(
taskId: 100,
relatedTaskId: 300,
userId: 1
);
$result = $command->run();
if ($result->isSuccess()) {
echo "Связанная задача добавлена.";
} else {
// Обработка ошибок
}
DeleteRelatedTaskCommand
DeleteRelatedTaskCommand удаляет горизонтальную связь между задачами.
Входные аргументы:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
$taskId |
int |
Да | ID основной задачи |
$relatedTaskId |
int |
Да | ID отвязываемой задачи |
$userId |
int |
Да | ID пользователя, выполняющего действие |
$useConsistency |
bool |
Нет | Использовать консистентность данных (по умолчанию false) |
Пример использования:
use Bitrix\Tasks\V2\Public\Command\Task\Relation\DeleteRelatedTaskCommand;
$command = new DeleteRelatedTaskCommand(
taskId: 100,
relatedTaskId: 300,
userId: 1
);
if ($result->isSuccess()) {
echo "Связанная задача удалена.";
} else {
// Обработка ошибок
}
AddMultiTaskChildrenCommand
AddMultiTaskChildrenCommand позволяет массово создать несколько дочерних задач на основе одной родительской.
Входные аргументы:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
$taskId |
int |
Да | ID родительской задачи (шаблона) |
$userIds |
array |
Да | Массив ID пользователей, для которых создаются задачи |
$config |
CopyConfig |
Да | Конфигурация копирования задачи |
Пример использования:
use Bitrix\Tasks\V2\Public\Command\Task\Relation\AddMultiTaskChildrenCommand;
use Bitrix\Tasks\V2\Internal\Service\Task\Action\Copy\Config\CopyConfig;
$command = new AddMultiTaskChildrenCommand(
taskId: 100,
userIds: [2, 3, 4],
config: new CopyConfig(userId: 1)
);
$result = $command->run();
if ($result->isSuccess()) {
echo "Дочерние задачи созданы.";
} else {
// Обработка ошибок
}