Pular para o conteúdo principal

LCX033 — Listagem LCX033

Visão Geral​

Layout de impressão da família LCX (Caixa). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.

Descrição​

Consulta baseada em VIEW_DIARIOCAIXA, com junção em VIEW_PARMSALDO, PESSOA, TIPOCONTA, filtrada por TP_SALDO, END.

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout de Duplicata
// 1 - Empresa
// 2 - Controle Caixa
// 3 - Visualiza -> V ou Imprime -> I
// 4 - Impressora do Parametro
]);

SQL Base​

Caixa #1​

SELECT CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' WHEN 'T' THEN 'CARTÃO' ELSE 'CHEQUE' END DS_TIPOSALDO, VD.DS_EMPRESA, CAST(VD.CD_USUARIO||' - '||VD.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, VD.NR_CONTROLE, VD.DT_ABERTURA, VD.DT_FECHAMENTO, VD.VL_ABERTURA, VD.DS_COMPLEMENTO, VD.VL_DEBITO, VD.VL_CREDITO, VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA, vd.TP_OPERACAO
FROM VIEW_DIARIOCAIXA(:CD_EMPR, '01/01/1900', '12/31/2099', '
AND MX.CD_EMPRCONTROLE = '||:CD_EMPRESA || '
AND MX.NR_CONTROLE = '||:NR_CONTROLE || '
AND PARMSALDO.TP_SALDO IN (''X'', ''R'', ''P'') '|| '
AND CAIXA.CD_USUARIO = MX.CD_USUARIO ') VD
LEFT JOIN VIEW_PARMSALDO(VD.CD_EMPRESA, VD.CD_CONTA, VD.TP_SALDO, VD.CD_USUARIO) P ON (1 = 1)
WHERE P.TP_SALDO <> 'I'
AND CASE WHEN VD.TP_SALDO = 'R'
AND COALESCE(VD.VL_CREDITO,0) > 0 THEN 0 ELSE 1 END = 1
AND CASE WHEN VD.TP_SALDO = 'P'
AND COALESCE(VD.VL_DEBITO,0) > 0 THEN 0 ELSE 1 END = 1
ORDER BY 1, 2 CD_EMPR CD_EMPRESA NR_CONTROLE
SELECT P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_SALDO) VL_SALDO
FROM CONTAS C
INNER JOIN PESSOA P ON (P.CD_PESSOA = C.CD_PESSOA)
INNER JOIN TIPOCONTA T ON (T.CD_TIPOCONTA = C.CD_TIPOCONTA)
WHERE C.CD_EMPRESA = :CD_EMPRESA
AND C.NR_CONTROLE = :NR_CONTROLE
AND C.DT_VENCIMENTO > C.DT_LANCAMENTO
AND C.ST_CONTAS IN ('T', 'P')
GROUP BY P.NM_PESSOA, C.NR_DOCUMENTO
ORDER BY P.NM_PESSOA, C.NR_DOCUMENTO CD_EMPRESA NR_CONTROLE

Caixa #2​

SELECT CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' WHEN 'T' THEN 'CARTÃO' ELSE 'CHEQUE' END DS_TIPOSALDO, VD.DS_EMPRESA, CAST(VD.CD_USUARIO||' - '||VD.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, VD.NR_CONTROLE, VD.DT_ABERTURA, VD.DT_FECHAMENTO, VD.VL_ABERTURA, VD.DS_COMPLEMENTO, VD.VL_DEBITO, VD.VL_CREDITO, VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA, vd.TP_OPERACAO
FROM VIEW_DIARIOCAIXA({iParametros}

Text​

SELECT CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' WHEN 'T' THEN 'CARTÃO' ELSE 'CHEQUE' END DS_TIPOSALDO, VD.DS_EMPRESA, CAST(VD.CD_USUARIO||' - '||VD.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, VD.NR_CONTROLE, VD.DT_ABERTURA, VD.DT_FECHAMENTO, VD.VL_ABERTURA, VD.DS_COMPLEMENTO, VD.VL_DEBITO, VD.VL_CREDITO, VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA, vd.TP_OPERACAO
FROM VIEW_DIARIOCAIXA({iParametros[1]}, '01/01/1900', '12/31/2099', {Nulo(}
AND MX.CD_EMPRCONTROLE = {iParametros[1]}
AND MX.NR_CONTROLE = {iParametros[2]}
AND PARMSALDO.TP_SALDO IN ('X', 'R', 'P')
AND CAIXA.CD_USUARIO = MX.CD_USUARIO {,}S{)}) VD
LEFT JOIN VIEW_PARMSALDO(VD.CD_EMPRESA, VD.CD_CONTA, VD.TP_SALDO, VD.CD_USUARIO) P ON (1 = 1)
WHERE P.TP_SALDO <> 'I'
AND CASE WHEN VD.TP_SALDO = 'R'
AND COALESCE(VD.VL_CREDITO,0) > 0 THEN 0 ELSE 1 END = 1
AND CASE WHEN VD.TP_SALDO = 'P'
AND COALESCE(VD.VL_DEBITO,0) > 0 THEN 0 ELSE 1 END = 1
ORDER BY 1, 2

Tabelas Utilizadas​

TabelaUso
CONTASreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
TIPOCONTAreferenciada nas queries do layout
VIEW_DIARIOCAIXAreferenciada nas queries do layout
VIEW_PARMSALDOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LCX033/ULCX033.pas
  • DFM: source/LCX033/ULCX033.dfm
  • Package: source/LCX033/LCX033.dpk