ITEM.PRW
CUSTOMIZAÇÃO DE CADASTRO DE PRODUTOS [SB1/SBZ]
Dados da Customização
Analista: Fernando Carvalho
Especificação da Customização
Esta rotina foi desenvolvida como um Ponto de Entrada (User Function) para o modelo de dados de Produtos (SB1), utilizando o framework MVC. O objetivo principal é a automação e sincronização de dados tributários e descritivos nas tabelas SB5 (Dados do Produto) e SBZ (Indicadores de Produtos) durante os processos de inclusão e alteração.
A lógica é acionada especificamente no ponto de controle FORMPOS (Pós-Posicionamento do Formulário), garantindo que, após o preenchimento dos dados do produto, as informações fiscais sejam calculadas via classe GRTRIBPR e replicadas para as filiais correspondentes.
Especificação de Tabelas e Índices
- SB1: Tabela mestre de Produtos, utilizada para leitura de dados básicos (NCM, Tipo, Grupo) e gravação de campos tributários.
- SB5: Dados Complementares do Produto, atualizada com a descrição (B5_CEME) do item.
- SBZ: Tabela de Indicadores de Produtos, utilizada para armazenar detalhes fiscais por filial (ICMS, PIS, COFINS, etc.).
Especificação de Parâmetros
Não foi identificado o uso de parâmetros de sistema (GETMV) específicos neste fonte.
Especificação de Perguntes
Não houve a utilização de grupos de perguntas (Pergunte) nesta rotina.
Especificação das Funções e Rotinas
[U_ITEM] - Ponto de Entrada acionado pelo modelo MVC de Produtos.
- Parâmetros: Recebe o array
PARAMIXB, contendo o objeto do modelo, o ID do ponto de controle e o ID do modelo. - Funcionamento:
- Valida se o ponto acionado é o FORMPOS.
- Identifica a operação ativa (3-Inclusão ou 4-Alteração).
- Instancia a classe
GRTRIBPRpara processamento fiscal. - Realiza a validação da NCM (SYD) e interrompe o processo caso seja inválida.
- Percorre as filiais definidas para atualizar ou incluir registros nas tabelas SB5 e SBZ.
- Atualiza os campos do modelo mestre (SB1MASTER) com os valores calculados (Aliquotas de ICMS, PIS, COFINS, etc.).
Roteiro de Homologação
Atualização de Dados Fiscais
- Acessar o Cadastro de Produtos (MATA010) via Protheus.
- Realizar a inclusão de um novo produto do tipo "ME" ou "PV"
- Informar os dados obrigatórios, incluindo NCM e Classe
- Ao confirmar (clicar em Salvar), o sistema deve validar a NCM.
- Verificar se foram criados/atualizados registros na tabela SB5 com a descrição correta.
- Verificar se os registros na tabela SBZ foram gerados para as filiais alvo com as alíquotas de impostos preenchidas.
- Validar se os campos tributários no cabeçalho do produto (SB1) foram preenchidos automaticamente conforme o retorno da classe fiscal.
Validação de NCM Inválida
- Tentar incluir ou alterar um produto informando uma NCM inexistente na tabela SYD.
- O sistema deve exibir uma mensagem de erro ("NCM INVÁLIDA") e impedir a gravação do registro.