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 |
- Garantia de Informação: Assegura que campos de auditoria (como usuário de inclusão, data/hora customizada) sejam preenchidos de forma consistente.
- 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.
- 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.
- Automação: Automatiza processos que, de outra forma, exigiriam intervenção manual do usuário após a inclusão do produto.
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