Árvore de páginas

Versões comparadas

Chave

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

...

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

Baixas a Pagar (FINA080)

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 apresentadosPonto de Entrada (P.E.) tem como objetivo principal permitir a manipulação de valores residuais durante a baixa total de títulos no módulo Financeiro.

Ele é especialmente útil para tratar diferenças de arredondamento originadas pela variação da taxa de moeda.

03. DEMAIS INFORMAÇÕES

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
Aviso
titleImportante:

Regra de Ativação: Este P.E. é executado exclusivamente na rotina FINA080 (Baixa a Receber), para localizações no Brasil, e apenas quando a taxa da moeda for diferente de 1,00.

  1. Impacto em Parâmetros Padrão

            Ao ativar este Ponto de Entrada, o parâmetro MV_TOLERCP será desconsiderado pelo sistema, mesmo que seu valor configurado seja maior que zero.

       2. Lógica de Retorno e Funcionamento

            O Ponto de Entrada deve retornar obrigatoriamente um valor numérico. Esse valor define o limite de tolerância para o ajuste de arredondamento.

    • Cenário A (Diferença Absorvida): Se a diferença de arredondamento calculada pelo sistema for menor ou igual ao valor retornado pelo P.E., o sistema absorve esse resíduo e não gera o registro de desconto/ajuste.
    • Cenário B (Diferença Mantida): Se a diferença for maior que o valor retornado pelo P.E., o sistema ignora o ajuste customizado e mantém a criação dos registros padrão de desconto ou correção.

       3 - Exemplo Prático de Cenário

            Imagine a inclusão de um título com os seguintes valores:

    • Valor Nominal: 2.355.600,00
    • Taxa da Moeda (Inclusão): 0,035900000
    • Valor Convertido: R$ 84.556,04

No momento da baixa (com uma nova taxa informada):

    • Taxa da Moeda (Baixa): 0,036154000
    • Valor Pago: R$ 85.164,36
    • Correção Monetária: R$ 598,32
    • Diferença de Arredondamento Identificada: R$ 0,07

Comparativo de Comportamento:

    1. Sem o Ponto de Entrada: O sistema geraria três registros: o pagamento principal (R$ 85.164,36), a correção monetária (R$ 598,32) e um desconto de R$ 0,07 para realizar a baixa total.
    2. Com o P.E. configurado para retornar 0,10: Como o resíduo de 0,07 é inferior ao limite definido (0,10), o registro de R$ 0,07 não será criado. No entanto, o registro de correção monetária de R$ 598,32 será criado normalmente.
    3. Com o P.E. configurado para retornar 0,05: Como o resíduo de 0,07 é superior ao limite definido (0,05), tanto o registro de R$ 0,07 quanto o registro de correção monetária de R$ 598,32 serão criados normalmente.

04. ASSUNTOS RELACIONADOS

05. PARÂMETROS

Os dados são passados ao P.E. através do array PARAMIXB. Abaixo, a descrição detalhada de cada posição:

NomeTipoDescrição
PARAMIXB[1]NuméricoTipo de Movimento - 1 = Baixa, 2 = Cancelamento/Exclusão de Baixa
PARAMIXB[2]CaracterCódigo da filial onde o título está registradoCaracterFilial do título posicionado.
PARAMIXB[23]Caracter

Prefixo do

titulo posicionado

título no Contas a Receber.

PARAMIXB[34]CaracterNúmero identificador do título poscionado.
PARAMIXB[45]CaracterParcela Código da parcela do título posicionado.
PARAMIXB[56]CaracterTipo do título posicionado(exemplo: NF, duplicata, etc.).
PARAMIXB[67]CaracterCliente Código do fornecedor vinculado ao título posicionado.
PARAMIXB[78]CaracterLoja do título posicionadodo fornecedor.
PARAMIXB[9]NuméricoValor do saldo do título disponível no momento exato da baixa.
PARAMIXB[10]NuméricoTaxa utilizada no cálculo do saldo para a baixa. Em casos de cancelamento, o sistema retorna a taxa utilizada na inclusão original.

06. RETORNO

Nome

Tipo

Descrição

lRetnValArren

LógicoNumérico

.F. → Não irá mostrar os títulos. (.F.).Valor Numérico. Esse valor define o limite de tolerância para o ajuste de arredondamento.

07. EXEMPLO DE UTILIZAÇÃO

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

//-------------------------------------------------------------------
/*/{Protheus.doc} F645LIQ
	 user function F080ARREND

Este Ponto de entrada que exibirá ou não os títulos filhos ainda não vencidos
    de um título pai que foi liquidado após vencimento.
	@author 
	@since 10/11/2025
	@version 12.1.2410
/*/
User Function F645LIQ()
    Local cFil645 as Caractere Entrada (P.E.) tem como objetivo principal permitir a manipulação de valores residuais
durante a baixa total de títulos no módulo Financeiro.

Especialmente útil para tratar diferenças de arredondamento originadas pela variação da taxa de moeda.

@author  Francisco Oliveira
@since   17/03/2026
@version 12.1.2510

@return nValArrend numerico. Valor calculado para arrendamento do titulo conforme regra de negócio.

/*/
//-------------------------------------------------------------------

User Function F080ARREND() As Numeric

    Local nValArrend    As Numeric
    Local nTipMovim     As Numeric
    Local cFilTit       As Character
    Local cPrefixo      As Character
    Local cPre645 as CaracterecNumero       As Character
    Local cParcela     cNum645 asAs CaractereCharacter
    Local cPar645 as Caractere cTipo         As Character
    Local cFornece     cTip645 asAs CaractereCharacter
    Local cCli645 as Caractere cLoja         As Character
    Local cLoj645 as CaracterenSaldo        As Numeric
    Local lRet  nTxMoeda      As Numeric
   as Logical

    nValArrend          := 0
    cFil645nTipMovim           := PARAMIXB[1]   //Filial do título posicionado Tipo de Movimento - 1 = Baixa, 2 = Cancelamento/Exclusão de Baixa
    cPre645cFilTit             := PARAMIXB[2]   //Prefixo Filial do título posicionado
 titulo
    cPrefixo           cNum645 := PARAMIXB[3]   //Número Prefixo do título posicionado
 titulo
    cNumero            cPar645 := PARAMIXB[4]   //Parcela Numero do títulotitulo  posicionado
    cTip645cParcela            := PARAMIXB[5]   //Tipo Parcela do título posicionado
 titulo
    cTipo              cCli645 := PARAMIXB[6]   //Cliente Tipo do título posicionado
 titulo
    cFornece            := PARAMIXB[7]   // Fornecedor do titulo
    cLoja              cLoj645 := PARAMIXB[78]   // Loja do fornecedor títulodo posicionadotitulo
    lRetnSaldo              := .T.PARAMIXB[9]   // Saldo do titulo no momento da baixa
    nTxMoeda            := PARAMIXB[10]  //Retorno que, se for falso, não considerará o título Taxa da moeda usada no calculo do saldo para a Baixa. Se for Cancelamento/Exclusão de Baixa, a taxa será a cadastrada na inclusão.

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

    lRet := .F.If nTipMovim == 1 // Baixa
        // Regra de negócio para baixa
        nValArrend := 0.10 // Valor para arrendamento do titulo na baixa
    Else // Cancelamento/Exclusão de Baixa
        // Regra de negócio para Cancelamento/exclusão de baixa
        nValArrend := 0.10 // Valor para arrendamento do titulo no Cancelamento/exclusão de baixa
    Endif
    
Return lRet 

 nValArrend // Valor para arrendamento do titulo na baixa e/ou exclusão/extorno