01. DADOS GERAIS
| Produto: | TOTVS Distribuição e Varejo |
|---|---|
| Linha de Produto: | Linha Winthor |
| Segmento: | Distribuição |
| Módulo: | Serviços de Venda |
| Função: | API para atualização de vigência de tributação |
| País: | Brasil |
| Ticket: | |
| Requisito/Story/Issue: | DDVENDAS-50552, DDVENDAS-51073 |
02. SITUAÇÃO/REQUISITO
A necessidade fundamental é realizar a transição planejada das configurações tributárias, migrando dados previamente programados em tabelas temporárias para as tabelas definitivas do Winthor no momento exato da virada de vigência. Isso garante que o sistema utilize a tributação correta para operações de Varejo e Distribuição a partir de uma data específica, essencial para a conformidade fiscal e a precisão das operações.
03. SOLUÇÃO
Desenvolvemos uma API unificada que atua como orquestradora dessa virada tributária. A API recebe a data da programação como parâmetro obrigatório. Com essa data, ela busca as configurações de tributação que foram programadas nas tabelas temporárias associadas às rotinas 514, 574 e 271. Em seguida, a API realiza o UPDATE (atualização) dos registros correspondentes nas tabelas definitivas (PCTRIBUT, PCTABTRIB, PCPRODUT, PCTABPR). A estratégia de UPDATE foi escolhida por ser mais segura, mantendo os dados antigos em caso de falha na atualização. Um ponto crítico para a rastreabilidade e auditoria é a gravação de logs na tabela PCLOG_TRIBUTACAO_PROGRAMADA, registrando o estado dos dados antes da alteração.
Para utilizar esta API, certifique-se de que os seguintes componentes estão atualizados:
- Serviço
winthor-vendano WTA (Rotina 801). Versão mínima necessária:0.37.9.6. - Objeto de banco de dados
PCLOG_TRIBUTACAO_PROGRAMADA. Versão mínima necessária:7.0.01.000.
Passo a passo para acionar a API:
Siga estes passos para testar e acionar a funcionalidade da API:
- Gere os Dados Programados: Utilize as rotinas de parametrização de tributação (514, 574, 271) para criar configurações com uma data de programação futura. Esta data será o seu filtro para a API.
- Prepare a Chamada da API: Abra uma ferramenta para fazer requisições HTTP, como o Postman.
- Configure o Endpoint: Direcione a requisição para o endpoint da API:
/winthor/venda/v0/tributacao-programada/aplicar. - Inclua o Parâmetro de Data: No corpo da requisição (usualmente via Query Param ou Body, dependendo da implementação específica da API), passe o parâmetro
DataProgramadainformando a data exata que você usou no passo 1 para programar a tributação. - Acione a API: Envie a requisição.
- Valide a Atualização: Verifique no banco de dados se as tabelas definitivas (
PCTRIBUT,PCTABTRIB,PCPRODUT,PCTABPR) foram atualizadas. Importante: A validação deve garantir que SOMENTE os dados programados para aDataProgramadainformada foram alterados. - Valide o Log: Consulte a tabela
PCLOG_TRIBUTACAO_PROGRAMADApara confirmar se os registros de log foram gerados corretamente, contendo as informações das tabelas envolvidas (PCTRIBUT,PCTABTRIB,PCPRODUT,PCTABPR) e os valores antes e depois da atualização. - Teste do Cenário Negativo: Repita os passos 2-5, mas informando uma
DataProgramadapara a qual NÃO existam programações de tributação cadastradas nas rotinas 514, 574 ou 271. Valide que NADA foi alterado nas tabelas definitivas neste caso.
04. DEMAIS INFORMAÇÕES
- Esta documentação abrange as funcionalidades entregues nas tarefas DDVENDAS-50552 (foco inicial em
PCTRIBUT) e DDVENDAS-51073 (expandindo paraPCTABTRIB,PCTABPR,PCPRODUT). O teste conjunto é fundamental para validar a solução completa. - As tabelas afetadas pela atualização são:
PCTRIBUT,PCTABTRIB,PCPRODUT,PCTABPR. As tabelas temporárias de origem são:PCTRIBUT_PROGRAMADA,PCTABTRIB_PROGRAMADA,PCPRODUT_PROGRAMADA,PCTABPR_PROGRAMADA. A tabela de log éPCLOG_TRIBUTACAO_PROGRAMADA. - Nenhuma permissão de usuário ou parametrização específica (além das atualizações de versão) é necessária para a API em si.
05. ASSUNTOS RELACIONADOS
- NA