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

Максим

Максим

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

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

v1/production/edit.php

Параметры

Поле Тип Обязательное Описание
production_id int Да ID производства
products array Нет Выпускаемые продукты: id или sku и amount, как в v1/production/add. Заменяют текущие целиком
date string Нет Дата производства, YYYY-MM-DD
name string Нет Название
notes string Нет Заметки
produce_subproducts int Нет 1: производить заготовки вместе с продуктами, 0: списывать их со склада
materials_storage_id int Нет Склад, с которого списываются материалы
subproducts_storage_id int Нет Склад, с которого списываются использованные продукты
products_storage_id int Нет Склад, на который поступают произведенные продукты

Статус этим методом не меняется, для него есть v1/production/update_status. Номер изменить нельзя.

Как работает

  • Пересчет. Любое изменение, даже только заметок, заново рассчитывает расход по текущим составам продуктов и текущим остаткам. Флаг bom_changed после этого сбрасывается в 0. Производство остается в своем статусе.
  • Ручные уточнения расхода, сделанные в Controlata, сохраняются. Исключение: при produce_subproducts, равном 1, уточнения по использованным продуктам удаляются, потому что заготовки производятся по своим составам.
  • Склады. Переданный склад должен существовать, 0 не принимается. Если у производства выбран автоматический склад, не передавайте поле склада, чтобы его сохранить.
  • Привязанные списания после пересчета снова добавляются к себестоимости производства.
  • Производство под заказ (order_id больше 0). Продукты задает заказ, поэтому products можно передать только с теми же продуктами и количеством, например в другом порядке. Остальные поля меняются как обычно.

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

{
    "production_id": 39978,
    "products": [
        {
            "id": 512,
            "amount": 12
        }
    ],
    "notes": "Добавили два стола"
}

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

{
    "success": true
}

Ошибки

Ошибка Причина
No production_id in input Не передан production_id
Production not found or access denied Производство не найдено или удалено
Products of a production linked to a sale cannot be changed. Edit the sale instead Изменение продуктов производства под заказ
No products in input Передан пустой массив products
Products is not an array products не массив
Product with id 512 not found Продукт не найден или удален
Amount must be greater than 0 for product with id 512 Количество не число или не больше 0 после округления
Storage ID is not set Передан склад, равный 0 или пустой
Storage ID not found Склад не найден или удален
Date is not a valid date in format YYYY-MM-DD Неверный формат даты

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