Изменяет строки инвентаризации. Дата, склад и тип инвентаризации не меняются.

```
v1/audits/edit.php
```

## Параметры

| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| audit_id | int | Да | ID инвентаризации |
| materials | array | Нет | Строки инвентаризации материалов: id или sku, actual, notes |
| products | array | Нет | Строки инвентаризации продуктов: id или sku, actual, notes |

Строки передаются так же, как в [v1/audits/add](https://developers.controlata.ru/hc/api-docs/articles/audits-add), и только в массиве того типа, который считает инвентаризация.

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

* **Строки заменяются целиком.** Позиция, которой нет в запросе, удаляется из инвентаризации, а ее корректировка отменяется. Чтобы изменить одну строку, передайте все строки, например из ответа [v1/audits/get_entry](https://developers.controlata.ru/hc/api-docs/articles/audits-get-entry).
* **Ожидаемый остаток.** У строк, которые уже были в инвентаризации, остается сохраненный ожидаемый остаток. У новых строк он рассчитывается на дату инвентаризации без учета ее собственных корректировок.
* **Корректировки** проводятся заново по новым фактическим остаткам. Статус инвентаризации сохраняется.
* Если не передан ни materials, ни products, ничего не меняется, а метод отвечает успехом. Другие поля (date, storage_id) метод не принимает и молча пропускает.

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

```
{
    "audit_id": 1699,
    "materials": [
        {
            "id": 2051,
            "actual": 4
        },
        {
            "sku": "M022",
            "actual": 0,
            "notes": "Не найдено на складе"
        }
    ]
}
```

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

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

## Ошибки

| Ошибка | Причина |
|---|---|
| No audit_id in input | Не передан audit_id |
| Audit not found or access denied | Инвентаризация не найдена или удалена |
| This audit counts materials. Its type cannot be changed | Строки переданы в массиве другого типа (для продуктов: This audit counts products) |
| An audit counts either materials or products. Create separate audits | Переданы и materials, и products |
| No products or materials in input | Массивы строк переданы, но пустые |
| Material with id 2051 not found | Материал не найден или удален |
| Actual must be 0 or greater for material with id 2051 | actual не передан, не число или меньше 0 |
| Material with id 2051 is listed twice | Позиция указана в двух строках |

Остальные ошибки строк такие же, как в [v1/audits/add](https://developers.controlata.ru/hc/api-docs/articles/audits-add).
