Ferramentas do usuário

Ferramentas do site


Action unknown: plugin_bookcreator__addtobook
enduser:erp:developer:integracao:integracaowebservice:orcamento:inclusaoitens

POST - Inclusão de Itens no Orçamento

Este método inclui um ou mais produtos em um orçamento de venda que já existe, com o mesmo comportamento da inclusão de item na Manutenção de Pedidos de Vendas (PRX125915) em modo orçamento. Os itens novos entram no fim da lista, e o orçamento tem desconto geral, impostos e valor total recalculados na mesma gravação.

api/OrcamentoVenda/{numero}/itens/inclusao

Exemplo URL

<IP do Serviço>:<Porta liberada para o serviço>/api/OrcamentoVenda/123456/itens/inclusao?CodigoEstabelecimento=1

Parâmetros URL

  • {numero} (*) - Número do orçamento que receberá os itens.
  • CodigoEstabelecimento - (Opcional) Estabelecimento ao qual pertence o orçamento. Quando não informado, é usado o estabelecimento da conexão do serviço.

Parâmetros do Header

authToken adquirido no Login.

Exemplo de Body

{
  "itens": [
    {
      "codigoProduto": 1001,
      "quantidade": 2,
      "precoUnitario": 20,
      "percentualComissao": 5
    },
    {
      "codigoProduto": 1002,
      "quantidade": 15,
      "percentualDesconto": 5,
      "codigosPoliticaDesconto": [19, 22],
      "prazoEntrega": "2026-11-10",
      "observacao": "cor azul"
    }
  ]
}

Explicação dos campos do Body

Campos com (*) são obrigatórios:

  • itens (*) → Lista → Produtos que serão incluídos. Precisa ter ao menos um item.
    • codigoProduto (*) → Long → Código do produto.
    • quantidade (*) → Decimal → Quantidade do item. Deve ser maior que zero.
    • precoUnitario → Decimal → Preço unitário do item. Quando não informado (ou zero), é usado o preço vigente do produto na tabela de preços do item. Não pode ser negativo.
    • percentualDesconto → Decimal → Percentual de desconto do item, entre 0 e 100. Quando não informado, o item fica sem desconto.
    • codigosPoliticaDesconto → Lista de Inteiros → Códigos da política de desconto de vendas aplicados ao item, em cascata. Todos precisam existir e estar ativos.
    • percentualComissao → Decimal → Percentual de comissão do item. Quando não informado, segue a mesma regra da inclusão de pedido de venda.
    • prazoEntrega → Date → Data de entrega do item, no formato “YYYY-MM-DD”. Quando não informada, vale a data de entrega do orçamento e, sem ela, a previsão de entrega calculada pelo ERP. Nunca fica anterior à data de cadastro do orçamento.
    • naturezaOperacao → Inteiro → Natureza de operação do item. Quando não informada, segue a regra do tipo de operação do orçamento, como na inclusão de pedido de venda.
    • cfop → Inteiro → CFOP do item. Quando não informado, segue a mesma regra da natureza de operação.
    • codTabelaPreco → Long → Tabela de preços do item. Quando não informada, vale a tabela do orçamento.
    • observacao → String → Observação do item.

O tipo de faturamento e o tipo de operação do item vêm sempre do orçamento, como na tela.

Como funciona a inclusão

► Conferência do orçamento

Antes de incluir, o método confere que o orçamento:

  • existe e ainda está na situação de orçamento;
  • não é um Orçamento de Itens Sob Projeto (esses são mantidos pelo PRX123915);
  • ainda não gerou pedido de venda nem virou pedido;
  • está em uma etapa que permite a rotina de Manutenção de Orçamentos e Pedidos, quando a empresa usa controle de etapas;
  • não está aberto no ERP por outro usuário.

