Ponto de Entrada MT010INC no Protheus: Customização Pós-Inclusão de Produto

Tempo de leitura: 5 minutos

Se você trabalha com Desenvolvimento Protheus, ADVPL ou Customização Protheus, certamente já precisou intervir nas rotinas padrões do ERP. Um dos pontos mais cruciais para desenvolvedores e analistas é o Ponto de Entrada MT010INC, fundamental para quem atua no Módulo de Estoque e Custos (SIGAEST), especificamente na rotina de Cadastro de Produtos (MATA010).

Este Ponto de Entrada é um poderoso recurso para realizar ações automáticas no Protheus logo após a inclusão de um novo registro na tabela de Produtos (SB1). Seja para popular campos de usuário, integrar dados com sistemas externos, ou executar validações adicionais, o MT010INC é a sua porta de entrada.

 

🎯 O que é o Ponto de Entrada MT010INC?

O MT010INC é um Ponto de Entrada Protheus acionado imediatamente após a confirmação da inclusão de um novo produto (registro na tabela SB1) na rotina de Cadastro de Produtos (MATA010).

  • Rotina: MATA010 – Cadastro de Produtos

  • Módulo: SIGAEST – Estoque e Custos

  • Momento de Execução: Após a gravação bem-sucedida do registro na tabela SB1.

  • Principal Uso: Realizar atualização de campos de usuário Protheus, criar registros em tabelas complementares (SXs), ou executar integrações sistêmicas pós-inclusão.

 

💻 Exemplo em ADVPL do Ponto de Entrada MT010INC

Abaixo, apresentamos um exemplo prático em ADVPL de como utilizar o MT010INC. Neste caso, faremos a gravação automática de um campo de usuário na tabela de Produtos (SB1) com o código do usuário logado no momento da inclusão.

 

#Include 'Protheus.ch'
#Include 'FWUSER.CH' // Incluir para usar o RetCodUsr()

/*/{Protheus.doc} MT010INC
Ponto de Entrada executado após a inclusão de um Produto (SB1) na rotina MATA010.
Utilizado para customizações e gravação de campos de usuário.
@type function
@author ProtheusAdvpl
@since 04/11/2025
@version 1.0.0
@Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG

|Se esse conteúdo foi útil pra você nos ajude divulgando 
ele e nossas redes sociais!!|
/*/
User Function MT010INC()
	Local aArea := GetArea() // Salva a área de trabalho atual
	Local lRet := .T. // Variável de retorno (não utilizada diretamente aqui, mas boa prática)
	Local cUser := RetCodUsr() // Pega o código do usuário logado (Tabela SX6)
	Local cCampoUser := 'B1_USERINC' // Exemplo de um campo de usuário criado na SB1 (Z1)

// A rotina MATA010 já posiciona na SB1 após a inclusão.
// É altamente recomendado salvar e restaurar a área de trabalho com GetArea/RestArea
// para garantir a integridade do ambiente.

// O Ponto de Entrada MT010INC executa *após* a gravação.
// Se precisar gravar um campo de usuário na SB1, o registro precisa ser reaberto para edição.
// *IMPORTANTE: Confirme se o campo de usuário (ex: B1_USERINC) foi criado e atualizado via UPDDISTR.*

	DBSelectArea('SB1')
	If RecLock('SB1', .F.) // Tenta travar o registro para alteração
		SB1->&(cCampoUser) := cUser // Atribui o código do usuário ao campo customizado
		MsUnlock() // Destrava e grava
	Else
		// Tratamento de erro caso o travamento falhe (registro sendo usado por outro)
		Alert('Atenção: Não foi possível travar o registro SB1 para gravação do campo customizado.')
		lRet := .F. // Define retorno como falso em caso de erro
	EndIf

	RestArea(aArea) // Restaura a área de trabalho
Return lRet


Benefícios de Usar o MT010INC

A correta implementação do

1
MT010INC
pode trazer diversos benefícios para o seu sistema:

  1. Garantia de Informação: Assegura que campos de auditoria (como usuário de inclusão, data/hora customizada) sejam preenchidos de forma consistente.
  2. Fluxo de Dados: Permite a replicação ou integração de dados do novo produto para outras tabelas ou sistemas (ex: cadastro em e-commerce, sistema de WMS) em tempo real.
  3. Flexibilidade: Oferece um ponto de intervenção seguro, separando a lógica de negócios Protheus da customização ADVPL, o que facilita futuras atualizações do ERP.
  4. Automação: Automatiza processos que, de outra forma, exigiriam intervenção manual do usuário após a inclusão do produto.

 


 

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.

Link(s) de referência(s):https://tdn.totvs.com/pages/releaseview.action?pageId=894399377

Bem, finalizamos mais um post aqui do Blog ProtheusAdvpl.

Se esse conteúdo lhe foi útil nos ajude compartilhando ele em suas redes sociais do TOTVS Protheus.

Grande abraço e fica com Deus.

 


 

Portal ProtheusAdvpl: Acelere seu Aprendizado em ADVPL e Processos Protheus!

Quer ir além dos Pontos de Entrada e dominar o ADVPL/TLPP e a fundo os processos dos principais módulos do Protheus?

Conheça o Portal ProtheusAdvpl e tenha acesso a uma plataforma completa com cursos e formações focadas na prática. Aprenda de forma estruturada sobre:

  • Desenvolvimento ADVPL/TLPP: Do básico ao avançado, com foco em performance e boas práticas.

  • Módulos Essenciais: Domine os processos de Compras (SIGACOM), Estoque e Custos (SIGAEST), Faturamento (SIGAFAT), Financeiro (SIGAFIN), Gestão de Pessoal (SIGAGPE) e muito mais!

  • Framework Protheus: Entenda MVC, Rest/Soap, e como criar rotinas customizadas de alto nível.

Transforme-se em um profissional Protheus completo, unindo o conhecimento técnico da linguagem com a expertise funcional dos módulos.

👉 Acesse agora e comece a sua jornada de aprendizado: https://go.hotmart.com/O10336806O?dp=1

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.