01. DADOS GERAIS
| Produto: | TOTVS Distribuição e Varejo |
|---|---|
| Linha de Produto: | Linha Winthor |
| Segmento: | Distribuição |
| Módulo: | 8 - FERRAMENTAS DO SISTEMA |
| Função: | 801 - AUTORIZAÇÃO DE SERVIÇOS WEB |
| Requisito/Story/Issue: | DDVENDAS-53373 DDVENDAS-54613 DDVENDAS-54767 |
02. SITUAÇÃO/REQUISITO
- API de Reprocessamento do CMV
- Como analista de sistema ou processo de retaguarda
- Quero recalcular o CMV (Custo da Mercadoria Vendida) de um pedido via API
- Para refletir alterações recentes no preço de venda e impostos, sem afetar dados históricos como comissões, taxas ou custo original.
- Objetivo
- Criar uma API que recalcule os campos VLCUSTOFIN e VLCUSTOREAL da tabela PCPEDI, com base exclusivamente nos dados atuais já registrados na própria PCPEDI, sem buscar dados em outras fontes (como cadastro de produtos, históricos, ou tabelas auxiliares).
- Parâmetros de Entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| NUMPED | Number | Sim | Número do pedido de venda a ser recalculado. |
| CODPROD | Number | Não | Código do produto a ser recalculado. Se omitido, recalcula todos os produtos do pedido. |
| NUMSEQ | Number | Não | Número de sequência do item no pedido. |
- Se passar o CODPROD e o produto existir só uma vez na PCPPEDI com aquele NUMPED, o NUMSEQ NÃO é obrigatório. Mas, se houver mais de um CODPROD igual do mesmo pedido, o NUMSEQ é obrigatório, e se não for passado ou for inválido, a API deve retornar uma mensagem de erro alegando que existem dois produtos com mesmo código e o NUMSEQ não foi enviado ou não existe.
- Regras de Negócio
- O único escopo da API é recalcular os campos VLCUSTOFIN e VLCUSTOREAL da PCPEDI.
- O comportamento da opção 15 da rotina 507 será modelado apenas para o cálculo de VLCUSTOFIN e VLCUSTOREAL.
- A API não deve atualizar os seguintes campos, mesmo que a opção 15 da 507 o faça:
- CUSTOFINEST
- PERCOM
- Qualquer outro campo derivado de percentuais externos
- Cálculo de CMV
- A fórmula de recálculo deve considerar:
- PVENDA atual
- Adição de impostos como ST
- Adição de novos tributos como CBS, IBS, IS
OBS: Os impostos CBS, IBS e IS ainda NÃO estão na rotina 507, mas já existem na PCPEDI. A API deve considerá-los na soma do recálculo do CMV.
- Adição de novos tributos como CBS, IBS, IS
- Subtração de VLVERBACMV (quando houver)
- Percentuais como comissão e taxas devem ser considerados se já estiverem preenchidos na PCPEDI, mas não devem ser recalculados ou buscados novamente.
03. SOLUÇÃO
- Criado um novo end-point:
- curl --location 'http://localhost:8082/winthor/venda/v0/pedido/cmv/recalculo' \
--header 'Content-Type: application/json' \
--header 'Cookie: suukie=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJQQ0FETUlOIiwibmJmIjoxNzU5ODYxNjQ3LCJpc3MiOiJXVEFVU0VSIiwiZXhwIjoxNzU5ODc2MDQ3LCJpYXQiOjE3NTk4NjE2NDcsImp0aSI6ImQ2ZTNhZGYyLWZiOGUtNDI2Yy05YWNhLTU2NTZlZTQ0Y2NkYyJ9.W3JkbIDVUN0hVHG3ilh5Fk_wdURXvicgYBD8GK3m56U' \
--data '{
"numPed":4000000,
"codProd":1,
"numSeq":1
}'
- curl --location 'http://localhost:8082/winthor/venda/v0/pedido/cmv/recalculo' \
Para utilizar esta API, certifique-se de que o seguinte componente esteja atualizado:
- Serviço winthor-venda no WTA (Rotina 801). Versão mínima necessária: 0.37.31.31
Exemplo:
json de exemplo:
{
"numPed":4000000,
"codProd":1,
"numSeq":1
}
04. DEMAIS INFORMAÇÕES
Importante!
As versões estarão disponíveis para download no CCW.
https://centraldecontrole.pcinformatica.com.br/
Mantenha suas rotinas sempre atualizadas!
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas