Pular para o conteúdo principal

LCX026 — Listagem LCX026

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, 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
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 AP.O_DS_TIPOFECHAMENTO DS_TIPO, VD.DS_CONTA DS_TIPOSALDO, {#10} CASE VD.TP_SALDO WHEN 'X' THEN 'Caixa' WHEN 'T' THEN 'Cartão' ELSE 'Cheque' END DS_TIPOCONTA, {#10} VD.DS_CONTA, AP.O_FECHAMENTO_APRAZO, {#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} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA, {#10} VD.NR_PROCESSO, VD.TP_SALDO, VD.CD_USUARIO, VD.NM_USUARIO {#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 {#10} WHEN 'CR' THEN (CASE WHEN B.CD_EMPRESA IS NOT NULL THEN 'Boleto' ELSE 'Duplicata' END) {#10} WHEN 'HR' THEN 'Cheque' {#10} ELSE 'Cartão' END DS_TIPOSALDO {#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 BOLETO B ON (B.CD_EMPRESA = C.CD_EMPRESA {#10}
AND B.CD_BANCO = C.CD_BANCO {#10}
AND B.CD_AGENCIA = C.CD_AGENCIA {#10}
AND B.CD_FORMAPAGTO = C.CD_FORMAPAGTO) {#10}
WHERE C.CD_EMPRESA = {iParametros}

TabNF​

SELECT {#10} N.DT_EMISSAO, N.NR_LANCAMENTO, N.CD_SERIE, N.NR_NOTAFISCAL, P.NM_PESSOA, {#10} CASE N.ST_NOTA WHEN 'V' THEN 'VÁLIDA' ELSE 'CANCELADA' END ST_NOTA {#10}
FROM NOTA N {#10}
INNER JOIN PESSOA P ON (P.CD_PESSOA = N.CD_PESSOA) {#10}
INNER JOIN NFE NF ON (NF.CD_EMPRESA = N.CD_EMPRESA {#10}
AND NF.NR_LANCAMENTO = N.NR_LANCAMENTO {#10}
AND NF.CD_SERIE = N.CD_SERIE {#10}
AND NF.TP_NOTA = N.TP_NOTA) {#10}
INNER JOIN CAIXA X ON (N.CD_EMPRESA = X.CD_EMPRESA {#10}
AND N.DT_EMISSAO BETWEEN CAST(X.DT_ABERTURA AS DATE)
AND CAST(X.DT_FECHAMENTO AS DATE)) {#10}
WHERE N.TP_NOTA = 'S' {#10}
AND CASE WHEN N.ST_NOTA = 'V'
AND NF.NR_PROTOCOLOAUT IS NULL THEN 1 {#10} WHEN N.ST_NOTA = 'C'
AND NF.NR_PROTOCOLOAUT IS NOT NULL
AND NF.NR_PROTOCOLOCANC IS NULL THEN 1 {#10} ELSE 0 END = 1 {#10}
AND X.CD_EMPRESA = {iParametros}

tabBanco​

SELECT AP.O_DS_TIPOFECHAMENTO DS_TIPO, VD.DS_CONTA DS_TIPOSALDO, {#10} CASE VD.TP_SALDO WHEN 'X' THEN 'Caixa' WHEN 'B' THEN 'Banco' ELSE 'Cheque' END DS_TIPOCONTA, {#10} VD.DS_CONTA, AP.O_FECHAMENTO_APRAZO, {#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} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA, {#10} VD.NR_PROCESSO, VD.TP_SALDO, VD.CD_USUARIO, VD.NM_USUARIO {#10}
FROM VIEW_DIARIOCAIXA({iParametros}

tabFechamento​

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

Caixa #3​

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

Text #1​

SELECT AP.O_DS_TIPOFECHAMENTO DS_TIPO, VD.DS_CONTA DS_TIPOSALDO, {#10} CASE VD.TP_SALDO WHEN 'X' THEN 'Caixa' WHEN 'T' THEN 'Cartão' ELSE 'Cheque' END DS_TIPOCONTA, {#10} VD.DS_CONTA, AP.O_FECHAMENTO_APRAZO, {#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} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA, {#10} VD.NR_PROCESSO, VD.TP_SALDO, VD.CD_USUARIO, VD.NM_USUARIO {#10}
FROM VIEW_DIARIOCAIXA({iParametros[1]}, '01/01/1900', '12/31/2099', '
AND MX.CD_EMPRCONTROLE = {iParametros[1]}
AND MX.NR_CONTROLE = {iParametros[2]}
AND PARMSALDO.TP_SALDO = ''X'' ') 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 VALIDA_FECHAMENTO_APRAZO(VD.CD_EMPRESA, VD.NR_PROCESSO, VD.CD_EMPRCONTAS, VD.NR_LANCAMENTO, VD.CD_PESSOA, VD.CD_TIPOCONTA, VD.NR_PARCELA) AP 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, 2

Text #2​

SELECT {#10} P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_SALDO) VL_SALDO, {#10} CASE T.TP_TIPOCONTA {#10} WHEN 'CR' THEN (CASE WHEN B.CD_EMPRESA IS NOT NULL THEN 'Boleto' ELSE 'Duplicata' END) {#10} WHEN 'HR' THEN 'Cheque' {#10} ELSE 'Cartão' END DS_TIPOSALDO {#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 BOLETO B ON (B.CD_EMPRESA = C.CD_EMPRESA {#10}
AND B.CD_BANCO = C.CD_BANCO {#10}
AND B.CD_AGENCIA = C.CD_AGENCIA {#10}
AND B.CD_FORMAPAGTO = C.CD_FORMAPAGTO) {#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 IN ('T', 'P') {#10}
AND T.TP_TIPOCONTA IN ('CR', 'HR', 'CT') {#10}
GROUP BY 1, 2, 4 {#10}
ORDER BY P.NM_PESSOA, C.NR_DOCUMENTO

Text #3​

SELECT {#10} N.DT_EMISSAO, N.NR_LANCAMENTO, N.CD_SERIE, N.NR_NOTAFISCAL, P.NM_PESSOA, {#10} CASE N.ST_NOTA WHEN 'V' THEN 'VÁLIDA' ELSE 'CANCELADA' END ST_NOTA {#10}
FROM NOTA N {#10}
INNER JOIN PESSOA P ON (P.CD_PESSOA = N.CD_PESSOA) {#10}
INNER JOIN NFE NF ON (NF.CD_EMPRESA = N.CD_EMPRESA {#10}
AND NF.NR_LANCAMENTO = N.NR_LANCAMENTO {#10}
AND NF.CD_SERIE = N.CD_SERIE {#10}
AND NF.TP_NOTA = N.TP_NOTA) {#10}
INNER JOIN CAIXA X ON (N.CD_EMPRESA = X.CD_EMPRESA {#10}
AND N.DT_EMISSAO BETWEEN CAST(X.DT_ABERTURA AS DATE)
AND CAST(X.DT_FECHAMENTO AS DATE)) {#10}
WHERE N.TP_NOTA = 'S' {#10}
AND CASE WHEN N.ST_NOTA = 'V'
AND NF.NR_PROTOCOLOAUT IS NULL THEN 1 {#10} WHEN N.ST_NOTA = 'C'
AND NF.NR_PROTOCOLOAUT IS NOT NULL
AND NF.NR_PROTOCOLOCANC IS NULL THEN 1 {#10} ELSE 0 END = 1 {#10}
AND X.CD_EMPRESA = {iParametros[1] + #10}
AND X.NR_CONTROLE = {iParametros[2]}

Text #4​

SELECT AP.O_DS_TIPOFECHAMENTO DS_TIPO, VD.DS_CONTA DS_TIPOSALDO, {#10} CASE VD.TP_SALDO WHEN 'X' THEN 'Caixa' WHEN 'B' THEN 'Banco' ELSE 'Cheque' END DS_TIPOCONTA, {#10} VD.DS_CONTA, AP.O_FECHAMENTO_APRAZO, {#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} VD.VL_MOVIMENTO, VD.VL_FECHAMENTO, VD.CD_EMPRESA, VD.NR_LANCCAIXA, {#10} VD.NR_PROCESSO, VD.TP_SALDO, VD.CD_USUARIO, VD.NM_USUARIO {#10}
FROM VIEW_DIARIOCAIXA({iParametros[1]}, '01/01/1900', '12/31/2099', '
AND MX.CD_EMPRCONTROLE = {iParametros[1]}
AND MX.NR_CONTROLE = {iParametros[2]}
AND PARMSALDO.TP_SALDO = ''B'' ') 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 VALIDA_FECHAMENTO_APRAZO(VD.CD_EMPRESA, VD.NR_PROCESSO, VD.CD_EMPRCONTAS, VD.NR_LANCAMENTO, VD.CD_PESSOA, VD.CD_TIPOCONTA, VD.NR_PARCELA) AP 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, 2

Text #5​

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

Text #6​

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

Tabelas Utilizadas​

TabelaUso
BOLETOreferenciada nas queries do layout
CAIXAreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
NFEreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
TIPOCONTAreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout
VALIDA_FECHAMENTO_APRAZOreferenciada nas queries do layout
VIEW_DIARIOCAIXAreferenciada nas queries do layout
VIEW_PARMSALDOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LCX026/ULCX026.pas
  • DFM: source/LCX026/ULCX026.dfm
  • Package: source/LCX026/LCX026.dpk