Histórico da Página
Índice
01. VISÃO GERAL
Função de uso interno que retorna Retorna o saldo do título a pagar ou receber em uma data retroativa. Função de uso interno.
Se o ambiente possui a storage procedure 10 instalada, a mesma será utilizada para o cálculo do saldo do título. Caso contrário, será utilizada uma função ADVPL interna do sistema.
O Protheus está em constante evolução, por isso essa função pode ter dois comportamentos:
1. Versão 12.1.27 com e sem procedure, ou versão 12.1.33 ou superior com procedure:
Informações | ||
---|---|---|
| ||
A função SaldoTit() não retorna o valor considerando os abatimentos("AB-", "FB-", "FC-", "IR-", "IN-", "IS-", "PI-", "CF-", "CS-", "FU-" ,"FE-", entre outros). O valor dos abatimentos do título pode ser calculado utilizando a função SomaAbat(). |
Informações | ||
---|---|---|
| ||
Essa função não considera |
...
movimentações originadas de compensações realizadas em outras filiais para a recomposição do saldo do título. Nesse caso, é necessário chamar a função complementar FRVlCompFil() para chegar no saldo correto (vide o código de exemplo mais abaixo). |
...
Informações | ||
---|---|---|
| ||
Se o ambiente possui a storage procedure 10 instalada, a mesma será utilizada para o cálculo do saldo do título. Caso contrário, será utilizada uma função ADVPL interna do sistema (xSaldoTit). |
2. Versão 12.1.33 ou superior, sem procedure:
...
02. PARÂMETROS DE UTILIZAÇÃO
...
Posição | Argumento | Descrição |
---|---|---|
1 | cPrefixo | Prefixo do título |
2 | cNumero | Número do título |
3 | cParcela | Parcela do título |
4 | cTipo | Tipo do título |
5 | cNatureza | Natureza do título |
6 | cCart | Carteira (R = Receber, P = Pagar) |
7 | cCliFor | Código do cliente ou do fornecedor (conforme posição 6) |
8 | nMoeda | Moeda em que o saldo será retornado |
9 | dData | Data para conversão de moeda |
10 | dDataBaixa | Data retroativa a ser considera |
11 | cLoja | Loja do fornecedor ou cliente do título |
12 | cFilTit | Filial do título |
13 | nTxMoeda | Taxa da moeda |
14 | nTipoData | Tipo de data a ser considerada 0 = Data Da Baixa (E5_DATA) (Default) |
15 | lFinR | Define se utilizar conceitos do FINR350 |
16 | __oTBxCanc | Objeto FWPrepareStatement que pode ser reutilizado. Enviar objeto não instanciado na primeira chamada e reutilizar o objeto para ganho de performance. Descontinuado na versão 12.1.33. |
17 | lIsTxContr | Define se a taxa é taxa contratada |
18 | lCmpMulFil | Uso interno |
03. EXEMPLO DE UTILIZAÇÃO
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
user function tstSaldo()
local cFilTit as character
local cFilOrig as character
local cPrefixo as character
local cNum as character
local cParcela as character
local cTipo as character
local cNatureza as character
local cCliente as character
local cLoja as character
local nSaldo as numeric
local cCart as character
local dDtRetro as date
local nTipoData as numeric
local lFinR as logical
local lNovoCalc as logical
local nMoeda as numeric
local nMoedaTit as numeric
cFilTit := 'D RJ 01 '
cPrefixo := 'FIN'
cNum := 'FIN001023'
cParcela := '1'
cTipo := 'NF '
cCart := 'R'
dDtRetro := CtoD('19/03/2020')
nTipoData := 0
lFinR := .F.
lNovoCalc := .T.
SE1->(DbSetOrder(1))//E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO
if !SE1->(dbSeek(xfilial('SE1') + cPrefixo + cNum + cParcela + cTipo))
return .F.
endIf
cCliente := SE1->E1_CLIENTE
cLoja := SE1->E1_LOJA
cNatureza := SE1->E1_NATUREZ
cFilOrig := SE1->E1_FILORIG
nMoeda := nMoedaTit := SE1->E1_MOEDA
nSaldo := SaldoTit(cPrefixo, cNum, cParcela, cTipo, cNatureza, cCart, cCliente, nMoeda, ;
dDtRetro, dDtRetro, cLoja, cFilTit, /*nTxMoeda*/, nTipoData, lFinR, /*__oTBxCanc*/, /*lIsTxContr*/, /*lCmpMulFil*/)
dDataBase := dDtRetro
nSaldo -= FRVlCompFil(cCart, cPrefixo, cNum, cParcela, cTipo, cCliente, cLoja, nTipoData, ;
/*aFilBaixa*/, /*cFilQry*/, /*lAS400*/, /*nMoeda*/, /*nMoedaTit*/, /*nTxMoeda*/, /*dDataTx*/, lNovoCalc)
dDataBase := date()
conOut("Saldo = " + cValToChar(nSaldo))
return .T. |
04. MAIS INFORMAÇÕES
Stored procedures - Novo gerenciador de pacotes Versão 12.1.33 deve possuir FinFix >= 20.