Páginas filhas
  • DDVENDAS-50552 / DDVENDAS-51073 - DT - Winthor-Venda - API para atualização de vigência de tributação

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-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

  • NA