Árvore de páginas

Versões comparadas

Chave

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

...

Aviso
titleImportante:

Regra de Ativação: Este P.E. é executado exclusivamente na rotina FINA080 (Baixa a ReceberPagar), 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  Ao ativar este Ponto de Entrada, o comportamento do sistema em relação ao parâmetro MV_TOLERCP (Tolerância na baixa do título) seguirá as seguintes regras:

    • P.E. Ativo com retorno maior que Zero: O parâmetro MV_TOLERCP será desconsiderado pelo sistema,

...

    • prevalecendo o valor retornado pela customização.

    • P.E. Ativo com retorno igual a Zero: O parâmetro MV_TOLERCP será utilizado com suas características originais, mantendo o comportamento padrão do sistema como se o P.E. não estivesse interferindo no limite.

       2. Lógica de Retorno e Funcionamento

...

Comparativo de Comportamento:

...

Considere um título com resíduo de arredondamento de R$ 0,07

...

.

      • Item 01: Com o P.E. configurado para retornar 0,10

...


      • Como o resíduo de 0,07 é inferior ao limite definido pelo P.E. (0,10), o sistema absorve a diferença e o registro de desconto de R$ 0,07 não será criado

...

      • . O parâmetro MV_TOLERCP é ignorado.

      • Item 02: Com o P.E. configurado para retornar 0,00 (Zero)
        Neste cenário, o sistema utiliza o parâmetro padrão:

        • Se o MV_TOLERCP for igual a 0,10: O sistema gera o desconto e zera o título.

        • Se o MV_TOLERCP for igual a 0,00: O sistema não gera o desconto e o título ficará com saldo de 0,07.

      • Item 03: Com o P.E. configurado para retornar 0,05

...


      • Como o resíduo de 0,07 é superior ao limite definido pelo P.E. (0,05)

...

      • , o sistema ignora a regra customizada. A baixa será efetuada, porém o título ficará com saldo de 0,07.
      • Item 04: Impacto Geral do Retorno Igual a Zero Reforçamos que, sempre que o retorno do Ponto de Entrada for igual a Zero, as características originais do parâmetro MV_TOLERCP são reativadas. Se este parâmetro estiver configurado como 0,10, gera-se o desconto; se estiver como zero, o título permanecerá com o saldo de 0,07.

04. ASSUNTOS RELACIONADOS

...

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á registrado.
PARAMIXB[3]Caracter

Prefixo do título no Contas a ReceberPagar.

PARAMIXB[4]CaracterNúmero identificador do título.
PARAMIXB[5]CaracterCódigo da parcela do título.
PARAMIXB[6]CaracterTipo do título (exemplo: NF, duplicata, etc.).
PARAMIXB[7]CaracterCódigo do fornecedor vinculado ao título.
PARAMIXB[8]CaracterLoja do fornecedor.
PARAMIXB[9]NuméricoValor do saldo do título disponível no momento exato da baixa ou valor do movimento na exclusão/estorno 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.

...

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

//-------------------------------------------------------------------
/*/{Protheus.doc} user function F080ARRE

Este Ponto 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.

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 F080ARRE() As Numeric

    Local nValArrend    As Numeric
    Local nTipMovim     As Numeric
    Local cFilTit       As Character
    Local cPrefixo      As Character
    Local cNumero       As Character
    Local cParcela      As Character
    Local cTipo         As Character
    Local cFornece      As Character
    Local cLoja         As Character
    Local nSaldo        As Numeric
    Local nTxMoeda      As Numeric
    
    nValArrend          := 0
    nTipMovim           := PARAMIXB[1]   // Tipo de Movimento - 1 = Baixa, 2 = Cancelamento/Exclusão de Baixa
    cFilTit             := PARAMIXB[2]   // Filial do titulo
    cPrefixo            := PARAMIXB[3]   // Prefixo do titulo
    cNumero             := PARAMIXB[4]   // Numero do titulo  
    cParcela            := PARAMIXB[5]   // Parcela do titulo
    cTipo               := PARAMIXB[6]   // Tipo do titulo
    cFornece            := PARAMIXB[7]   // Fornecedor do titulo
    cLoja               := PARAMIXB[8]   // Loja do fornecedor do titulo
    nSaldo              := PARAMIXB[9]   // SaldoValor do saldo do título titulodisponível no momento exato da baixa ou valor do movimento na exclusão/estorno da baixa.
     nTxMoeda            := PARAMIXB[10]  // 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.

    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 nValArrend // Valor para arrendamento do titulo na baixa e/ou exclusão/extornoestorno