Редактирование списания

Максим

Максим

Обновлено Oct 6, 2026

Изменяет списание. Меняются только переданные поля, остальные остаются прежними. Подробнее о частичном редактировании в статье Общие правила.

v1/writeoffs/edit.php

Параметры

Поле Тип Обязательное Описание
writeoff_id int Да ID списания
materials array Нет Списываемые материалы: id или sku и amount
products array Нет Списываемые продукты: id или sku и amount
num string Нет Номер
date string Нет Дата списания, YYYY-MM-DD
materials_storage_id int Нет Склад, с которого списываются материалы
products_storage_id int Нет Склад, с которого списываются продукты
production_id int Нет ID производства. 0 снимает привязку
notes string Нет Заметки

Если передан хотя бы один из массивов materials и products, строки заменяются целиком, а непереданный массив считается пустым. Если не передан ни один, строки остаются прежними. Статус этим методом не меняется, для него есть v1/writeoffs/update_status.

Как работает

  • Списание проводится заново: прежние движения отменяются, строки списываются по FIFO с текущими остатками. Статус сохраняется.
  • Переданный склад должен существовать, 0 не принимается.
  • Если списание было привязано к производству, его прежняя стоимость вычитается из себестоимости производства, а новая добавляется к производству из production_id.

Пример запроса

{
    "writeoff_id": 19291,
    "materials": [
        {
            "id": 2051,
            "amount": 0.2
        }
    ],
    "production_id": 39978
}

В этом примере передан только materials, поэтому продукт из списания удаляется.

Пример ответа

{
    "success": true
}

Ошибки

Ошибка Причина
No writeoff_id in input Не передан writeoff_id
Write-off not found or access denied Списание не найдено или удалено
No products or materials in input Массивы строк переданы, но пустые
Material with id 2051 not found Материал не найден или удален
Amount must be greater than 0 for material with id 2051 Количество не число или не больше 0 после округления
Storage ID is not set Передан склад, равный 0 или пустой
Storage ID not found Склад не найден или удален
Production not found or access denied Производство из production_id не найдено
Date is not a valid date in format YYYY-MM-DD Неверный формат даты

Остальные ошибки строк такие же, как в v1/writeoffs/add.