Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS

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

Provisão de Devedores Duvidosos (FINA645Atualização de Pagamento de Comissões (MATA530)

02. DESCRIÇÃO

Este ponto de entrada permite que , de acordo com os critérios adotados, os títulos não apareçam em tela.Se o retorno da User Function for falso, os títulos de acordo com tratamento não serão apresentadosos 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

Aviso
titleImportante:

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.

Importante:

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

Importante ressaltar que, caso o retorno doP.E. seja igual a .T. , a rotina seguirá o comportamento padrão e apresentará os títulos.

Este P.E. usará como base de cálculo para os dias em atraso, as datas de vencimento dos títulos filhos (Títulos gerados pela Liquidação).

Base de cálculo para dias em atraso do P.E.

Dias de Atraso = Data de Referência – Data do Vencimento;

Dias de Atraso Real = Data de Referência – Data do Vencimento Real.

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ãoFilial do título posicionado.
PARAMIXB[2,2]CaracterPrefixo do titulo posicionado

Filial do registro de comissão.

PARAMIXB[2,3]CaracterNúmero do título poscionadoPrefixo do registro de comissão.
PARAMIXB[2,4]CaracterParcela do título posicionadoNúmero do registro de comissão.
PARAMIXB[2,5]CaracterTipo do título posicionadoParcela do registro de comissão.
PARAMIXB[2,6]CaracterCliente do título posicionadoSequência do registro de comissão.
PARAMIXB[2,7]CaracterLoja do título posicionadoVendedor do registro de comissão.

06. RETORNO

Nome

Tipo

Descrição

lRetcCodRet

LógicoCaracter

Variável com a informação do Código de Retenção que será gravado no respectivo campo.F. → Não irá mostrar os títulos. (.F.).

07. EXEMPLO DE UTILIZAÇÃO

Bloco de código
languagevb
themeMidnight
firstline1
titleF645LIQ
linenumberstrue
#include "protheus.ch"  

/*/{Protheus.doc} F645LIQ
	Ponto    Este ponto de entrada permite que exibiráos oucampos: nãoGera os títulos filhos ainda não vencidos
Dirf (E2_DIRF) e Cód.Ret. (E2_CODRET) 
    sejam depreenchidos umno títulomomento paida quegeração foide liquidadopagamentos apósde vencimentocomissões.
	
    @author 
	@since 1028/1104/20252026
	@version 12.1.24102510
/*/

Useruser Functionfunction F645LIQM530DIRF()

    Local cFil645cCodRet as Caractere
    Local cPre645 as Caractere:= ""
    Local aAreaSE3 cNum645 as Caractere:= SE3->(GetArea())

    Local cPar645 as Caractere
    Local cTip645 as Caractere
    Local cCli645 as Caractere
    Local cLoj645 as Caractere// ParamIXB[1] Esta posição contém o código de retenção informado no PARAMETRO "MV_CRF_SE3"

    Local lRet    as Logical

// ParamIXB[2,1] R_E_C_N_O_ do registro de comissão
    cFil645 := PARAMIXB[1] //// ParamIXB[2,2] Filial do títuloregistro de posicionadocomissão
    cPre645 := PARAMIXB// ParamIXB[2,3] //Prefixo do títuloregistro de posicionadocomissão
    cNum645 := PARAMIXB[3] //// ParamIXB[2,4] Número do registro títulode posicionadocomissão
    cPar645 := PARAMIXB[4] //// ParamIXB[2,5] Parcela do registro títulode posicionadocomissão
    cTip645 := PARAMIXB[5] //Tipo do título posicionado// ParamIXB[2,6] Sequencia do registro de comissão
    cCli645 := PARAMIXB[6] //Cliente do título posicionado
    cLoj645 := PARAMIXB[7] //Loja do título posicionado
    lRet    := .T.         //Retorno que, se for falso, não considerará o título

    //Aqui será feito o tratamento de acordo com o que deverá ser considerado para mostrar o título ou não.

    lRet := .F.
    
Return lRet 

// 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