► Conferência de cada item

  • Quando o parâmetro PRX125915-VALIDA-ITEM-TBPRECO está ativo, o produto precisa ter preço vigente na tabela de preços do item.
  • O preço unitário já com o desconto do item não pode ficar abaixo do preço mínimo da tabela, salvo com o parâmetro PERM-VLR-TOT-MENOR-PRECO-MIN ativo.
  • Com o parâmetro PV-USA-LIMITE-DESC ativo, o desconto respeita o limite de desconto configurado.
  • Produto cancelado só é aceito com o parâmetro ORC-PERM-PROD-INAT ativo.

► Gravação

A chamada é tudo ou nada: se qualquer item for recusado, nenhum é gravado. Com todos aceitos, o ERP:

  • aplica a política de desconto em cascata sobre o preço do item;
  • recalcula o desconto geral do orçamento: com o parâmetro DEFINE-PCT-BASE-VALOR-DESCONTO ativo, mantém o valor do desconto e recalcula o percentual; desativado, mantém o percentual e recalcula o valor;
  • recalcula IPI, ICMS-ST e os tributos da reforma (CBS, IBS e IS) dos itens, e o valor total do orçamento, com a mesma fórmula da tela;
  • recalcula as parcelas pela condição de pagamento somente com os parâmetros PV-UTIL-COND-PERS e PRX125915-SEMPRE-GRAVA-PEDVP ativos, preservando as parcelas de antecipação; sem eles, as parcelas existentes não mudam;
  • renumera as sequências dos itens de 1 em diante;
  • registra a inclusão no histórico do orçamento.

A situação, a aprovação e a revisão do orçamento continuam as mesmas.

As sequências são renumeradas a cada gravação. Antes de alterar ou excluir itens, consulte o orçamento em GET - Consulta Orçamento de Venda para obter as sequências atuais.

Exemplos de Retorno

Sucesso

{
  "bemSucedido": true,
  "mensagemFalha": null,
  "novoCodigo": null,
  "dados": [ ]
}

Falha no formato da requisição

Lista de itens vazia, produto ou quantidade não informados, desconto fora da faixa de 0 a 100 ou preço negativo recusam a requisição (HTTP 400) antes de qualquer consulta ao orçamento. O motivo de cada campo vem em dados:

{
  "bemSucedido": false,
  "mensagemFalha": "Algumas validações para a inclusão de itens no orçamento não foram bem-sucedidas. Consulte os detalhes para mais informações.",
  "novoCodigo": null,
  "dados": [ ... ]
}

Falha na conferência do orçamento ou dos itens

A recusa também volta com HTTP 400 e bemSucedido igual a false, com uma mensagem por problema em dados. As mais comuns:

Mensagem O que fazer
Orçamento não encontrado. Confira o número e o estabelecimento informados.
O registro {numero} não é um orçamento. O número é de um pedido de venda; a rota vale só para orçamento.
Este orçamento já gerou o pedido {pedido}. Não poderá ser alterado! Faça a mudança no pedido gerado.
Orçamento {numero} encontra-se na etapa '…', que não permite alterações na rotina de … Mude a etapa do orçamento ou libere a rotina na etapa.
Orçamento em uso por outro usuário: {usuário}. Peça ao usuário para fechar o orçamento no ERP e envie de novo.
Sequência {n} (produto {código}): O preço unitário com desconto (…) é menor que o preço mínimo (…) cadastrado na tabela de preços {tabela}. Ajuste o preço ou o desconto do item.
Sequência {n} (produto {código}): O produto não possui preço vigente na tabela de preços {tabela} informada para o item. Cadastre o preço do produto na tabela ou informe outra tabela.
Política de desconto informada nos itens do orçamento é inexistente ou inativa. Confira os códigos de codigosPoliticaDesconto.
Estabelecimento não encontrado. Confira o CodigoEstabelecimento da URL.
enduser/erp/developer/integracao/integracaowebservice/orcamento/inclusaoitens.txt · Última modificação: por 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki