Histórico da Página
01. DADOS GERAIS
| 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
| Aviso | ||||
|---|---|---|---|---|
| Importante ressaltar que, caso o retorno doP.E. seja igual a .T. , a rotina seguirá o comportamento padrão e apresentará os títulos.
| |||
Regra de Ativação: Este P.E. é executado exclusivamente na rotina FINA080 (Baixa a Pagar), para localizações no Brasil, e apenas quando a taxa da moeda for diferente de 1,00. |
- Impacto em Parâmetros Padrão
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
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:
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
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:
| Nome | Tipo | Descrição | ||
|---|---|---|---|---|
| PARAMIXB[1] | Numérico | Tipo de Movimento - 1 = Baixa, 2 = Cancelamento/Exclusão de Baixa | ||
| PARAMIXB[2] | Caracter | Código da filial onde o título está registrado | Caracter | Filial do título posicionado. |
| PARAMIXB[23] | Caracter | Prefixo do titulo posicionadotítulo no Contas a Pagar. | ||
| PARAMIXB[34] | Caracter | Número identificador do título poscionado. | ||
| PARAMIXB[45] | Caracter | Parcela Código da parcela do título posicionado. | ||
| PARAMIXB[56] | Caracter | Tipo do título posicionado(exemplo: NF, duplicata, etc.). | ||
| PARAMIXB[67] | Caracter | Cliente Código do fornecedor vinculado ao título posicionado. | ||
| PARAMIXB[78] | Caracter | Loja do título posicionadofornecedor. | ||
| PARAMIXB[9] | Numérico | Valor 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érico | Taxa 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 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#include#Include "protheus.ch" //------------------------------------------------------------------- /*/{Protheus.doc} F645LIQ user function F080ARRE 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 Local cPre645 as Caractere Local cNum645 as Caractere Local cPar645 as CaractereEntrada (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 cTip645 as CaracterecFornece As Character Local cCli645 as CaracterecLoja As Character Local cLoj645 as Caractere nSaldo As Numeric Local lRet nTxMoeda As Numeric as Logical cFil645 nValArrend := 0 nTipMovim := PARAMIXB[1] //Filial do título posicionado Tipo de Movimento - 1 = Baixa, 2 = Cancelamento/Exclusão de Baixa cFilTit cPre645 := 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 titulo título posicionado cParcela cTip645 := 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 títulofornecedor do posicionado titulo nSaldo lRet := PARAMIXB[9] .T. // Valor do saldo do título disponível no momento exato da baixa ou valor do movimento na exclusão/estorno da baixa. nTxMoeda := //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.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 lRet nValArrend // Valor para arrendamento do titulo na baixa e/ou exclusão/estorno |