01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Backoffice
Módulo:Financeiro
Função:

Atualização de Pagamento de Comissões (MATA530)

02. DESCRIÇÃO

Este ponto de entrada permite que os campos: Gera Dirf (E2_DIRF) e Cód.Ret. (E2_CODRET) sejam preenchidos no momento da geração de pagamentos de comissões.

03. DEMAIS INFORMAÇÕES

A partir de 15/11/2025, a geração de títulos de Contas a Receber pela rotina MATA530 (Baixa de Comissões) passou a ser executada via ExecAuto. Em decorrência dessa mudança, o comportamento do ponto de entrada M530DIRF foi alterado para se adequar ao novo fluxo de gravação.

Comportamento e Regras de Negócio

O ponto de entrada M530DIRF tem como objetivo a manipulação e gravação dos campos referentes à DIRF. Ele é alimentado com os dados provenientes do registro de comissão (SE3) e, caso o parâmetro MV_CRF_SE3 esteja preenchido, seu valor será priorizado e repassado ao ponto de entrada.

Devido à mudança para ExecAuto, é essencial validar se as customizações existentes no M530DIRF estão compatíveis com a estrutura de array multidimensional detalhada acima para garantir a correta integração com o módulo financeiro.

04. ASSUNTOS RELACIONADOS

05. PARÂMETROS

Estrutura de Dados (ParamIXB)

Os dados são enviados ao ponto de entrada através do array ParamIXB com a seguinte composição:

NomeTipoDescrição
PARAMIXB[1]CaracterCódigo de retenção (Conteúdo do parâmetro MV_CRF_SE3)
PARAMIXB[2,1]CaracterR_E_C_N_O_ do registro de comissão.
PARAMIXB[2,2]Caracter

Filial do registro de comissão.

PARAMIXB[2,3]CaracterPrefixo do registro de comissão.
PARAMIXB[2,4]CaracterNúmero do registro de comissão.
PARAMIXB[2,5]CaracterParcela do registro de comissão.
PARAMIXB[2,6]CaracterSequência do registro de comissão.
PARAMIXB[2,7]CaracterVendedor do registro de comissão.

06. RETORNO

Nome

Tipo

Descrição

cCodRet

Caracter

Variável com a informação do Código de Retenção que será gravado no respectivo campo.

07. EXEMPLO DE UTILIZAÇÃO

#include "protheus.ch"  

/*/{Protheus.doc} F645LIQ
    Este ponto de entrada permite que os campos: Gera Dirf (E2_DIRF) e Cód.Ret. (E2_CODRET) 
    sejam preenchidos no momento da geração de pagamentos de comissões.
	
    @author 
	@since 28/04/2026
	@version 12.1.2510
/*/

user function M530DIRF()

    Local cCodRet   := ""
    Local aAreaSE3  := SE3->(GetArea())

    // ParamIXB[1] Esta posição contém o código de retenção informado no PARAMETRO "MV_CRF_SE3"

    // ParamIXB[2,1] R_E_C_N_O_ do registro de comissão
    // ParamIXB[2,2] Filial do registro de comissão
    // ParamIXB[2,3] Prefixo do registro de comissão
    // ParamIXB[2,4] Número do registro de comissão
    // ParamIXB[2,5] Parcela do registro de comissão
    // ParamIXB[2,6] Sequencia do registro de comissão
    // ParamIXB[2,7] Vendedor do registro de comissão

    SE3->(DbSetOrder(1))
    SE3->(DbGoTo(ParamIXB[2,1]))

    // Tratamento dos dados da comissão para verificar se o título deve ou não ser enviado para a DIRF. 
    // O codigo de retenção 8045 abaixo, é somente um codigo exemplo.

    If ParamIXB[2,7] $ "000001" .And. (Empty(ParamIXB[1]) .Or. ParamIXB[1] != "8045")
        cCodRet := "8045"
    Else
        cCodRet := ParamIXB[1]
    Endif
    
    RestArea(aAreaSE3)

Return cCodRet