Árvore de páginas

Versões comparadas

Chave

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

...

Lógico
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]

cSerieRecCaracterecReciboCaracterecCodCliCaracterecLojaCliCaracterecLojCliCaracterelFCHCON

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 )
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 := { <valor do título>,;

{;
 {;
     /* Primeiro título */
     TIT_SELE,;     // _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)
     TIT_PREF,;   SE1->E1_PREFIXO,;                  //|TIT_PREF | Caractere | E1_PREFIXO    |   02-Prefixo do titulo, carácter.

        TITSE1->E1_NUMENUM,;                      //|TIT_NUME | Caractere | E1_NUM        |   03-Titulo, carácter.
Número do Titulo
        TITSE1->E1_PARCPARCELA,;                  //|TIT_PARC | Caractere | E1_PARCELA    |   04-Parcela, carácter.

        TITSE1->E1_VREAVENCREA,;                  //|TIT_VREA | Data      | E1_VENCREA    |   05-Vencimento real, data.

        TITSE1->E1_VALOVALOR,;                    //|TIT_VALO | Numérico  |               |   06-Valor, do numérico.Título
     TIT_MULT,;   //07-Multa, numérico.
   0,;                                //|TIT_MULT | Numérico  | E1_MULTA      |   07-Multa
        0,;                                //|TIT_JURO,; | Numérico  | E1_JUROS      |   //08-Juros
        2, numérico.
;                                //|TIT_DESC,; | Numérico  |               |   //09-Valor de Desconto
        28, numérico.
;                               //|TIT_RECE,; | Numérico  |               |   //10-Recebimento,Valor numérico.recebido
     TIT   SE1->E1_TIPO,;                     //|TIT_TIPO | Caractere | E1_TIPO       |   11-Tipo
        "          ", carácter.
;                     //|TIT_CONT,; //12-Contrato, carácter. | Caractere | E1_NUMCRD     |   12-Número do Contrato CRD
     TIT_CLIE,;   SE1->E1_CLIENTE,;                  //|TIT_CLIE | Caractere | E1_CLIENTE    |   13-Cliente, carácter.

        TITSE1->E1_LOJA,;                     //|TIT_LOJA | Caractere | E1_LOJA       |   14-Loja, carácter.

        TITSE1->E1_FILIFILIAL,;                   //|TIT_FILI | Caractere | E1_FILIAL     |   15-Filial
        SE1->(Recno()), carácter.
;                   //|TIT_RECN,; //16-Recno - número da posição  | Numérico  | SE1->(Recno())|   16-Recno do registro da tabela SE1
        0, numérico.
;                                //|TIT_ACRS,; // | Numérico  | E1_SDACRES    |   17-Acrescimo financeiro
        .F., numérico.
;                              //|TIT_CACR,; //18-Posicao logica, lógico.
 | Lógico    | .F.           |   18-Posicao lógica - Posicao reservada de uso interno
        TIT_ABAT0,;                                //|TIT_ABAT | Numérico  | 0             |   19-Abatimentos, numérico.
Valor de Abatimentos
        TITSE1->E1_VENCVENCTO,;                   //|TIT_VENC | Data      | E1_VENCTO     |   20-Vencimento original, data.

        TIT_LOCKSE1->(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, carácter. para controle de LOCK
     TIT_MOED,; //22-Codigo   1,;                                //|TIT_MOED | Numérico  | E1_MOEDA      |   22-Código da moeda do titulo, numérico.
título
        NIL,;                              //|TIT_INTE,;  // | Numérico  | Nil           |   23-Interes (Juros) - Posicao reservada de uso interno
        ctod("  /  /  "), numérico.
;                 //|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 //24-Dt. da baixa, data.
     TIT_SALD,; //25-Saldo do titulo, numérico.
     TIT_VLIQ;  //26-Valor Liquido, numérico.
  };

  {;
    /* Segundo título */
  };

  {;
    /* Terceiro título */
  };

   ...

 };

}

Return .F. 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.