Pular para o conteúdo principal

LCX025 — Listagem LCX025

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.DS_EMPRESA DS_TIPO, VD.DS_EMPRESA DS_TIPOSALDO, 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, (VD.VL_ABERTURA + (
SELECT (SUM(D.VL_DEBITO) - SUM(D.VL_CREDITO))
FROM VIEW_DIARIOCAIXA(1, '01/01/1900', '01/01/2099', '
AND MX.NR_CONTROLE = 241 ') D)) VL_SALDOFINAL, (VD.VL_FECHAMENTO - (VD.VL_ABERTURA + (
SELECT (SUM(D.VL_DEBITO) - SUM(D.VL_CREDITO))
FROM VIEW_DIARIOCAIXA(1, '01/01/1900', '01/01/2099', '
AND MX.NR_CONTROLE = 241 ') D))) VL_DIFERENCA
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, P.NM_PESSOA DS_TIPOSALDO
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, P.NM_PESSOA DS_TIPOSALDO
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 RTP.O_DS_TIPO DS_TIPO, RTP.O_TP_BAIXA TP_BAIXA, {CHR}

TabPrazo​

SELECT P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_DOCUMENTO) VL_SALDO, {CHR}

tabFechamento​

SELECT {#10} M.CD_EMPRESA, U.CD_USUARIO, U.NM_USUARIO DS_USUARIO, {#10} M.NR_CONTROLE, M.DT_ABERTURA, M.VL_ABERTURA, {#10} E.CD_EMPRESA||' - '||E.NM_EMPRESA DS_EMPRESA, {#10} M.DT_FECHAMENTO, M.VL_FECHAMENTO, M.VL_MOVIMENTO, M.DT_REGISTRO {#10}
FROM CAIXA M {#10}
INNER JOIN USUARIO U ON(U.CD_USUARIO = M.CD_USUARIO) {#10}
INNER JOIN EMPRESA E ON(E.CD_EMPRESA = M.CD_EMPRESA) {#10}
WHERE M.NR_CONTROLE = {iParametros}

Text #1​

SELECT RTP.O_DS_TIPO DS_TIPO, RTP.O_TP_BAIXA TP_BAIXA, {CHR(10)} CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' WHEN 'T' THEN 'CARTÃO' ELSE 'CHEQUE' END DS_TIPOSALDO, {CHR(10)} VD.DS_EMPRESA, CAST(VD.CD_USUARIO||' - '||VD.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, VD.NR_CONTROLE, {CHR(10)} VD.DT_ABERTURA, VD.DT_FECHAMENTO, VD.VL_ABERTURA, {CHR(10)} VD.DS_COMPLEMENTO, VD.VL_DEBITO, VD.VL_CREDITO, {CHR(10)} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA, {CHR(10)} (VD.VL_ABERTURA + (
SELECT (SUM(D.VL_DEBITO) - SUM(D.VL_CREDITO)) {CHR(10)}
FROM VIEW_DIARIOCAIXA({iParametros[1]}, {CHR(10)}'01/01/1900', {CHR(10)}'12/31/2099', {CHR(10)}'
AND MX.CD_EMPRCONTROLE = {iParametros[1]}
AND MX.NR_CONTROLE = {iParametros[2]}
AND PARMSALDO.TP_SALDO IN (''X'',''R'',''P'')') D {CHR(10)}
INNER JOIN PARMFINANC PF ON (PF.CD_EMPRESA = D.CD_EMPRESA
AND COALESCE(PF.CD_CONTATRANSITORIA,-1) <> D.CD_CONTA
AND COALESCE(PF.CD_CONTATRANSCHEQUE,-1) <> D.CD_CONTA){CHR(10)}
WHERE CASE WHEN D.TP_SALDO IN ('T','R','P')
AND COALESCE(D.VL_CREDITO,0) > 0 THEN 0 ELSE 1 END = 1
AND D.TP_SALDO <> 'I')) VL_SALDOFINAL, {CHR(10)} (VD.VL_FECHAMENTO - (VD.VL_ABERTURA + (
SELECT (SUM(D.VL_DEBITO) - SUM(D.VL_CREDITO)) {CHR(10)}
FROM VIEW_DIARIOCAIXA({iParametros[1]}, {CHR(10)}'01/01/1900', {CHR(10)}'12/31/2099', {CHR(10)}'
AND MX.CD_EMPRCONTROLE = {iParametros[1]}
AND MX.NR_CONTROLE = {iParametros[2]}
AND PARMSALDO.TP_SALDO IN (''X'',''R'',''P'')') D {CHR(10)}
INNER JOIN PARMFINANC PF ON (PF.CD_EMPRESA = D.CD_EMPRESA
AND COALESCE(PF.CD_CONTATRANSITORIA,-1) <> D.CD_CONTA
AND COALESCE(PF.CD_CONTATRANSCHEQUE,-1) <> D.CD_CONTA){Chr(10)}
WHERE CASE WHEN D.TP_SALDO IN ('T','R','P')
AND COALESCE(D.VL_CREDITO,0) > 0 THEN 0 ELSE 1 END = 1
AND D.TP_SALDO <> 'I'))) VL_DIFERENCA {CHR(10)}
FROM VIEW_DIARIOCAIXA( {iParametros[1]}, {CHR(10)}'01/01/1900', {CHR(10)}'12/31/2099', {CHR(10)}'
AND MX.CD_EMPRCONTROLE = {iParametros[1]}
AND MX.NR_CONTROLE = {iParametros[2]}
AND PARMSALDO.TP_SALDO IN (''X'',''R'',''P'')') VD {CHR(10)}
LEFT JOIN VIEW_PARMSALDO(VD.CD_EMPRESA, VD.CD_CONTA, VD.TP_SALDO, VD.CD_USUARIO) P ON (1 = 1) {CHR(10)}
LEFT JOIN RETORNA_TIPOPROCESSO(VD.CD_EMPRESA, VD.NR_LANCCAIXA, VD.CD_EMPRESA, VD.NR_PROCESSO) RTP ON (1 = 1) {CHR(10)}
INNER JOIN PARMFINANC PF ON (PF.CD_EMPRESA = VD.CD_EMPRESA
AND COALESCE(PF.CD_CONTATRANSITORIA,-1) <> VD.CD_CONTA
AND COALESCE(PF.CD_CONTATRANSCHEQUE,-1) <> VD.CD_CONTA){CHR(10)}
WHERE CASE WHEN VD.TP_SALDO IN ('T','R','P')
AND COALESCE(VD.VL_CREDITO,0) > 0 THEN 0 ELSE 1 END = 1
AND P.TP_SALDO <> 'I' {CHR(10)}
ORDER BY 1, 3

Text #2​

SELECT P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_DOCUMENTO) VL_SALDO, {CHR(10)} CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'VENDAS A PRAZO DUPLICATA' WHEN 'HR' THEN 'VENDAS A PRAZO CHEQUE' ELSE 'VENDAS CARTÃO' END DS_TIPOSALDO, {CHR(10)} CASE WHEN TNF.NR_LANCTODEVOL IS NOT NULL THEN 'TROCA' ELSE CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END END DS_PESSOA {CHR(10)}
FROM CONTAS C {CHR(10)}
INNER JOIN PESSOA P ON (P.CD_PESSOA = C.CD_PESSOA) {CHR(10)}
INNER JOIN TIPOCONTA T ON (T.CD_TIPOCONTA = C.CD_TIPOCONTA) {CHR(10)}
LEFT JOIN TROCANF TNF on (TNF.CD_EMPRESA = C.CD_EMPRESA {CHR(10)}
AND TNF.NR_LANCAMENTO = C.NR_LANCTONOTA {CHR(10)}
AND TNF.CD_SERIE = C.CD_SERIE {CHR(10)}
AND TNF.TP_NOTA = C.TP_CONTAS) {CHR(10)}
WHERE C.CD_EMPRESA = {iParametros[1] + CHR(10)}
AND C.NR_CONTROLE = {iParametros[2] + CHR(10)}
AND C.DT_VENCIMENTO > C.DT_LANCAMENTO {CHR(10)}
AND C.ST_CONTAS <> 'C' {CHR(10)}
AND T.TP_TIPOCONTA IN ('CR','HR','CT') {CHR(10)}
GROUP BY P.NM_PESSOA, C.NR_DOCUMENTO, CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'VENDAS A PRAZO DUPLICATA' WHEN 'HR' THEN 'VENDAS A PRAZO CHEQUE' ELSE 'VENDAS CARTÃO' END, {CHR(10)} CASE WHEN TNF.NR_LANCTODEVOL IS NOT NULL THEN 'TROCA' ELSE CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END END {CHR(10)}
ORDER BY {CHR(10)} CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'VENDAS A PRAZO DUPLICATA' WHEN 'HR' THEN 'VENDAS A PRAZO CHEQUE' ELSE 'VENDAS CARTÃO' END, {CHR(10)} CASE WHEN TNF.NR_LANCTODEVOL IS NOT NULL THEN 'TROCA' ELSE CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END END, {CHR(10)} P.NM_PESSOA, C.NR_DOCUMENTO

Text #3​

SELECT {#10} M.CD_EMPRESA, U.CD_USUARIO, U.NM_USUARIO DS_USUARIO, {#10} M.NR_CONTROLE, M.DT_ABERTURA, M.VL_ABERTURA, {#10} E.CD_EMPRESA||' - '||E.NM_EMPRESA DS_EMPRESA, {#10} M.DT_FECHAMENTO, M.VL_FECHAMENTO, M.VL_MOVIMENTO, M.DT_REGISTRO {#10}
FROM CAIXA M {#10}
INNER JOIN USUARIO U ON(U.CD_USUARIO = M.CD_USUARIO) {#10}
INNER JOIN EMPRESA E ON(E.CD_EMPRESA = M.CD_EMPRESA) {#10}
WHERE M.NR_CONTROLE = {iParametros[2] + #10}
AND M.CD_EMPRESA = {iParametros[1]}

Tabelas Utilizadas​

TabelaUso
CAIXAreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
PARMFINANCreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_TIPOPROCESSOreferenciada nas queries do layout
TIPOCONTAreferenciada nas queries do layout
TROCANFreferenciada 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/LCX025/ULCX025.pas
  • DFM: source/LCX025/ULCX025.dfm
  • Package: source/LCX025/LCX025.dpk