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 consideramovimentaçõ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:
A função retorna o saldo do título em data retroativa, considerando movimentações originadas de compensações realizadas em outras filiais. Não é necessária a chamada de nenhuma função adicional.
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. |
...
Stored procedures - Novo gerenciador de pacotes Versão 12.1.33 deve possuir FinFix >= 20.