task.elapseditem.update
Изменить запись о затраченном времени
Описание
Метод task.elapseditem.update изменяет параметры указанной записи о затраченном времени.
Проверить право на изменение можно специальным методом task.elapseditem.isactionallowed
Параметры
TASKID
integer
обязательный
Идентификатор задачи.
Идентификатор задачи можно получить при создании новой задачи или методом получения списка задач
ITEMID
integer
обязательный
Идентификатор записи о затраченном времени.
Его можно получить при создании новой записи или методом получения списка записей о затраченном времени
ARFIELDS
object
обязательный
Объект, содержащий записи о пользователе, времени и комментарии (подробное описание приведено ниже) в виде структуры:
"ARFIELDS": {
"SECONDS": "значение",
"COMMENT_TEXT": "значение",
"USER_ID": "значение"
},Параметр ARFIELDS
SECONDS
integer
обязательный
Количество затраченного времени в секундах
COMMENT_TEXT
string
обязательный
Текст комментария
USER_ID
integer
необязательный
Идентификатор пользователя
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"TASKID" : 691, "ITEMID": 5, "ARFIELDS": {"SECONDS": 113,"COMMENT_TEXT": "текст комментария"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.elapseditem.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"TASKID" : 691, "ITEMID": 5, "ARFIELDS": {"SECONDS": 113,"COMMENT_TEXT": "текст комментария"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/task.elapseditem.update
// 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
// The method returns null on success
// Shape of the payload returned in result (match the "response handling" section of the page)
type UpdateElapsedItemResult = null
try {
const response = await $b24.actions.v2.call.make<UpdateElapsedItemResult>({
method: 'task.elapseditem.update',
params: {
TASKID: 691,
ITEMID: 5,
ARFIELDS: {
SECONDS: 113,
COMMENT_TEXT: 'comment text',
},
},
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('Elapsed item updated successfully, 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 updateElapsedItem() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'task.elapseditem.update',
params: {
TASKID: 691,
ITEMID: 5,
ARFIELDS: {
SECONDS: 113,
COMMENT_TEXT: 'comment text',
},
},
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('Elapsed item updated successfully, result:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateElapsedItem)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
arfields = {
"SECONDS": 113,
"COMMENT_TEXT": "текст комментария",
}
try:
bitrix_response = client.task.elapseditem.update(
task_id=691,
item_id=5,
arfields=arfields,
).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.elapseditem.update',
[
'TASKID' => 691,
'ITEMID' => 5,
'ARFIELDS' => [
'SECONDS' => 113,
'COMMENT_TEXT' => 'текст комментария',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating elapsed item: ' . $e->getMessage();
}
BX24.callMethod(
'task.elapseditem.update',
{
"TASKID": 691,
"ITEMID": 5,
"ARFIELDS": {
"SECONDS": 113,
"COMMENT_TEXT": "текст комментария",
},
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'task.elapseditem.update',
[
'TASKID' => 691,
'ITEMID' => 5,
'ARFIELDS' => [
'SECONDS' => 113,
'COMMENT_TEXT' => 'текст комментария',
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "task.elapseditem.update", b24.Params{
"TASKID": 691,
"ITEMID": 5,
"ARFIELDS": b24.Params{
"SECONDS": 113,
"COMMENT_TEXT": "текст комментария",
},
})
if err != nil {
return fmt.Errorf("task.elapseditem.update: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
HTTP-статус: 200
{
"result": null,
"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"
}
}
Обработка ошибок
HTTP-статус: 400
{
"error":"ERROR_CORE",
"error_description":"ACTION_NOT_ALLOWED"
}
| Код | Описание | Значение |
|---|---|---|
0x000001 |
Задача не найдена | |
0x100002 |
Доступ запрещен | |
0x000004 |
Действие не разрешено | |
0x000040 |
Неизвестная ошибка |

