User Function LJTelaRec( aRet, cMV_LJRECEB, cRecCart, cRecCPF, cRecCont, lOcioso, aTitulo )
Local _nVlTotRec := 0
Local _nTamPref := TamSX3("E1_PREFIXO")[1]
Local _nTamNum := TamSX3("E1_NUM")[1]
Local _nTamParc := TamSX3("E1_PARCELA")[1]
Local _nTamTipo := TamSX3("E1_TIPO")[1]
Local _cPrefixo := ""
Local _cNumero := ""
Local _cParcela := ""
Local _cTipo := ""
//---------------------------------------------------------------------------------------
// Aqui fica a tratativa no desenvolvimento da tela customizada de recebimento de títulos.
//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
//Exemplo de recebimento de 2 títulos, sendo 1 titulo no valor de 30,00 com desconto de 2,00 e o outro titulo no valor de 50,00 com desconto de 10,00.
//---------------------------------------------------------------------------------------
_nVlTotRec := 68 //Valor Total Recebido (já considerando o desconto)
/* aRet é parâmetro de referência e será utilizado para a baixa do título. Deverá ser alimentada na seguinte estrutura: */
aRet := { _nVlTotRec,; //01-Valor Total Recebido
{} ; //02-Array com a relação de Titulos a serem Baixados
}
DbSelectArea("SE1")
SE1->(DbSetOrder(1)) //E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO
//------------------------------------------
// Dados do 1º. Titulo que se deseja receber
//------------------------------------------
_cPrefixo := "001"
_cNumero := "000001"
_cParcela := "1"
_cTipo := "FI"
//Posiciona no 1º. Título para alimentar o array com os dados da SE1
If SE1->( DbSeek( xFilial("SE1") + PadR(_cPrefixo,_nTamPref) + PadR(_cNumero,_nTamNum) + PadR(_cParcela,_nTamParc) + PadR(_cTipo,_nTamTipo) ) )
aAdd( aRet[2], {;
.T.,; //|TIT_SELE | Lógico | | 01-Posicao lógica (.T. marca o título para baixa, .F. não marca o título para baixa)
SE1->E1_PREFIXO,; //|TIT_PREF | Caractere | E1_PREFIXO | 02-Prefixo do titulo
SE1->E1_NUM,; //|TIT_NUME | Caractere | E1_NUM | 03-Número do Titulo
SE1->E1_PARCELA,; //|TIT_PARC | Caractere | E1_PARCELA | 04-Parcela
SE1->E1_VENCREA,; //|TIT_VREA | Data | E1_VENCREA | 05-Vencimento real
SE1->E1_VALOR,; //|TIT_VALO | Numérico | | 06-Valor do Título
0,; //|TIT_MULT | Numérico | E1_MULTA | 07-Multa
0,; //|TIT_JURO | Numérico | E1_JUROS | 08-Juros
2,; //|TIT_DESC | Numérico | | 09-Valor de Desconto
28,; //|TIT_RECE | Numérico | | 10-Valor recebido
SE1->E1_TIPO,; //|TIT_TIPO | Caractere | E1_TIPO | 11-Tipo
" ",; //|TIT_CONT | Caractere | E1_NUMCRD | 12-Número do Contrato CRD
SE1->E1_CLIENTE,; //|TIT_CLIE | Caractere | E1_CLIENTE | 13-Cliente
SE1->E1_LOJA,; //|TIT_LOJA | Caractere | E1_LOJA | 14-Loja
SE1->E1_FILIAL,; //|TIT_FILI | Caractere | E1_FILIAL | 15-Filial
SE1->(Recno()),; //|TIT_RECN | Numérico | SE1->(Recno())| 16-Recno do registro da tabela SE1
0,; //|TIT_ACRS | Numérico | E1_SDACRES | 17-Acrescimo financeiro
.F.,; //|TIT_CACR | Lógico | .F. | 18-Posicao lógica - Posicao reservada de uso interno
0,; //|TIT_ABAT | Numérico | 0 | 19-Valor de Abatimentos
SE1->E1_VENCTO,; //|TIT_VENC | Data | E1_VENCTO | 20-Vencimento original
SE1->(E1_CLIENTE+E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA),; //|TIT_LOCK | Caractere | SE1->E1_CLIENTE+SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM+SE1->E1_PARCELA | 21-Cod. de uso do Registro para controle de LOCK
1,; //|TIT_MOED | Numérico | E1_MOEDA | 22-Código da moeda do título
NIL,; //|TIT_INTE | Numérico | Nil | 23-Interes (Juros) - Posicao reservada de uso interno
ctod(" / / "),; //|TIT_DTBX | Data | E1_BAIXA | 24-Data da baixa
SE1->E1_SALDO,; //|TIT_SALD | Numérico | E1_SALDO | 25-Saldo do título
0; //|TIT_VLIQ | Numérico | E1_VALLIQ | 26-Valor Liquido
} )
EndIf
//------------------------------------------
// Dados do 2º. Titulo que se deseja receber
//------------------------------------------
_cPrefixo := "001"
_cNumero := "000002"
_cParcela := "1"
_cTipo := "FI"
//Posiciona no 2º. título para alimentar o array com os dados da SE1
If SE1->( DbSeek( xFilial("SE1") + PadR(_cPrefixo,_nTamPref) + PadR(_cNumero,_nTamNum) + PadR(_cParcela,_nTamParc) + PadR(_cTipo,_nTamTipo) ) )
aAdd( aRet[2], {;
.T.,; //|TIT_SELE | Lógico | | 01-Posicao lógica (.T. marca o título para baixa, .F. não marca o título para baixa)
SE1->E1_PREFIXO,; //|TIT_PREF | Caractere | E1_PREFIXO | 02-Prefixo do titulo
SE1->E1_NUM,; //|TIT_NUME | Caractere | E1_NUM | 03-Número do Titulo
SE1->E1_PARCELA,; //|TIT_PARC | Caractere | E1_PARCELA | 04-Parcela
SE1->E1_VENCREA,; //|TIT_VREA | Data | E1_VENCREA | 05-Vencimento real
SE1->E1_VALOR,; //|TIT_VALO | Numérico | | 06-Valor do Título
0,; //|TIT_MULT | Numérico | E1_MULTA | 07-Multa
0,; //|TIT_JURO | Numérico | E1_JUROS | 08-Juros
10,; //|TIT_DESC | Numérico | | 09-Valor de Desconto
40,; //|TIT_RECE | Numérico | | 10-Valor recebido
SE1->E1_TIPO,; //|TIT_TIPO | Caractere | E1_TIPO | 11-Tipo
" ",; //|TIT_CONT | Caractere | E1_NUMCRD | 12-Número do Contrato CRD
SE1->E1_CLIENTE,; //|TIT_CLIE | Caractere | E1_CLIENTE | 13-Cliente
SE1->E1_LOJA,; //|TIT_LOJA | Caractere | E1_LOJA | 14-Loja
SE1->E1_FILIAL,; //|TIT_FILI | Caractere | E1_FILIAL | 15-Filial
SE1->(Recno()),; //|TIT_RECN | Numérico | SE1->(Recno())| 16-Recno do registro da tabela SE1
0,; //|TIT_ACRS | Numérico | E1_SDACRES | 17-Acrescimo financeiro
.F.,; //|TIT_CACR | Lógico | .F. | 18-Posicao lógica - Posicao reservada de uso interno
0,; //|TIT_ABAT | Numérico | 0 | 19-Valor de Abatimentos
SE1->E1_VENCTO,; //|TIT_VENC | Data | E1_VENCTO | 20-Vencimento original
SE1->(E1_CLIENTE+E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA),; //|TIT_LOCK | Caractere | SE1->E1_CLIENTE+SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM+SE1->E1_PARCELA | 21-Cod. de uso do Registro para controle de LOCK
1,; //|TIT_MOED | Numérico | E1_MOEDA | 22-Código da moeda do título
NIL,; //|TIT_INTE | Numérico | Nil | 23-Interes (Juros) - Posicao reservada de uso interno
ctod(" / / "),; //|TIT_DTBX | Data | E1_BAIXA | 24-Data da baixa
SE1->E1_SALDO,; //|TIT_SALD | Numérico | E1_SALDO | 25-Saldo do título
0; //|TIT_VLIQ | Numérico | E1_VALLIQ | 26-Valor Liquido
} )
EndIf
aTitulo := aRet[2] //Atualiza o Array aTitulo
Return .F. e a 2º contendo o array de titulos. | { 0 , { } } | ExpC2 | caracter | cMV_LJRECEB , conteudo do parametro MV_LJRECEB : Conteudo do MV_LJRECEB "1" - Financeiro,"2" - Gestao Educacional, "3" - Fidelizacao e Analise de Credito ,"4" - EMS - Eletronic Market Solution | " " | ExpC3 | caracter | cRecCart - Numero do Cartao. | "" | ExpC4 | caracter | cRecCPF - CPF do cliente | "" | ExpC5 | caracter | cRecCont - Numero do contrato | " " | ExpL6 | logico | lOcioso - indica se está aguardando | .F. | ExpA7 | array_of_record | aTitulo , array contendo os titulos em aberto | { } | Nível 1 (Acesso Clientes)
Todos