Перейти к содержаниюСправка

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

hc:api:inflow [26.09.2026 14:03] – создано - внешнее изменениеhc:api:inflow [25.10.2026 18:32] (текущий) – внешнее изменение
Строка 28: Строка 28:
 ===== Статусы документа ===== ===== Статусы документа =====
  
-Статус хранится в поле ''status''. Документ проходит четыре этапа:+Статус хранится в поле ''status''. Документ проходит три этапа:
  
 ^ Значение ^ Название ^ Что означает ^ ^ Значение ^ Название ^ Что означает ^
 | ''draft'' | Черновик | Документ наполняется. Остатки на складе не менялись. Только в этом статусе документ можно удалить | | ''draft'' | Черновик | Документ наполняется. Остатки на складе не менялись. Только в этом статусе документ можно удалить |
-| ''confirm'' | Товар поступил, идёт сверка | Промежуточный статус. Остатки ещё не изменены | +| ''confirm'' | Сверка | Промежуточный статус: товар пересчитывают и сравнивают с документом. Остатки ещё не изменены | 
-| ''accept'' | Принят | Товар оприходован, остатки на складе увеличены. Изменение количества — только корректировкой. Можно откатить методом ''rollback'' | +| ''complete'' | Принят | Товар оприходован, остатки на складе увеличены. Строки не меняются: исправления вносятся корректировкой поступления в Панели управления. Можно откатить методом ''rollback'' |
-| ''complete'' | Принят окончательно | Корректировки недоступны. Откатить через API нельзя |+
  
-Статус можно сменить параметром ''status'' в методах ''update'' и ''batchUpdate'' либо отдельным методом ''accepting''. Переход в ''accept'' или ''complete'' принимает документ на склад. Назад по цепочке статус этими методами вернуть нельзя: для отката принятого документа используйте ''rollback'' (только из статуса ''accept'').+Статус можно сменить параметром ''status'' в методах ''update'' и ''batchUpdate'' либо отдельным методом ''accepting''. Переход в ''complete'' принимает документ на склад. Значение ''accept'' (прежний этап «Принят с корректировками») по-прежнему принимается и тоже переводит документ в ''complete''. Назад по цепочке статус этими методами вернуть нельзя: для отката принятого документа используйте ''rollback''.
  
 ===== Получение поступлений ===== ===== Получение поступлений =====
Строка 58: Строка 57:
 | **days** | Число. Глубина поиска в днях от текущей даты. По умолчанию 30. Действует только если не заданы ''date'', ''datefrom'', ''cdatefrom'' и ''last_update_date'' | | **days** | Число. Глубина поиска в днях от текущей даты. По умолчанию 30. Действует только если не заданы ''date'', ''datefrom'', ''cdatefrom'' и ''last_update_date'' |
 | **withitems** | ''1'' — добавить строки документов. По умолчанию возвращаются только шапки | | **withitems** | ''1'' — добавить строки документов. По умолчанию возвращаются только шапки |
-| **withadjustment** | ''1'' — добавить данные корректировки поступления |+| **withadjustment** | ''1'' — добавить объект корректировки (оставлен для совместимости, всегда пустой) |
 | **format** | ''json'' (по умолчанию) или ''xml'' | | **format** | ''json'' (по умолчанию) или ''xml'' |
 </WRAP> </WRAP>
Строка 116: Строка 115:
 | **UPD_num**, **UPD_date** | Строка. Номер и дата УПД | | **UPD_num**, **UPD_date** | Строка. Номер и дата УПД |
 | **correction_num** | Строка. Номер исправления | | **correction_num** | Строка. Номер исправления |
-| **parent_id**, **overcome_id**, **undercome_id** | Число. Ид связанных документов: родительского поступления и корректировок излишков и недостач |+| **parent_id**, **overcome_id**, **undercome_id** | Всегда null. Оставлены для совместимости: корректировочных поступлений больше нет |
 | **request_id** | Число. Ид заявки на пополнение запасов, по которой создано поступление | | **request_id** | Число. Ид заявки на пополнение запасов, по которой создано поступление |
 | **znak_document_id**, **znak_status**, **znak_acceptance_type** | Данные подтверждения в системе маркировки | | **znak_document_id**, **znak_status**, **znak_acceptance_type** | Данные подтверждения в системе маркировки |
Строка 135: Строка 134:
 | **amount** | Строка. Сумма по строке | | **amount** | Строка. Сумма по строке |
 | **vat_rate**, **vat_sum**, **sum_minus_vat** | Строка. Ставка НДС, сумма НДС и сумма без НДС | | **vat_rate**, **vat_sum**, **sum_minus_vat** | Строка. Ставка НДС, сумма НДС и сумма без НДС |
-| **manuf_date**, **expir_date** | Дата изготовления и срок годности |+| **manuf_date**, **expir_date** | Дата изготовления и срок годности. Сроки есть только у строки с серией (''lot_number''): у серии, которая уже есть на складе поступления, — сроки остатка, у новой — переданные. Без серии — ''null'' |
 | **lot_number** | Строка. Серия (партия) | | **lot_number** | Строка. Серия (партия) |
 | **external_id** | Строка. Код строки во внешней системе | | **external_id** | Строка. Код строки во внешней системе |
Строка 142: Строка 141:
 </WRAP> </WRAP>
  
