A410EXC — Como Validar a Exclusão de Pedidos de Venda

Tempo de leitura: 4 minutos

A exclusão de Pedidos de Venda (MATA410) é uma operação crítica no módulo SIGAFAT – Faturamento do TOTVS Protheus. Para garantir a integridade dos dados e respeitar regras de negócio específicas, o Ponto de Entrada A410EXC é a ferramenta essencial para customização ADVPL.

Neste post, exploraremos a funcionalidade do A410EXC, suas aplicações e forneceremos um exemplo ADVPL.

🚀 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 A410EXC?

O Ponto de Entrada A410EXC é um exit point de validação na rotina de Exclusão de Pedido de Venda (MATA410). Ele é disparado antes que o sistema execute a exclusão física dos registros nas tabelas SC5 (Cabeçalho do Pedido) e SC6 (Itens do Pedido).

A principal finalidade é permitir que o desenvolvedor ADVPL implemente regras de negócio adicionais que possam impedir a exclusão do pedido.

 

✨ Funcionalidade e Aplicações

O A410EXC retorna um valor lógico: .T. (Verdadeiro) para permitir a exclusão, e .F. (Falso) para bloquear a exclusão.

Aplicação Comum Cenário de Uso
Bloqueio por Status Impedir a exclusão de pedidos que já foram faturados parcialmente ou que possuem um status de “Liberado para Faturamento”.
Validação Financeira Bloquear a exclusão se houver adiantamentos financeiros vinculados ao pedido.
Auditoria/Log Registrar a tentativa de exclusão em uma tabela customizada antes de permitir ou bloquear.
Restrição por Usuário Permitir que apenas usuários com perfis específicos (ex: Gerente de Vendas) possam excluir certos tipos de pedidos.

 

💻 Exemplo em ADVPL do Ponto de Entrada A410EXC

O Ponto de Entrada A410EXC não recebe parâmetros, mas ao ser executado, o ambiente de trabalho (área de Work Area) estará posicionado no cabeçalho do pedido na tabela SC5. O valor de retorno deve ser um lógico.

Abaixo, um exemplo ADVPL que impede a exclusão de qualquer pedido de venda que tenha o campo customizado C5_CUSTOM preenchido com “NAOEXCLUIR”.

#Include 'Protheus.ch'

/*/{Protheus.doc} A410EXC
Ponto de Entrada para validar a exclusão do Pedido de Venda na rotina MATA410.
Disparado antes da exclusão física dos registros.
@author ProtheusAdvpl
@since 03/11/2025
@version 1.0

@type User Function
@return logical Retorna .T. para permitir a exclusão e .F. para bloquear.
@example 
If !U_A410EXC()
    Return
EndIf
*/
User Function A410EXC()
Local lRet  := .T. // Por padrão, permite a exclusão

// O P.E. é executado com a Work Area SC5 (Tabela de Cabeçalho do Pedido)
// já posicionada no registro a ser excluído.

// Exemplo de Regra: Impedir a exclusão se o campo C5_ESTADO for 'F' (Faturado)
// Embora o Protheus já faça essa validação básica, é um bom exemplo.
If AllTrim(SC5->C5_ESTADO) == "F"
    lRet := .F.
    Help(,,"Atenção", "Pedido de Venda já Faturado. A exclusão foi bloqueada pela regra A410EXC.", 1, 0)
EndIf

// Exemplo de Regra Customizada: Utilizando um campo Z (C5_CUSTOM)
// Assumindo que C5_CUSTOM é um campo Z criado no SC5
If lRet .And. AllTrim(SC5->C5_CUSTOM) == "NAOEXCLUIR"
    lRet := .F.
    Help(,,"Atenção", "Este Pedido de Venda possui marcação de bloqueio e não pode ser excluído.", 1, 0)
EndIf

Return lRet // Retorna .T. para excluir, .F. para bloquear

 


 

🚀 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 o cancelamento de integrações externas ou o estorno de reservas de estoque durante a exclusão, 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 Estratégicos

  1. Governança de Dados: Impede a remoção de registros que possuem dependências financeiras ou fiscais.
  2. Segurança Operacional: Evita que usuários sem alçada deletem pedidos estratégicos.
  3. Auditoria: Permite registrar quem tentou excluir o pedido e por que a ação foi bloqueada.
 

 

Conclusão

O Ponto de Entrada A410EXC é uma ferramenta indispensável para elevar o nível de controle no módulo de Faturamento (SIGAFAT). Ao garantir que apenas exclusões permitidas sejam processadas, você protege o histórico da empresa e reduz riscos operacionais. Dominar ADVPL Avançado é o diferencial que transforma um programador em 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.