01. DADOS GERAIS
| Produto: | |
|---|
| Linha de Produto: | |
|---|
| Segmento: | |
|---|
| 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-venda no 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
DataProgramada informando 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 a DataProgramada informada foram alterados. - Valide o Log: Consulte a tabela
PCLOG_TRIBUTACAO_PROGRAMADA para 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
DataProgramada para 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 para PCTABTRIB, 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
