Tempo de leitura: 4 minutos
O processo de Transferência entre Filiais no Protheus é crucial para empresas com múltiplas unidades (Multifilial), permitindo o controle de estoque e a movimentação de mercadorias entre as diferentes unidades do grupo. As rotinas MATA310 (Saída) e MATA311 (Entrada) gerenciam essa operação no módulo Estoque (SIGAEST).
Para garantir que essa transferência atenda às regras de negócio específicas da sua empresa, o ponto de entrada (P.E.) M310CABEC é a ferramenta ideal.
O que é o M310CABEC e onde ele atua?
O ponto de entrada M310CABEC é disparado na montagem do cabeçalho da transferência (registro SD3), logo após a leitura e confirmação dos dados iniciais da tela de Transferência.
Ele é utilizado primariamente para:
- Validar ou Modificar Campos: Alterar campos do cabeçalho (ex: Motivo da Transferência, Condição de Pagamento, ou campos ZZ) antes que a transferência seja efetivamente gravada.
- Impedir a Continuação: Barrar a gravação da transferência se alguma regra de negócio específica não for atendida (ex: bloquear a transferência de um produto para uma filial específica).
- Definir Valores Padrão: Popular campos ZZ automaticamente com base na lógica customizada.
Detalhes Técnicos do Ponto de Entrada
| Propriedade | Detalhe |
| Ponto de Entrada | M310CABEC |
| Módulos | Estoque/Custos (SIGAEST) |
| Rotinas | MATA310 (Saída) e MATA311 (Entrada) |
| Disparo | Na confirmação do cabeçalho da transferência. |
| Parâmetros de Entrada | Nenhum |
| Parâmetros de Saída | lRet (Lógico) – .T. (Continua), .F. (Cancela/Bloqueia) |
💻 Exemplo Prático em ADVPL
Imagine que a ProtheusAdvpl possui uma regra onde, para qualquer transferência entre filiais, o campo Motivo da Transferência (Campo
1 | D3_MOTIVO |
1 | SD3 |
1 | 99 |
#include "protheus.ch"
#include "parmtype.ch"
/*/{Protheus.doc
@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!!|
@version 1.0
@author ProtheusAdvpl
@since 05/11/2025
@function M310CABEC
@description Ponto de Entrada disparado na gravacao do cabecalho (SD3) das rotinas MATA310/MATA311.
@return lRet, Logico, .T. continua, .F. cancela.
@example
User Function M310CABEC()
Local lRet := .T.
Local nTotal := 0
Local cMotivoPadrao := "99" // Motivo de Transferencia Padrão
// A area de trabalho da SD3 (cabecalho) ja esta aberta e posicionada
// A variavel do ambiente (MV_PAR07) contem o valor total da transferencia
nTotal := MV_PAR07
// Verifica se o valor total da transferencia ultrapassa R$ 10.000,00
If nTotal > 10000.00
// Altera o campo de motivo na SD3 antes da gravacao
MsPutField("D3_MOTIVO", cMotivoPadrao)
// Notifica o usuario
Alerta("ATENCAO: Transferencia acima de R$ 10.000,00." + Chr(13) + ;
"Motivo padrao '" + cMotivoPadrao + "' aplicado automaticamente.")
// Se a regra fosse para BLOQUEAR a transferencia
// lRet := .F.
// Alerta("ERRO: Transferencia acima do limite permitido! Bloqueada.")
Endif
Return lRet
*/
User Function M310CABEC()
Local lRet := .T.
Local nTotal := 0
Local cMotivoPadrao := "99"
// Variavel de ambiente que contem o valor total da transferencia
nTotal := MV_PAR07
// Verifica se o valor total ultrapassa R$ 10.000,00
If nTotal > 10000.00
// Define o campo D3_MOTIVO com o código padrao
MsPutField("D3_MOTIVO", cMotivoPadrao)
Alerta("ATENCAO: Transferencia de alto valor. Motivo '" + cMotivoPadrao + "' aplicado.")
Endif
Return lRet
Por Que Usar Este Ponto de Entrada?
O uso do
1 | M310CABEC |
Benefícios:
-
Conformidade Fiscal: Garante que informações fiscais ou gerenciais obrigatórias sejam preenchidas.
-
Controle de Alçada: Permite implementar regras de bloqueio (além do padrão Protheus) baseadas em critérios complexos, como a combinação de produto e filial.
-
Melhoria de Processo: Automatiza o preenchimento de campos, reduzindo a chance de erro manual.
Link(s) de referência(s): https://tdn.totvs.com/pages/releaseview.action?pageId=236603630
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.
Aprenda ADVPL, TLPP e os Processos de Negócio do Protheus de Forma Acelerada!
Deseja dominar a linguagem ADVPL/TLPP e, ao mesmo tempo, entender profundamente os fluxos dos principais módulos do Protheus como Compras (SIGACOM), Estoque e Custos (SIGAEST), Faturamento (SIGAFAT), Financeiro (SIGAFIN) e Gestão de Pessoal (SIGAGPE)?
Conheça o Portal ProtheusAdvpl, a plataforma completa que combina a programação com o conhecimento de processos de negócio. Clique e comece a acelerar sua carreira no Protheus hoje mesmo!
➡️ Acesse a Plataforma Agora: https://go.hotmart.com/O10336806O?dp=1