MT410INC — Validação na Inclusão do Pedido de Venda (MATA410)

Tempo de leitura: 4 minutos

Você solicitou um Ponto de Entrada para a rotina MATA410 (Pedido de Venda), focando na inclusão. Embora o ponto A410EXC trate da exclusão, o mais relevante para validação durante a inclusão é o MT410INC.

O MT410INC é o exit point ideal para implementar regras de negócio complexas que precisam ser verificadas antes que o Pedido de Venda seja efetivamente gravado nas tabelas SC5 e SC6.

🚀 Quer evoluir no ADVPL de verdade?

Receba conteúdos práticos, códigos prontos e dicas que você 

 não aprende na documentação oficial

✔ Funções essenciais do ADVPL
✔ Exemplos reais usados no Protheus
✔ Dicas de debug e performance

🔐 Seu email está seguro. Sem spam.

🎯 O que é o Ponto de Entrada MT410INC?

 

O Ponto de Entrada MT410INC é uma validação pós-digitação de dados na rotina de Inclusão de Pedido de Venda (MATA410), no módulo SIGAFAT – Faturamento.

Ele é executado após o usuário preencher todos os campos, mas antes do registro ser gravado no banco de dados. Sua principal função é permitir que o desenvolvedor ADVPL bloqueie a gravação do pedido caso alguma regra de negócio customizada não seja atendida.

 

✨ Funcionalidade e Aplicações

 

O MT410INC deve retornar um valor lógico: .T. (Verdadeiro) para permitir a gravação do pedido, e .F. (Falso) para bloquear a inclusão.

Aplicação Comum Cenário de Uso
Bloqueio de Crédito Verificar se o limite de crédito do cliente (SA1) será excedido pelo valor do novo pedido, independentemente da validação padrão.
Validação de Frete Impedir a gravação se o tipo de frete for “CIF” e a transportadora (S4) estiver sem o campo de contato preenchido.
Integridade de Dados Garantir que campos customizados (campos Z) obrigatórios nas tabelas SC5 ou SC6 estejam preenchidos corretamente.
Restrição de Combinações Bloquear a inclusão de um produto (SB1) específico para uma condição de pagamento (SE4) ou cliente (SA1) específica.

💻 Exemplo em ADVPL do Ponto de Entrada MT410INC

 

O Ponto de Entrada MT410INC não recebe parâmetros, mas quando é executado, o ambiente de trabalho está posicionado nas áreas temporárias das tabelas SC5 (cabeçalho) e SC6 (itens) do pedido que está sendo incluído.

Abaixo, um exemplo ADVPL que impede a inclusão do pedido se ele for superior a R$ 10.000,00 e a condição de pagamento utilizada for à vista (Exemplo: Código ‘001’).

//++
//|Programa  | MT410INC                        |Autor  |Adilio Costa |
//++
//|Descricao | Validação na inclusão do Pedido de Venda (MATA410)    
  |Data   |03/11/2025 |
//++
//|Uso       | Exemplo prático para blog ProtheusAdvpl                       |
//++
User Function MT410INC()
    Local lRet     := .T.
    Local nVlTotal := SC5->C5_TOTAL
    Local cCondPag := AllTrim(SC5->C5_CONDIC)

    // A Work Area do SC5 já está posicionada com os dados da inclusão.
    
    // Regra: Bloquear pedidos à vista (Ex: '001') acima de R$ 10.000,00
    If cCondPag == "001" .And. nVlTotal > 10000.00
        lRet := .F.
        
        // Alerta impeditivo para o usuário
        MsgStop("Pedidos à Vista não podem exceder R$ 10.000,00. Revise o valor ou a condição.", ;
                "Validação MT410INC")
    EndIf

    // DICA: Você também pode validar os itens percorrendo a área temporária da SC6
    // via GetNextAlias() ou utilizando o objeto de modelo se estiver em MVC.

Return lRet

 

🚀 Quer evoluir no ADVPL de verdade?

Receba conteúdos práticos, códigos prontos e dicas que você 

 não aprende na documentação oficial

✔ Funções essenciais do ADVPL
✔ Exemplos reais usados no Protheus
✔ Dicas de debug e performance

🔐 Seu email está seguro. Sem spam.

Domine os Pontos de Entrada e o Backoffice

Para dominar este conceito em cenários de alta complexidade, como liberações de crédito automáticas, cálculos de impostos customizados e integrações com e-commerces, conheça o Portal ProtheusAdvpl. Lá, exploramos a fundo a arquitetura do Protheus e as melhores práticas para desenvolvedores seniores.

 

Cursos Recomendados para Programação e Backoffice:

 

 

Benefícios de Utilizar o MT410INC

  1. Governança Comercial: Aplique travas de preço, desconto e prazos que o padrão não cobre.
  2. Integridade Fiscal: Valide se campos customizados necessários para a NF-e estão preenchidos corretamente.
  3. Segurança: Evite a gravação de pedidos inconsistentes que gerariam retrabalho no faturamento.
 

 

Conclusão

O Ponto de Entrada MT410INC é uma ferramenta indispensável para elevar o nível de controle no módulo de Faturamento (SIGAFAT). Ao garantir que apenas pedidos válidos sejam gravados, você aumenta a eficiência operacional e reduz riscos financeiros. Dominar ADVPL Avançado é o que diferencia um programador comum de um consultor estratégico no mercado TOTVS.

 

Links de referência(s):

 

 

Conteúdos relacionados

 
💼 Trabalha com módulos do Protheus?

Receba dicas práticas, soluções de erros e rotinas reais do dia a dia

✔ Problemas reais resolvidos
✔ Dicas de processos
✔ Otimização de rotinas  

🔐 Sem spam. Só conteúdo útil.
🚀 Quer dominar o Protheus de verdade?
Entre para o ProtheusAdvpl e receba conteúdos exclusivos sobre desenvolvimento, infraestrutura, módulos e carreira no Protheus

✔ Conteúdos organizados por categorias (Programação, Framework, Backoffice e RH)
✔ Dicas práticas usadas no dia a dia do Protheus
✔ Acesso a materiais, post e atualizações do Blog
🔐 Seu email está seguro. Sem spam. Só conteúdo profissional.