Устанавливает остаток материала на складе. Передается итоговый остаток, а не изменение: Controlata создаст корректировку на разницу между текущим и новым остатком.

`POST https://api.controlata.ru/connect/v1/materials/update_stock.php`

## Параметры

| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| material_id | int | Да | ID материала |
| storage_id | int | Да | ID склада |
| stock | float | Да | Новый остаток |
| notes | string | Нет | Заметки к корректировке |

## Как работает

* Увеличение остатка оценивается по цене материала, уменьшение списывает партии по FIFO.
* Остаток можно установить на любом складе, даже если материал там раньше не числился. На таком складе материал будет числиться, пока остаток не станет нулевым (см. [Материалы](https://developers.controlata.ru/hc/api-docs/articles/materials)).

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

```
{
    "material_id": 2051,
    "storage_id": 3998,
    "stock": 4.2,
    "notes": "Инвентаризация на складе"
}
```

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

```
{
    "success": true
}
```

## Ошибки

| Ошибка | Причина |
|---|---|
| No stock in input | Не передано обязательное поле (вместо stock будет имя поля) |
| Material not found or access denied | Материал не найден или удален |
| Storage ID not found | Склад не найден или удален |
| Invalid stock value. Must be a number | Остаток не число, например "" или "4,2" |
