Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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:
NomeTipoDescrição
aRetArray

Parâmetro passado como referência que deve ser alimentado com informações dos títulos que estão sendo recebidos. Este array é composto de duas posições :

  • 1ª. posição: Numérico contendo o valor total recebido
  • 2ª. posição: Array de títulos
cMV_LJRECEBCaractere

Conteúdo configurado no parâmetro MV_LJRECEB

cRecCartCaractereNúmero do Cartão (SIGACRD)
cRecCPFCaractereCPF do cliente
cRecContCaractereNúmero do contrato (SIGACRD)
lOciosoLógicoIndica se está aguardando (Informação reservada de uso interno do sistema)
aTituloArray

Parâmetro passado como referência que deve ser alimentado com informações dos títulos que estão sendo recebidos.

Este array deve ser atualizado com a mesma informação contida da posição 2 do array aRet no final deste Ponto de Entrada.

Exemplo: aTitulo := aRet[2]

Retorno:
TipoDescrição
Lógico.T. (Abre a tela padrão de recebimento) / .F. (Ignora a tela padrão de recebimento)
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
languagedelphi
firstline1
linenumberstrue
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  ",;  03-Número do Titulo
        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.