Inclusão e Alteração de Itens no Pedido

Regras de negócio

O objetivo é incluir no ERP um pedido de venda ou pedido de compra negociado, por exemplo em 01/01 para ser entregue em até 31/12, durante esse prazo de negociação, ocorrem algumas variações do preço na quantidade dos itens, assim como itens excluídos e incluídos na negociação, por isso existe a necessidade de manter um pedido de venda faturado parcialmente e que poderá sofrer manutenções/alterações.
Para realizar configuração no sistema com o tipo de operação - Top e habilitar algumas marcações "Permitir Alteração após confirmar" e "Permite alterar itens após faturar parcialmente" e "Gravar histórico de alterações do pedido" que possibilita a alteração do pedido de compra ou pedido de venda, faturado parcialmente no sistema.
OBS: Caso tenha alguma necessidade de configuração do ERP procure “Consultor” ou acesso o link de apoio:
https://ajuda.sankhya.com.br/hc/pt-br/articles/360045109773-Altera%C3%A7%C3%A3o-de-Pedidos-Parcialmente-Faturados#prefer%C3%AAncias

Dependências

Para realizar a inclusão ou alteração de itens no pedido, os seguintes itens são obrigatórios:
1) Logar no sistema utilizando o Serviço de Login descrito nesta documentação em Login;
2) Produtos/Serviços preeviamente cadastrados e ativos;
3) Empresas previamente cadastradas e ativas;
4) Top's configuradas devidamente tipo de movimentação "Pedido de venda";
5) Tipo de operação(TOP) utilizado no pedido deve estar configurada para permitir a alteração do "pedido" após a "confirmação" do mesmo.

Detalhes Técnicos

O serviço utilizado para inclusão e alteração de itens no pedido é o CACSP.incluirAlterarItemNota que instancia as entidades principais para o envio de item no pedido, as entidades que este serviço utiliza são:
• CabecalhoNota; • ItemNota.
Os campos obrigatórios dependem estritamente da configuração de TOP,empresa, produto, etc. Portanto, neste exemplo colocamos os campos tipicamente obrigatórios em todos os casos de uso. Este exemplo não tenta exaurir as possibilidades,que são muitas, então em alguns casos a chamada a esse serviço pode resultar em mensagem de erro exigindo que outros campos sejam enviados.
Apenas um item pedido/nota pode ser enviado por vez.
Para realizar a inclusão do item no pedido através do Json, os campos abaixo são obrigatórios:

CABEÇALHO DO PEDIDO
• NUNOTA – Numero Único da nota;

ITENS DO PEDIDO
        • CODPROD – Código do Produto;
        • QTDNEG – Quantidade;
        • CODLOCALORIG – Código local de Origem;
        • CODVOL – Código do Volume;
        • SEQUENCIA - Sequência do item no pedido;
        • VLRUNIT - Valor Unitário;
        • VLRTOT - Valor total do item(QTDNEG x VLRUNIT);
        • VLRDESC - Valor do Desconto;
        • PERCDESC - Percentual de Desconto.
                 

Para realizar a alteração de itens do pedido basta informar o número da SEQUÊNCIA do item a ser alterado pelo JSON, segue exemplo:
        "SEQUENCIA":{
            "$":"10"
         }

Descritivo de Campos das Entidades

Acesse aqui o dicionário de dados da tabela TGFCAB
Acesse aqui o dicionário de dados da tabela TGFITE

Exemplo de uso:

URL de chamada: https://api.sankhya.com.br/gateway/v1/mgecom/service.sbr?serviceName=CACSP.incluirAlterarItemNota&outputType=json
Corpo de Requisição Padrão para Inclusão:
{
   "serviceName":"CACSP.incluirAlterarItemNota",
   "requestBody":{
      "nota":{
         "NUNOTA":"7468",
         "itens":{
            "item":{
               "CODPROD":{
                  "$":"129"
               },
               "NUNOTA":{
                  "$":"7468"
               },
               "SEQUENCIA":{
                  "$":""
               },
               "QTDNEG":{
                  "$":"10"
               },
               "VLRUNIT":{
                  "$":"10"
               },
               "VLRTOT":{
                  "$":"432.38"
               },
               "CODVOL":{
                  "$":"UN"
               },
               "VLRDESC":{
                  "$":"0"
               },
               "PERCDESC":{
                  "$":"0"
               }
            }
         }
      }
   }
}

Corpo de Requisição Padrão para Alteração:
{
   "serviceName":"CACSP.incluirAlterarItemNota",
   "requestBody":{
      "nota":{
         "NUNOTA":"7468",
         "itens":{
            "item":{
               "CODPROD":{
                  "$":"129"
               },
               "NUNOTA":{
                  "$":"7468"
               },
               "SEQUENCIA":{
                  "$":"10"
               },
               "QTDNEG":{
                  "$":"8"
               },
               "VLRUNIT":{
                  "$":"10"
               },
               "VLRTOT":{
                  "$":"432.38"
               },
               "CODVOL":{
                  "$":"UN"
               },
               "VLRDESC":{
                  "$":"0"
               },
               "PERCDESC":{
                  "$":"0"
               }
            }
         }
      }
   }
}              

Retorno em json:

{
    "serviceName": "CACSP.incluirAlterarItemNota",
    "status": "1",
    "pendingPrinting": "false",
    "transactionId": "46457EBA87743376561485A6021C8D8A",
    "responseBody": {
        "pk": {
            "NUNOTA": {
                "$": "7468"
            },
            "SEQUENCIA": {
                "$": "8"
            }
        }
    }
}
Language
Click Try It! to start a request and see the response here!