Histórico da Página
...
Descrição: | Este Ponto de Entrada tem por objetivo substituir a tela padrão de Recebimento de Títulos. O Ponto de entrada é executado antes da chamada da tela de Recebimento de Títulos para substituir a tela padrão. | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Programa(s) Fonte: | LOJXREC.PRW | ||||||||||||||||||||||||
Parâmetros: |
| ||||||||||||||||||||||||
Retorno: |
| ||||||||||||||||||||||||
Observações: | Quando esse Ponto de Entrada retorna .F. (false), a tela padrão de Recebimento de Títulos não é aberta e o sistema é direcionado direto para a tela de pagamentos da Venda Assistida. |
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
User Function LJTelaRec( aRet, cMV_LJRECEB, cRecCart, cRecCPF, cRecCont, lOcioso, aTitulo ) /* Aqui fica a tratativa no desenvolvimento da tela customizada de recebimento de títulos. */ //Exemplo de recebimento de um título no valor de 30,00 com desconto de 2,00. /* aRet é parâmetro de referência e será utilizado para a baixa do título. Deverá ser alimentada na seguinte estrutura: */ aRet := { 28,; //valor do título (já considerando o desconto) {; {; // Primeiro título 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) "001",; SE1->E1_PREFIXO,; //|TIT_PREF | Caractere | E1_PREFIXO | 02-Prefixo do titulo "000001 "SE1->E1_NUM,; //|TIT_NUME | Caractere | E1_NUM | 03-Número do Titulo "1 "SE1->E1_PARCELA,; //|TIT_PARC | Caractere | E1_PARCELA | 04-Parcela ctod("30/12/2030"),;SE1->E1_VENCREA,; //|TIT_VREA | Data | E1_VENCREA | 05-Vencimento real 30,; 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 210,; //|TIT_DESC | Numérico | | 09-Valor de Desconto 2840,; //|TIT_RECE | Numérico | | 10-Valor recebido "FI ",; SE1->E1_TIPO,; //|TIT_TIPO | Caractere | E1_TIPO | 11-Tipo " ",; //|TIT_CONT | Caractere | E1_NUMCRD | 12-Número do Contrato CRD "000002",; SE1->E1_CLIENTE,; //|TIT_CLIE | Caractere | E1_CLIENTE | 13-Cliente "01",; SE1->E1_LOJA,; //|TIT_LOJA | Caractere | E1_LOJA | 14-Loja "D SP 01 "SE1->E1_FILIAL,; //|TIT_FILI | Caractere | E1_FILIAL | 15-Filial 931,; 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 ctod("30/12/2030"),;SE1->E1_VENCTO,; //|TIT_VENC | Data | E1_VENCTO | 20-Vencimento original "000002D SP 01 001000001 1 " 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 | 30,; 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 }; ,; {;// Segundo título... }; ,; {;// Terceiro título... }; }; } ) EndIf aTitulo := aRet[2] //Atualiza o Array aTitulo Return .F. |