Смена статуса поставки

Максим

Максим

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

Меняет статус поставки. От статуса зависит, поступили ли материалы и продукты поставки на склад (см. Поставки).

v1/purchases/update_status.php

Параметры

Поле Тип Обязательное Описание
purchase_id int Да ID поставки
status int Да Новый статус: 0 План, 1 Заказана, 3 Получена
date_received string Нет Дата получения. Учитывается при переходе в статус «Получена»

Статус 2 «Частично получена» через API не ставится: он появляется, когда часть поставки получают отгрузками в интерфейсе Controlata.

Как работает

  • Остатки. В статусе «Получена» материалы и продукты поступают на склад. В статусах «План» и «Заказана» количество попадает в запланированное изменение остатка. Остатки пересчитываются сразу.
  • Цены. Смена статуса цены материалов не меняет: они обновляются уже при создании и редактировании поставки.
  • Дата получения. При переходе в «Получена» переданная date_received записывается в поставку, и поступление датируется ею. Без date_received дата получения не меняется. В других статусах date_received игнорируется.
  • Частичное получение. Если поставка была в статусе «Частично получена», при переходе в «Получена» неполученная часть оформляется еще одной отгрузкой.
  • Возврат из полученных. При переходе из «Получена» или «Частично получена» в «План» или «Заказана» отгрузки поставки удаляются, и все количество снова становится запланированным.
  • Тот же статус. Если поставка уже в переданном статусе, ничего не меняется, и метод отвечает успехом.

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

{
    "purchase_id": 29645,
    "status": 3,
    "date_received": "2026-10-09"
}

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

{
    "success": true
}

Ошибки

Ошибка Причина
No purchase_id in input Не передано обязательное поле (вместо purchase_id будет имя поля)
Invalid status value. Must be one of: 0, 1, 3 Неверный статус, в том числе 2
Purchase not found or access denied Поставка не найдена или удалена
Date is not a valid date in format YYYY-MM-DD Неверная date_received