task.dependence.add
Создать связь между задачами
Описание
Метод создает зависимость одной задачи от другой.
Параметры
taskIdFrom
integer
обязательный
Идентификатор задачи, от которой создается зависимость
taskIdTo
integer
обязательный
Идентификатор задачи, для которой создается зависимость
linkType
integer
обязательный
Тип зависимости:
- 0 — связь старт-старт
- 1 — связь старт-финиш
- 2 — связь финиш-старт
- 3 — связь финиш-финиш
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"taskIdFrom":100,"taskIdTo":101,"linkType":0}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.dependence.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"taskIdFrom":100,"taskIdTo":101,"linkType":0,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/task.dependence.add
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (empty array on success)
type DependenceAddResult = unknown[]
try {
const response = await $b24.actions.v2.call.make<DependenceAddResult>({
method: 'task.dependence.add',
params: {
taskIdFrom: 100,
taskIdTo: 101,
linkType: 0,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Dependence added, result:', result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function addTaskDependence() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'task.dependence.add',
params: {
taskIdFrom: 100,
taskIdTo: 101,
linkType: 0,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Dependence added, result:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addTaskDependence)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.task.dependence.add(
task_id_from=100,
task_id_to=101,
link_type=0,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'task.dependence.add',
[
'taskIdFrom' => 100,
'taskIdTo' => 101,
'linkType' => 0,
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding task dependence: ' . $e->getMessage();
}
BX24.callMethod(
'task.dependence.add', {
"taskIdFrom":100,
"taskIdTo":101,
"linkType":0
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call('task.dependence.add', [
'taskIdFrom' => 100,
'taskIdTo' => 101,
'linkType' => 0,
]);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "task.dependence.add", b24.Params{
"taskIdFrom": 100,
"taskIdTo": 101,
"linkType": 0,
})
if err != nil {
return fmt.Errorf("task.dependence.add: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
HTTP-статус: 200
{
"result":{
[]
},
"time":{
"start":1712137817.343984,
"finish":1712137817.605804,
"duration":0.26182007789611816,
"processing":0.018325090408325195,
"date_start":"2024-04-03T12:50:17+03:00",
"date_finish":"2024-04-03T12:50:17+03:00"
}
}
Возвращаемые данные
result
object
В случае успеха содержит пустой массив
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":"ILLEGAL_NEW_LINK",
"error_description":"Связь между задачами уже существует"
}
| Код | Описание | Значение |
|---|---|---|
ILLEGAL_NEW_LINK |
Связь между задачами уже существует | |
ACTION_NOT_ALLOWED |
Невозможно добавить связь между задачами |

