Atualizar a quantidade real utilizada de um recurso de inventário

Este serviço web permite ajustar a quantidade real utilizada (real_qty_used) de um recurso de inventário de uma tarefa de ordem de serviço, de forma independente da quantidade entregue. Funciona tanto para almoxarifados integrados quanto não integrados, desde que o recurso já tenha uma entrega registrada e o novo valor seja menor ou igual à quantidade entregue.

Ao aplicar a alteração, o custo total do recurso é recalculado como real_qty_used × custo unitário. A quantidade entregue, o custo unitário e o estoque do almoxarifado não são modificados.

Parâmetros de entrada

ParâmetroTipoObrigatórioDescrição
code_warehousetextoSimCódigo do almoxarifado do qual o recurso foi entregue.
code_itemtextoSimCódigo do item (peça ou ferramenta) associado ao recurso da tarefa.
output_ordertextoSimNúmero da ordem de saída com a qual o recurso foi entregue no almoxarifado.
real_qty_usednúmeroSimNova quantidade real utilizada. Deve ser maior ou igual a 0 e menor ou igual à quantidade entregue. Aceita decimais.

Regras de uso

  • O recurso deve ter uma entrega prévia registrada (quantidade entregue maior que 0).
  • O recurso é identificado pela combinação de code_warehouse, code_item e output_order.
  • Em almoxarifados integrados com a opção de quantidades zeradas por integração externa ativa, o ajuste manual da quantidade real utilizada não é permitido e a solicitação é rejeitada com CHECK_WAREHOUSES_MODULE_CONFIGURATION. Esta validação tem prioridade sobre a comparação com a quantidade entregue.
  • Se duas solicitações sobre o mesmo recurso chegarem quase ao mesmo tempo, prevalece a última a ser processada.
  • O token deve ter permissão de edição sobre este serviço. Caso contrário, a API responde 401.

Parâmetros de saída

ParâmetroTipoDescrição
successbooleanotrue se a quantidade real utilizada foi atualizada com sucesso.
messagetextoCódigo de resultado. 200 se a operação foi bem-sucedida.
dataarraynull em caso de sucesso. Em caso de erro, contém um objeto com o campo ERROR que descreve a causa.
totalinteiro1 se o recurso foi atualizado. 0 em caso de erro.

Erros

CódigoCausa
400REAL_QTY_CANT_BE_MAJOR_THAN_DELIVERED_QTY: real_qty_used é negativo ou maior que a quantidade entregue.
400CHECK_WAREHOUSES_MODULE_CONFIGURATION: o almoxarifado é integrado e tem ativa a opção de quantidades zeradas por integração externa. Revise a configuração do módulo Almoxarifados.
404Falta algum dos campos obrigatórios (code_warehouse, code_item, output_order ou real_qty_used).
404O almoxarifado, o item ou a ordem de saída informados não existem, ou a combinação não corresponde a um recurso válido.
404O recurso não possui uma entrega prévia registrada.
401Token inválido (INVALID_TOKEN) ou sem permissão sobre o serviço (UNAUTHORIZED_ENDPOINT).

Nota sobre os códigos de erro

Este serviço retorna message: "404" quando falta um campo obrigatório, quando o almoxarifado, o item ou a ordem de saída não são encontrados, e quando o recurso não possui uma entrega prévia. As validações sobre o valor de real_qty_used e sobre a configuração do almoxarifado retornam message: "400".


Exemplo

Request body

{
  "code_warehouse": "ALM-001",
  "code_item": "REP-0045",
  "output_order": "12",
  "real_qty_used": 7
}

Response 200

{
  "success": true,
  "message": "200",
  "data": null,
  "total": 1
}

Response — Quantidade maior que a entregue (400)

{
  "success": false,
  "message": "400",
  "data": [
    {
      "ERROR": "REAL_QTY_CANT_BE_MAJOR_THAN_DELIVERED_QTY"
    }
  ],
  "total": 0
}

Response — Almoxarifado integrado com ajuste manual não permitido (400)

{
  "success": false,
  "message": "400",
  "data": [
    {
      "ERROR": "CHECK_WAREHOUSES_MODULE_CONFIGURATION"
    }
  ],
  "total": 0
}

Response — Recurso sem entrega prévia (404)

{
  "success": false,
  "message": "404",
  "data": [
    {
      "ERROR": "A previous delivery (qty_delivered > 0) is required before adjusting real_qty_used"
    }
  ],
  "total": 0
}

Response — Campo obrigatório ausente (404)

{
  "success": false,
  "message": "404",
  "data": [
    {
      "ERROR": "output_order is required"
    }
  ],
  "total": 0
}
Language
LoadingLoading…