Pular para o conteúdo principal

LCX042 — Listagem LCX042

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
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
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

tabCabecalho​

SELECT {#10} X.CD_USUARIO, X.CD_USUARIO||' - '||U.NM_USUARIO DS_USUARIO, {#10} CAST(COALESCE(X.DT_FECHAMENTO,CURRENT_TIMESTAMP) AS DOM_TIMESTAMP) DT_FECHAMENTO, {#10} X.DT_ABERTURA, X.VL_FECHAMENTO, X.VL_ABERTURA, X.NR_CONTROLE {#10}
FROM CAIXA X {#10}
LEFT JOIN USUARIO U ON (U.CD_USUARIO = X.CD_USUARIO) {#10}
WHERE X.CD_EMPRESA = {iParametros}

Caixa #2​

SELECT {#10} RTP.O_DS_TIPO DS_TIPO, RTP.O_TP_BAIXA TP_BAIXA, {#10} CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' WHEN 'T' THEN 'CARTÃO (Não Soma no Resumo)' ELSE 'CHEQUE' END DS_TIPOSALDO, {#10} 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} CASE WHEN VD.TP_SALDO NOT IN ('T', 'H', 'P') THEN VD.VL_DEBITO ELSE 0 END VL_DEBITOLIQUIDO, {#10} CASE WHEN VD.TP_SALDO NOT IN ('T', 'H', 'P') THEN VD.VL_CREDITO ELSE 0 END VL_CREDITOLIQUIDO, {#10} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA {#10}
FROM VIEW_DIARIOCAIXA({iParametros}

tabPrazo​

SELECT {#10} P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_SALDO) VL_SALDO, {#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, {#10} CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END DS_PESSOA {#10}
FROM CONTAS C {#10}
INNER JOIN PESSOA P ON (P.CD_PESSOA = C.CD_PESSOA) {#10}
INNER JOIN TIPOCONTA T ON (T.CD_TIPOCONTA = C.CD_TIPOCONTA) {#10}
LEFT JOIN DESTINOREPARCELAMENTO DR ON (DR.CD_EMPRCONTAS = C.CD_EMPRESA {#10}
AND DR.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND DR.CD_PESSOA = C.CD_PESSOA {#10}
AND DR.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND DR.NR_PARCELA = C.NR_PARCELA) {#10}
LEFT JOIN CONTASJUNCAO CJ ON (CJ.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CJ.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CJ.CD_PESSOA = C.CD_PESSOA {#10}
AND CJ.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND CJ.NR_PARCELA = C.NR_PARCELA) {#10}
LEFT JOIN CONTASJUNCAO CJO ON (CJO.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CJO.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CJO.CD_PESSOA = C.CD_PESSOA {#10}
AND CJO.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND CJO.NR_PARCELA = C.NR_PARCELA) {#10}
LEFT JOIN FATURACONTAS FC ON (FC.CD_EMPRCONTAS = C.CD_EMPRESA {#10}
AND FC.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND FC.CD_PESSOA = C.CD_PESSOA {#10}
AND FC.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND FC.NR_PARCELA = C.NR_PARCELA) {#10}
WHERE C.CD_EMPRESA = {iParametros}

Text #1​

SELECT {#10} X.CD_USUARIO, X.CD_USUARIO||' - '||U.NM_USUARIO DS_USUARIO, {#10} CAST(COALESCE(X.DT_FECHAMENTO,CURRENT_TIMESTAMP) AS DOM_TIMESTAMP) DT_FECHAMENTO, {#10} X.DT_ABERTURA, X.VL_FECHAMENTO, X.VL_ABERTURA, X.NR_CONTROLE {#10}
FROM CAIXA X {#10}
LEFT JOIN USUARIO U ON (U.CD_USUARIO = X.CD_USUARIO) {#10}
WHERE X.CD_EMPRESA = {iParametros[1] + #10}
AND X.NR_CONTROLE = {iParametros[2]}

Text #2​

SELECT {#10} RTP.O_DS_TIPO DS_TIPO, RTP.O_TP_BAIXA TP_BAIXA, {#10} CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' WHEN 'T' THEN 'CARTÃO (Não Soma no Resumo)' ELSE 'CHEQUE' END DS_TIPOSALDO, {#10} 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} CASE WHEN VD.TP_SALDO NOT IN ('T', 'H', 'P') THEN VD.VL_DEBITO ELSE 0 END VL_DEBITOLIQUIDO, {#10} CASE WHEN VD.TP_SALDO NOT IN ('T', 'H', 'P') THEN VD.VL_CREDITO ELSE 0 END VL_CREDITOLIQUIDO, {#10} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA {#10}
FROM VIEW_DIARIOCAIXA({iParametros[1]}, { Nulo(iDtAbertura,}D{)}, { Nulo(iDtFechamento,}D{)}, '
AND MX.CD_EMPRCONTROLE = {iParametros[1]}
AND MX.NR_CONTROLE = {iParametros[2]}
AND MX.CD_USUARIO = '{Nulo(iCdUsuario,}S{)}'
AND PARMSALDO.TP_SALDO IN (''X'', ''R'', ''P'', ''T'') ') 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 RETORNA_TIPOPROCESSO(VD.CD_EMPRESA, VD.NR_LANCCAIXA, VD.CD_EMPRESA, VD.NR_PROCESSO) RTP ON (1 = 1) {#10}
WHERE CASE WHEN VD.TP_SALDO IN ('T', 'R', 'P')
AND COALESCE(VD.VL_CREDITO, 0) > 0 THEN 0 ELSE 1 END = 1 {#10}
AND P.TP_SALDO <> 'I' {#10}
ORDER BY 1, 3

Text #3​

SELECT {#10} P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_SALDO) VL_SALDO, {#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, {#10} CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END DS_PESSOA {#10}
FROM CONTAS C {#10}
INNER JOIN PESSOA P ON (P.CD_PESSOA = C.CD_PESSOA) {#10}
INNER JOIN TIPOCONTA T ON (T.CD_TIPOCONTA = C.CD_TIPOCONTA) {#10}
LEFT JOIN DESTINOREPARCELAMENTO DR ON (DR.CD_EMPRCONTAS = C.CD_EMPRESA {#10}
AND DR.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND DR.CD_PESSOA = C.CD_PESSOA {#10}
AND DR.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND DR.NR_PARCELA = C.NR_PARCELA) {#10}
LEFT JOIN CONTASJUNCAO CJ ON (CJ.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CJ.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CJ.CD_PESSOA = C.CD_PESSOA {#10}
AND CJ.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND CJ.NR_PARCELA = C.NR_PARCELA) {#10}
LEFT JOIN CONTASJUNCAO CJO ON (CJO.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CJO.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CJO.CD_PESSOA = C.CD_PESSOA {#10}
AND CJO.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND CJO.NR_PARCELA = C.NR_PARCELA) {#10}
LEFT JOIN FATURACONTAS FC ON (FC.CD_EMPRCONTAS = C.CD_EMPRESA {#10}
AND FC.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND FC.CD_PESSOA = C.CD_PESSOA {#10}
AND FC.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND FC.NR_PARCELA = C.NR_PARCELA) {#10}
WHERE C.CD_EMPRESA = {iParametros[1] + #10}
AND C.NR_CONTROLE = {iParametros[2] + #10}
AND C.DT_VENCIMENTO > C.DT_LANCAMENTO {#10}
AND C.ST_CONTAS <> 'C' {#10}
AND T.TP_TIPOCONTA IN ('CR', 'HR', 'CT') {#10}
AND DR.CD_EMPRCONTAS IS NULL {#10}
AND CJ.CD_EMPRESA IS NULL {#10}
AND CJO.CD_EMPRORIG IS NULL {#10}
AND FC.CD_EMPRCONTAS IS NULL {#10}
GROUP BY P.NM_PESSOA, C.NR_DOCUMENTO, {#10} CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'VENDAS A PRAZO DUPLICATA' WHEN 'HR' THEN 'VENDAS A PRAZO CHEQUE' ELSE 'VENDAS CARTÃO' END, {#10} CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END {#10}
ORDER BY CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'VENDAS A PRAZO DUPLICATA' WHEN 'HR' THEN 'VENDAS A PRAZO CHEQUE' ELSE 'VENDAS CARTÃO' END, {#10} CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END, P.NM_PESSOA, C.NR_DOCUMENTO

Tabelas Utilizadas​

TabelaUso
CAIXAreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
CONTASJUNCAOreferenciada nas queries do layout
DESTINOREPARCELAMENTOreferenciada nas queries do layout
FATURACONTASreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_TIPOPROCESSOreferenciada 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/LCX042/ULCX042.pas
  • DFM: source/LCX042/ULCX042.dfm
  • Package: source/LCX042/LCX042.dpk