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

Изменить документ складского учета catalog.document.update

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

Изменить документ складского учета catalog.document.update

> Scope: catalog
>
> Кто может выполнять метод: пользователь с правом «Cоздание и редактирование» на нужный тип документа

Метод catalog.document.update изменяет поля существующего документа складского учета.

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

Название
тип
Описание
id
catalog_document.id
Идентификатор документа, можно получить методом catalog.document.list
fields
object
Поля документа (подробное описание)

Параметр fields {#fields}

Название
тип
Описание
responsibleId
user.id
Идентификатор ответственного
dateModify
datetime
Можно передать собственную дату изменения. По умолчанию — текущая дата
dateDocument
datetime
Дата проведения документа
total
double
Общая сумма по товарам документа. Пересчитывается автоматически после изменения товарных позиций
commentary
char
Комментарий к документу
title
string
Название документа
docNumber
string
Внутренний номер документа
modifiedBy
user.id
Идентификатор пользователя, изменившего документ. Администратор может указать любое значение, по умолчанию заполняется текущим пользователем

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":142,"fields":{"title":"Поступление от Поставщик-1 (корректировка)","commentary":"Обновили ответсвенного","responsibleId":21}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/catalog.document.update
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":142,"fields":{"title":"Поступление от Поставщик-1 (корректировка)","commentary":"Обновили ответсвенного","responsibleId":21},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/catalog.document.update
  • JS
    try
    {
        const response = await $b24.callMethod(
            'catalog.document.update',
            {
                id: 142,
                fields: {
                   'Поступление от Поставщик-1 (корректировка)',
                    commentary: 'Обновили ответсвенного',
                    responsibleId: 21,
                }
            }
        );
        
        const result = response.getData().result;
        console.log('Updated document with ID:', result);
        
        processResult(result);
    }
    catch( error )
    {
        console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'catalog.document.update',
                [
                    'id' => 142,
                    'fields' => [
                        'title' => 'Поступление от Поставщик-1 (корректировка)',
                        'commentary' => 'Обновили ответсвенного',
                        'responsibleId' => 21
                    ]
                ]
            );

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

        echo 'Success: ' . print_r($result, true);
        processData($result);

    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error updating document: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'catalog.document.update',
        {
            id: 142,
            fields: {
               'Поступление от Поставщик-1 (корректировка)',
                commentary: 'Обновили ответсвенного',
                responsibleId: 21
            }
        },
        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.update',
        [
            'id' => 142,
            'fields' => [
                'title' => 'Поступление от Поставщик-1 (корректировка)',
                'commentary' => 'Обновили ответсвенного',
                'responsibleId' => 21
            ]
        ]
    );

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

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

HTTP-код: 200

{
    "result": {
        "document": {
            "commentary": "Обновили ответсвенного",
            "createdBy": 29,
            "currency": "RUB",
            "dateCreate": "2025-10-30T11:19:38+03:00",
            "dateDocument": null,
            "dateModify": "2025-10-30T11:33:42+03:00",
            "dateStatus": "2025-10-30T11:19:38+03:00",
            "docNumber": "IN-00042",
            "docType": "A",
            "id": 11,
            "modifiedBy": 29,
            "responsibleId": 21,
            "siteId": "s1",
            "status": "N",
            "statusBy": null,
            "title": "Поступление от Поставщик-1 (корректировка)",
            "total": null
        }
    },
    "time": {
        "start": 1761806022,
        "finish": 1761806022.36133,
        "duration": 0.3613300323486328,
        "processing": 0,
        "date_start": "2025-10-30T09:33:42+03:00",
        "date_finish": "2025-10-30T09:33:42+03:00",
        "operating_reset_at": 1761806622,
        "operating": 0.17665815353393555
    }
}

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

Название
тип
Описание
result
object
Корневой элемент ответа
document
catalog_document
Объект с обновленными данными документа
time
time
Информация о времени выполнения запроса

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

HTTP-код: 400

{
    "error": "0",
    "error_description": "Документ не найден."
}

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

КодОписаниеЗначение
0Недостаточно прав для сохранения документаУ пользователя нет права на редактирование документа нужного типа или документ с таким идентификатором не существует
0Складской учет недоступен на вашем тарифеСкладской учет недоступен на вашем тарифе
  • [](./document-element/catalog-document-element-update)
  • [](../documentcontractor/catalog-documentcontractor-add)
  • [](./catalog-document-cancel)
  • [](./catalog-document-add)
  • [](./catalog-document-conduct)

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

Практические рекомендации:

  • При написании кастомных компонентов для «Изменить документ складского учета catalog.document.update» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

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

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

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

Related Post

Редизайн и модернизация существующего оптового B2B-портала на платформе 1С-БитриксРедизайн и модернизация существующего оптового B2B-портала на платформе 1С-Битрикс

Разработка и внедрение профессионального B2B-портала и дилерского кабинета на 1С-Битрикс позволяет кардинально сократить издержки отдела оптовых продаж, перевести дилеров на самообслуживание 24/7 и исключить ошибки ручного ввода заказов. Услуга «Редизайн

Подключение платежного сервиса ЮKassa для сайта на 1С-БитриксПодключение платежного сервиса ЮKassa для сайта на 1С-Битрикс

Бесшовная и отказоустойчивая интеграция сайта на 1С-Битрикс с внешними учетными системами, банками, службами доставки и маркетплейсами — основа масштабирования современного бизнеса. Услуга «Подключение платежного сервиса ЮKassa для сайта на 1С-Битрикс»

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

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