Блог Горошко Андрея 1C-Битрикс,Bitrix24 Отменить проведение документа складского учета catalog.document.cancel

Отменить проведение документа складского учета catalog.document.cancel

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Отменить проведение документа складского учета catalog.document.cancel», проанализируем лучшие практики и покажем, как правильно использовать catalog.document.cancel в реальных задачах.

Отменить проведение документа складского учета catalog.document.cancel

> Scope: catalog
>
> Кто может выполнять метод:
> — пользователь с правом «Отмена проведения» на тип документа в запросе,
> — и «Просмотр и выбор склада» на склад прихода или списания.

Метод catalog.document.cancel отменяет проведение документа складского учета:

  • статус документа изменяется на C — отменен,
  • складские остатки товаров обновляются согласно позициям документа.

Параметры метода

Название
тип
Описание
id*
catalog_document.id
Идентификатор документа, получить можно методом catalog.document.list

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":142}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/catalog.document.cancel
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":142,"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/catalog.document.cancel
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'catalog.document.cancel',
    		{ id: 142 }
    	);

    	const result = response.getData().result;
    	console.log(result);
    }
    catch (error)
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'catalog.document.cancel',
                [
                    'id' => 142,
                ]
            );

        $result = $response
            ->getResponseData()
            ->getResult();

        if ($result === true) {
            echo 'Document cancellation succeeded';
        }
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error cancelling document: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'catalog.document.cancel',
        { id: 142 },
        function(result)
        {
            if (result.error())
                console.error(result.error());
            else
                console.log(result.data());
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'catalog.document.cancel',
        [
            'id' => 142,
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Обработка ответа

HTTP-код: 200

{
    "result": true,
    "time": {
        "start": 1762411074,
        "finish": 1762411074.877169,
        "duration": 0.8771688938140869,
        "processing": 0,
        "date_start": "2025-11-06T09:37:54+03:00",
        "date_finish": "2025-11-06T09:37:54+03:00",
        "operating_reset_at": 1762411674,
        "operating": 0.2729671001434326
    }
}

Возвращаемые данные

Название
тип
Описание
result
boolean
Корневой элемент ответа, содержит true, если проведение документа отменено
time
time
Информация о времени выполнения запроса

Обработка ошибок

HTTP-код: 400

{
    "error": "0",
    "error_description": "Ошибка отмены проведения документа: Документ еще не проведен"
}

Возможные коды ошибок

КодОписаниеЗначение
0Недостаточно прав для сохранения документаНет прав к каталогу товаров, складскому учету, нет права отмены проведения документа или указан несуществующий идентификатор документа
0Не удалось завершить действие, так как у вас недостаточно прав для просмотра и выбора складовНет прав на работу со складом товара из документа
0Ошибка отмены проведения документа: Документ еще не проведенНельзя отменить проведение документа, если он не в статусе проведен
0Складской учет недоступен на вашем тарифеСкладской учет недоступен на вашем тарифе
  • [](./catalog-document-conduct)
  • [](./catalog-document-cancel-list)
  • [](./catalog-document-list)

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Отменить проведение документа складского учета catalog.document.cancel»:

Использование современных стандартов D7 при работе с catalog.document.cancel позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Событие при удалении адреса onCrmAddressUnregisterСобытие при удалении адреса onCrmAddressUnregister

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Событие при удалении адреса onCrmAddressUnregister». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Как использовать метод SDK user.update в Битрикс24Как использовать метод SDK user.update в Битрикс24

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Как использовать метод SDK user.update в Битрикс24», проанализируем

Получить поля пользовательского типа crm.type.fieldsПолучить поля пользовательского типа crm.type.fields

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить поля пользовательского типа crm.type.fields», разберем архитектурные особенности