Материалы: сырье и комплектующие, из которых производятся продукты. Через API их можно создавать, редактировать и удалять, получать список и данные материала, обновлять остатки на складах.
Общие для всех методов правила (авторизация, формат запросов, частичное редактирование, постраничная выдача) описаны в статьях Обзор API и Общие правила.
Методы
| Метод | Что делает |
|---|---|
| materials/add | Создает материал |
| materials/edit | Изменяет материал |
| materials/delete | Удаляет материал |
| materials/update_stock | Устанавливает остаток на складе |
| materials/get_list | Возвращает материалы склада |
| materials/get_entry | Возвращает данные материала |
| materials/get_stocks | Возвращает остатки материалов по всем складам |
Поля материала
| Поле | Тип | Описание |
|---|---|---|
| id | int | ID материала |
| name | string | Название |
| sku | string | Артикул |
| unit | string | Единица измерения, код из статьи Справочники |
| price | float | Цена за единицу. Используется для расчета себестоимости продуктов |
| notes | string | Заметки |
| archived | int | 1, если материал в архиве |
| categories | array | Категории материала: id и name |
| suppliers | array | Поставщики материала: id и name |
Остатки на складах
Остаток, минимальный остаток и запланированное изменение хранятся отдельно для каждого склада. Поэтому методы, которые их возвращают или меняют, принимают storage_id.
| Поле | Тип | Описание |
|---|---|---|
| stock | float | Остаток на складе |
| minimum | float | Минимальный остаток на складе |
| planned | float | Изменение остатка по операциям в статусе План (поставки, производства, заказы). null, если таких операций нет |
Материал числится на складе, если у него там есть строка остатка, в том числе с нулевым остатком. Такая строка появляется:
- на складе, указанном при создании материала;
- на складах, где в настройках материалов выбрано Все, и на складах, чьи категории совпадают с категориями материала;
- на любом другом складе, когда туда приходит остаток (поставка, перемещение, обновление остатка). Если остаток на таком складе снова становится нулевым, строка удаляется.
Методы get_list и get_entry видят материал только на тех складах, где у него есть строка остатка.
Цена и себестоимость
Цена материала (price) определяет себестоимость продуктов, в состав которых он входит. При изменении цены Controlata пересчитывает себестоимость таких продуктов. Поставка материала обновляет его цену по сумме поставки.