-**Корректировка** (при ''withadjustment=1'', объект ''adjustment''; пустой список, если корректировки нет) +**Корректировка** (при ''withadjustment=1'', объект ''adjustment'') — оставлен для совместимости и всегда возвращается пустым списком. Корректировки поступления теперь оформляются отдельными документами в Панели управления, а строки поступления после проведения корректировки уже содержат исправленные значения.
- +
-<WRAP props> +
-| **id** | Ид корректировки поступления | +
-| **title** | Название корректировки | +
-| **created_date** | Дата создания | +
-| **items** | Строки корректировки: ''line_id'', ''item_id'', ''item_ext_id'', ''item_name'', ''quantity'' (фактическое количество), ''quantity_expected'' (ожидаемое) | +
-</WRAP>+
  
 ==== Пример ответа ==== ==== Пример ответа ====
Строка 167: Строка 159:
         "waybill": "118",         "waybill": "118",
         "docdate": "2026-09-01 00:00:00",         "docdate": "2026-09-01 00:00:00",
-        "status": "accept",+        "status": "complete",
         "comment": "Поставка сентября",         "comment": "Поставка сентября",
         "created_date": "2026-09-01 10:14:02",         "created_date": "2026-09-01 10:14:02",
Строка 235: Строка 227:
       <warehouse_id>6</warehouse_id>       <warehouse_id>6</warehouse_id>
       <docdate>2026-09-01 00:00:00</docdate>       <docdate>2026-09-01 00:00:00</docdate>
-      <status>accept</status>+      <status>complete</status>
       <!-- остальные поля шапки -->       <!-- остальные поля шапки -->
       <items>       <items>
Строка 302: Строка 294:
  
 <WRAP important> <WRAP important>
-**Смена статуса выполняется вместе с сохранением.** При переводе в ''accept'' или ''complete'' документ принимается на склад: должна быть хотя бы одна строка, а все строки должны ссылаться на существующие товары, иначе придёт ошибка и статус не изменится. Если сохранить не удалось, вся операция отменяется.+**Смена статуса выполняется вместе с сохранением.** При переводе в ''complete'' (или ''accept'') документ принимается на склад: должна быть хотя бы одна строка, а все строки должны ссылаться на существующие товары, иначе придёт ошибка и статус не изменится. Если сохранить не удалось, вся операция отменяется.
 </WRAP> </WRAP>
  
Строка 326: Строка 318:
       <docdate>2026-09-01</docdate>       <docdate>2026-09-01</docdate>
       <comment>Поставка</comment>       <comment>Поставка</comment>
-      <status>accept</status>+      <status>complete</status>
       <items>       <items>
         <item>         <item>
Строка 381: Строка 373:
 Ответ обоих методов: ''{"success":1,"id":21230}''. Ответ обоих методов: ''{"success":1,"id":21230}''.
  
-  * **accepting** принимает документ из статуса ''draft'' сразу в статус ''accept'': добавляет количество из строк в остатки склада, пересчитывает закупочную цену остатка и записывает движение товара. Условия: в документе есть хотя бы одна строка, нет пустых строк без товара, все товары существуют в ассортименте. +  * **accepting** принимает документ из статуса ''draft'' или ''confirm'' в статус ''complete'': добавляет количество из строк в остатки склада, пересчитывает закупочную цену остатка и записывает движение товара. Условия: в документе есть хотя бы одна строка, нет пустых строк без товара, все товары существуют в ассортименте. 
-  * **rollback** отменяет принятие документа из статуса ''accept'': возвращает остатки к прежним значениям и переводит документ в ''draft''. Документ в статусе ''complete'' откатить нельзя.+  * **rollback** отменяет принятие документа из статуса ''complete'': возвращает остатки к прежним значениям и переводит документ в ''draft''. Откатить нельзя, если по поступлению есть корректировки или оно уже зарегистрировано в МДЛП.
  
 ===== Строки документа ===== ===== Строки документа =====
Строка 492: Строка 484:
 | Inflow was already accepted | accepting | Документ уже принят | Ничего делать не нужно | | Inflow was already accepted | accepting | Документ уже принят | Ничего делать не нужно |
 | Accepting failed. … | accepting | Нет строк, есть пустые строки или товары, которых нет в ассортименте | Исправьте документ, текст после точки поясняет причину | | Accepting failed. … | accepting | Нет строк, есть пустые строки или товары, которых нет в ассортименте | Исправьте документ, текст после точки поясняет причину |
-| Inflow was not accepted or has been already rollbacked | rollback | Документ не в статусе ''accept'' | Откат возможен только для принятого документа |+| Inflow was not accepted or has been already rollbacked | rollback | Документ не в статусе ''complete'' | Откат возможен только для принятого документа |
 | Не указан документ поступления | upload | Не передан ''waybill'' | Передайте номер накладной | | Не указан документ поступления | upload | Не передан ''waybill'' | Передайте номер накладной |
 | Не передан идентификатор поставщика / точки продаж | upload | Не указаны ни ид, ни внешний код | Передайте ''supplier_id'' или ''warehouse_id'' | | Не передан идентификатор поставщика / точки продаж | upload | Не указаны ни ид, ни внешний код | Передайте ''supplier_id'' или ''warehouse_id'' |