Pular para o conteúdo principal

LCX034 — Listagem LCX034

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 PESSOA, filtrada por CD_EMPRESA, NR_CONTROLE, DT_VENCIMENTO, ST_CONTAS.

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 VD.DS_EMPRESA, VD.CD_USUARIO||' - '||VD.NM_USUARIO 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, 'M' TP_QUEBRA, VD.NR_RECIBO
FROM VIEW_DIARIOCAIXA(1, '01/01/1900', '01/01/2099', '
AND MX.NR_CONTROLE = 15 ') VD
ORDER BY VD.NR_LANCCAIXA
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)
WHERE C.CD_EMPRESA = 1
AND C.NR_CONTROLE = 25
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
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)
WHERE C.CD_EMPRESA = 1
AND C.NR_CONTROLE = 25
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
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)
WHERE C.CD_EMPRESA = 1
AND C.NR_CONTROLE = 25
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

Caixa #2​

SELECT VD.DS_EMPRESA, CAST(VD.CD_USUARIO||' - '||VD.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, VD.NR_CONTROLE, {#10} VD.DT_ABERTURA, VD.DT_FECHAMENTO, VD.VL_ABERTURA, {#10} VD.DS_COMPLEMENTO, VD.VL_DEBITO, VD.VL_CREDITO, {#10} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, {#10} CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' {#10} WHEN 'T' THEN 'CARTÃO DE CRÉDITO' {#10} ELSE 'CHEQUE' END DS_TIPOSALDO, {#10}VD.DS_CONTA, CASE C.TP_PAGTOCARTAO WHEN 'P' THEN 'Crédito a Prazo' WHEN 'D' THEN 'Débito a vista' {#10} WHEN 'C' THEN 'Crédito a vista' END || {#10} COALESCE(' - '||CASE C.TP_PAGTOCARTAO WHEN 'P' THEN O.DS_CONDPAGTO END,'') DS_CARTAO{#10}
FROM VIEW_DIARIOCAIXA({iParametros}

TabPrazo​

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 = {iParametros}

TabProduto​

SELECT P.CD_ITEM, P.DS_ITEM, SUM(I.VL_LIQUIDO) VL_TOTAL, SUM(COALESCE(I.QT_ITEMNOTA,I.PS_ITEMNOTA)) QT_TOTAL
FROM CONTAS C
INNER JOIN NOTA N ON (N.CD_EMPRESA = C.CD_EMPRESA
AND N.NR_LANCAMENTO = C.NR_LANCTONOTA
AND N.CD_SERIE = C.CD_SERIE
AND N.TP_NOTA = C.TP_CONTAS
AND N.CD_PESSOA = C.CD_PESSOA
AND N.ST_NOTA = 'V'
AND N.TP_NOTA = 'S')
INNER JOIN ITEMNOTA I ON (N.CD_EMPRESA = I.CD_EMPRESA
AND N.NR_LANCAMENTO = I.NR_LANCAMENTO
AND N.CD_SERIE = I.CD_SERIE
AND N.TP_NOTA = I.TP_NOTA)
INNER JOIN ITEM P ON (P.CD_ITEM = I.CD_ITEM)
WHERE C.CD_EMPRESA = {iParametros}

tabFechamento​

SELECT E.NM_EMPRESA DS_EMPRESA, CAST(U.CD_USUARIO||' - '||U.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, C.NR_CONTROLE, C.DT_ABERTURA, C.DT_FECHAMENTO, C.VL_ABERTURA, NULL DS_COMPLEMENTO, 0 VL_DEBITO, 0 VL_CREDITO, C.VL_MOVIMENTO, C.VL_FECHAMENTO, C.CD_EMPRESA, 'CAIXA' DS_TIPOSALDO
FROM CAIXA C
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = C.CD_EMPRESA)
INNER JOIN USUARIO U ON (U.CD_USUARIO = C.CD_USUARIO)
WHERE C.CD_EMPRESA = {iParametros}

Text #1​

SELECT VD.DS_EMPRESA, CAST(VD.CD_USUARIO||' - '||VD.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, VD.NR_CONTROLE, {#10} VD.DT_ABERTURA, VD.DT_FECHAMENTO, VD.VL_ABERTURA, {#10} VD.DS_COMPLEMENTO, VD.VL_DEBITO, VD.VL_CREDITO, {#10} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, {#10} CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' {#10} WHEN 'T' THEN 'CARTÃO DE CRÉDITO' {#10} ELSE 'CHEQUE' END DS_TIPOSALDO, {#10}VD.DS_CONTA, CASE C.TP_PAGTOCARTAO WHEN 'P' THEN 'Crédito a Prazo' WHEN 'D' THEN 'Débito a vista' {#10} WHEN 'C' THEN 'Crédito a vista' END || {#10} COALESCE(' - '||CASE C.TP_PAGTOCARTAO WHEN 'P' THEN O.DS_CONDPAGTO END,'') DS_CARTAO{#10}
FROM VIEW_DIARIOCAIXA({iParametros[1]}, {#10} '01/01/1900', {#10} '12/31/2099', {#10} '
AND MX.NR_CONTROLE = {iParametros[2]}
AND PARMSALDO.TP_SALDO IN (''X'',''T'',''R'',''P'') ') VD {#10}
LEFT JOIN VIEW_PARMSALDO(VD.CD_EMPRESA, VD.CD_CONTA, VD.TP_SALDO, VD.CD_USUARIO) P ON (1 = 1) {#10}
LEFT JOIN CHEQUE C ON (C.CD_EMPRCAIXA = VD.CD_EMPRESA{#10}
AND C.NR_LANCCAIXA = VD.NR_LANCCAIXA){#10}
LEFT JOIN CONDPAGTO O ON (O.CD_CONDPAGTO = C.CD_CONDPAGTO){#10}
WHERE P.TP_SALDO <> 'I'
AND CASE WHEN VD.TP_SALDO IN ('T','R','P')
AND COALESCE(VD.VL_CREDITO,0) > 0 THEN 0 ELSE 1 END = 1
GROUP BY VD.DS_EMPRESA, DS_USUARIO, VD.NR_CONTROLE, {#10} VD.DT_ABERTURA, VD.DT_FECHAMENTO, VD.VL_ABERTURA, {#10} VD.DS_COMPLEMENTO, VD.VL_DEBITO, VD.VL_CREDITO, {#10} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, {#10} DS_TIPOSALDO, {#10} VD.DS_CONTA, C.TP_PAGTOCARTAO, DS_CARTAO, VD.NR_LANCCAIXA {#10}
ORDER BY VD.CD_EMPRESA, CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' WHEN 'T' THEN 'CARTÃO DE CRÉDITO' ELSE 'CHEQUE' END, VD.DS_COMPLEMENTO, VD.NR_LANCCAIXA

Text #2​

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 = {iParametros[1]}
AND C.NR_CONTROLE = {iParametros[2]}
AND C.DT_VENCIMENTO > C.DT_LANCAMENTO
AND C.ST_CONTAS IN ('T', 'P')
AND T.TP_TIPOCONTA = 'CR'
GROUP BY P.NM_PESSOA, C.NR_DOCUMENTO
ORDER BY P.NM_PESSOA, C.NR_DOCUMENTO

Text #3​

SELECT P.CD_ITEM, P.DS_ITEM, SUM(I.VL_LIQUIDO) VL_TOTAL, SUM(COALESCE(I.QT_ITEMNOTA,I.PS_ITEMNOTA)) QT_TOTAL
FROM CONTAS C
INNER JOIN NOTA N ON (N.CD_EMPRESA = C.CD_EMPRESA
AND N.NR_LANCAMENTO = C.NR_LANCTONOTA
AND N.CD_SERIE = C.CD_SERIE
AND N.TP_NOTA = C.TP_CONTAS
AND N.CD_PESSOA = C.CD_PESSOA
AND N.ST_NOTA = 'V'
AND N.TP_NOTA = 'S')
INNER JOIN ITEMNOTA I ON (N.CD_EMPRESA = I.CD_EMPRESA
AND N.NR_LANCAMENTO = I.NR_LANCAMENTO
AND N.CD_SERIE = I.CD_SERIE
AND N.TP_NOTA = I.TP_NOTA)
INNER JOIN ITEM P ON (P.CD_ITEM = I.CD_ITEM)
WHERE C.CD_EMPRESA = {iParametros[1]}
AND C.NR_CONTROLE = {iParametros[2]}
AND C.NR_PARCELA = 1
GROUP BY P.CD_ITEM, P.DS_ITEM
ORDER BY P.CD_ITEM, P.DS_ITEM

Text #4​

SELECT E.NM_EMPRESA DS_EMPRESA, CAST(U.CD_USUARIO||' - '||U.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, C.NR_CONTROLE, C.DT_ABERTURA, C.DT_FECHAMENTO, C.VL_ABERTURA, NULL DS_COMPLEMENTO, 0 VL_DEBITO, 0 VL_CREDITO, C.VL_MOVIMENTO, C.VL_FECHAMENTO, C.CD_EMPRESA, 'CAIXA' DS_TIPOSALDO
FROM CAIXA C
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = C.CD_EMPRESA)
INNER JOIN USUARIO U ON (U.CD_USUARIO = C.CD_USUARIO)
WHERE C.CD_EMPRESA = {iParametros[1]}
AND C.NR_CONTROLE = {iParametros[2]}

Tabelas Utilizadas​

TabelaUso
CAIXAreferenciada nas queries do layout
CHEQUEreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMNOTAreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
TIPOCONTAreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout
VIEW_DIARIOCAIXAreferenciada nas queries do layout
VIEW_PARMSALDOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LCX034/ULCX034.pas
  • DFM: source/LCX034/ULCX034.dfm
  • Package: source/LCX034/LCX034.dpk