Изменяет перемещение. Меняются только переданные поля, остальные остаются прежними. Подробнее о частичном редактировании в статье Общие правила.
v1/transfers/edit.php
Параметры
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| transfer_id | int | Да | ID перемещения |
| materials | array | Нет | Перемещаемые материалы: id или sku и amount |
| products | array | Нет | Перемещаемые продукты: id или sku и amount |
| source_storage_id | int | Нет | Склад, с которого перемещаются позиции |
| target_storage_id | int | Нет | Склад, на который перемещаются позиции |
| num | string | Нет | Номер |
| date | string | Нет | Дата перемещения, YYYY-MM-DD |
| notes | string | Нет | Заметки |
Если передан materials или products, строки заменяются целиком. Строки передаются только в одном массиве, как в v1/transfers/add. Если не передан ни один массив, строки остаются прежними. Статус этим методом не меняется, для него есть v1/transfers/update_status.
Как работает
- Пересчет. Перемещение проводится заново: прежние движения отменяются, строки списываются с источника по FIFO с текущими остатками. Статус сохраняется.
- Тип перемещения меняется вместе со строками: передайте строки в другом массиве, например products вместо materials.
- Склады проверяются, только если переданы склады или строки. Тогда оба склада, в том числе непереданный, должны существовать, различаться и хранить позиции типа перемещения. Поэтому перемещение со складом, который позже удалили, можно изменить, если не передавать склады и строки.
Пример запроса
{
"transfer_id": 6967,
"target_storage_id": 4005,
"notes": "В магазин на Гагарина"
}
Пример ответа
{
"success": true
}
Ошибки
| Ошибка | Причина |
|---|---|
| No transfer_id in input | Не передан transfer_id |
| Transfer not found or access denied | Перемещение не найдено или удалено |
| A transfer moves either materials or products. Create separate transfers | Переданы и materials, и products |
| No products or materials in input | Массивы строк переданы, но пустые |
| 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 | Склад не найден или удален |
| Source and target storage locations must be different | Склады совпадают |
| Storage location 4005 does not store products | Склад не хранит позиции этого типа |
| Date is not a valid date in format YYYY-MM-DD | Неверный формат даты |
Остальные ошибки строк такие же, как в v1/transfers/add.