Pular para o conteúdo principal

LCX023 — Listagem LCX023

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

Caixa #2​

SELECT DISTINCT CAST('MOVIMENTO DE CAIXA' AS VARCHAR(100)) DS_TIPO, {CHR}

TabPrazo​

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

tabFechamento​

SELECT {#10}CAST(EMPRESA.CD_EMPRESA AS VARCHAR(10))||' - '||EMPRESA.NM_EMPRESA||' '||PESSOA.NR_CNPJCPF DS_EMPRESA, {#10}MX.DT_LANCAMENTO, VIEW_PLANOCONTAS.CD_CONTA, MX.NR_PROCESSO, MX.NR_RECIBO, {#10}VIEW_PLANOCONTAS.DS_CONTA, MX.NR_LANCCAIXA, HISTORICO.CD_HISTORICO, {#10}HISTORICO.DS_HISTORICO, MX.DS_COMPLEMENTO, MX.NR_DOCUMENTO, {#10}coalesce(HISTORICO.DS_HISTORICO||' ', '')||coalesce(MX.DS_COMPLEMENTO,'') DS_COMPLEMENTO, {#10}MX.VL_DOCUMENTO, cast(0 as numeric(15,2)) VL_CREDITO, {#10}CAIXA.NR_CONTROLE, COALESCE(MX.CD_USUARIO,CAIXA.CD_USUARIO) CD_USUARIO, USUARIO.NM_USUARIO DS_USUARIO, CAIXA.DT_ABERTURA, {#10}CAIXA.DT_FECHAMENTO, CAIXA.VL_ABERTURA, CAIXA.VL_FECHAMENTO, CAIXA.VL_MOVIMENTO, {#10}EMPRESA.CD_EMPRESA, CAST('R' AS VARCHAR(1)), PARMSALDO.TP_SALDO, {#10}MX.CD_EMPRCONTAS, MX.NR_LANCAMENTO, COALESCE(MX.CD_PESSOA, MX.CD_PESSOACAIXA), MX.CD_TIPOCONTA, MX.NR_PARCELA {#10}
FROM CAIXA {#10}
LEFT JOIN MOVTOCAIXA MX ON (MX.CD_EMPRESA = CAIXA.CD_EMPRESA {#10}
AND MX.NR_CONTROLE = CAIXA.NR_CONTROLE) {#10}
LEFT JOIN VIEW_PLANOCONTAS(MX.CD_EMPRESA, 'AND P.CD_CONTA = '||COALESCE(MX.CD_CONTADEBITO,-1)) ON (1 = 1) {#10}
LEFT JOIN USUARIO ON (USUARIO.CD_USUARIO = COALESCE(MX.CD_USUARIO,CAIXA.CD_USUARIO)) {#10}
LEFT JOIN VIEW_PARMSALDO(MX.CD_EMPRESA, COALESCE(MX.CD_CONTADEBITO,-1), NULL, NULL) PARMSALDO ON (1 = 1) {#10}
INNER JOIN EMPRESA ON (EMPRESA.CD_EMPRESA = CAIXA.CD_EMPRESA) {#10}
INNER JOIN PESSOA ON (PESSOA.CD_PESSOA = EMPRESA.CD_PESSOA) {#10}
LEFT JOIN HISTORICO ON (HISTORICO.CD_HISTORICO = MX.CD_HISTORICO) {#10}
LEFT JOIN VERIFICA_CONTA_SALDO(MX.CD_EMPRESA, MX.CD_CONTADEBITO, MX.CD_CONTACREDITO) VCS ON (1 = 1) {#10}
WHERE CAIXA.CD_EMPRESA = {iParametros}

Text #1​

SELECT DISTINCT CAST('MOVIMENTO DE CAIXA' AS VARCHAR(100)) DS_TIPO, {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)}
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'',''T'') ') 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)}
INNER JOIN MOVTOPROCESSO MP ON (MP.cd_empresa = VD.CD_EMPRESA
AND MP.nr_processo = VD.NR_PROCESSO) {CHR(10)}
INNER JOIN CONTAS C ON (C.CD_EMPRESA = MP.cd_emprcontas {CHR(10)}
AND C.nr_lancamento = MP.nr_lancamento {CHR(10)}
AND C.cd_pessoa = MP.cd_pessoa {CHR(10)}
AND C.cd_tipoconta = MP.cd_tipoconta {CHR(10)}
AND C.nr_parcela = MP.nr_parcela {CHR(10)}
AND COALESCE(C.dt_liquidacao,C.DT_VENCIMENTO) <= C.dt_lancamento) {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)}
UNION ALL {CHR(10)}
SELECT DISTINCT CAST('RECEBIMENTOS/PAGTOS AVULSOS' AS VARCHAR(100)) DS_TIPO, {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)}
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'',''T'')
AND MX.NR_PROCESSO IS NULL ') 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)}
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)}
UNION ALL {CHR(10)}
SELECT DISTINCT CAST('RECEBIMENTOS/PAGTOS DE DUPLICATAS' AS VARCHAR(100)) DS_TIPO, {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)}
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'',''T'') ') 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)}
INNER JOIN MOVTOPROCESSO MP ON (MP.cd_empresa = VD.CD_EMPRESA
AND MP.nr_processo = VD.NR_PROCESSO) {CHR(10)}
INNER JOIN CONTAS C ON (C.CD_EMPRESA = MP.cd_emprcontas {CHR(10)}
AND C.nr_lancamento = MP.nr_lancamento {CHR(10)}
AND C.cd_pessoa = MP.cd_pessoa {CHR(10)}
AND C.cd_tipoconta = MP.cd_tipoconta {CHR(10)}
AND C.nr_parcela = MP.nr_parcela {CHR(10)}
AND COALESCE(C.dt_liquidacao,C.DT_VENCIMENTO) > C.dt_lancamento) {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, 2

Text #2​

SELECT P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_SALDO) VL_SALDO, {CHR(10)}CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'Duplicata' WHEN 'HR' THEN 'Cheque' ELSE 'Cartão' END DS_TIPOSALDO {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)}
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 IN ('T', 'P') {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 'Duplicata' WHEN 'HR' THEN 'Cheque' ELSE 'Cartão' END {CHR(10)}
ORDER BY P.NM_PESSOA, C.NR_DOCUMENTO

Text #3​

SELECT {#10}CAST(EMPRESA.CD_EMPRESA AS VARCHAR(10))||' - '||EMPRESA.NM_EMPRESA||' '||PESSOA.NR_CNPJCPF DS_EMPRESA, {#10}MX.DT_LANCAMENTO, VIEW_PLANOCONTAS.CD_CONTA, MX.NR_PROCESSO, MX.NR_RECIBO, {#10}VIEW_PLANOCONTAS.DS_CONTA, MX.NR_LANCCAIXA, HISTORICO.CD_HISTORICO, {#10}HISTORICO.DS_HISTORICO, MX.DS_COMPLEMENTO, MX.NR_DOCUMENTO, {#10}coalesce(HISTORICO.DS_HISTORICO||' ', '')||coalesce(MX.DS_COMPLEMENTO,'') DS_COMPLEMENTO, {#10}MX.VL_DOCUMENTO, cast(0 as numeric(15,2)) VL_CREDITO, {#10}CAIXA.NR_CONTROLE, COALESCE(MX.CD_USUARIO,CAIXA.CD_USUARIO) CD_USUARIO, USUARIO.NM_USUARIO DS_USUARIO, CAIXA.DT_ABERTURA, {#10}CAIXA.DT_FECHAMENTO, CAIXA.VL_ABERTURA, CAIXA.VL_FECHAMENTO, CAIXA.VL_MOVIMENTO, {#10}EMPRESA.CD_EMPRESA, CAST('R' AS VARCHAR(1)), PARMSALDO.TP_SALDO, {#10}MX.CD_EMPRCONTAS, MX.NR_LANCAMENTO, COALESCE(MX.CD_PESSOA, MX.CD_PESSOACAIXA), MX.CD_TIPOCONTA, MX.NR_PARCELA {#10}
FROM CAIXA {#10}
LEFT JOIN MOVTOCAIXA MX ON (MX.CD_EMPRESA = CAIXA.CD_EMPRESA {#10}
AND MX.NR_CONTROLE = CAIXA.NR_CONTROLE) {#10}
LEFT JOIN VIEW_PLANOCONTAS(MX.CD_EMPRESA, 'AND P.CD_CONTA = '||COALESCE(MX.CD_CONTADEBITO,-1)) ON (1 = 1) {#10}
LEFT JOIN USUARIO ON (USUARIO.CD_USUARIO = COALESCE(MX.CD_USUARIO,CAIXA.CD_USUARIO)) {#10}
LEFT JOIN VIEW_PARMSALDO(MX.CD_EMPRESA, COALESCE(MX.CD_CONTADEBITO,-1), NULL, NULL) PARMSALDO ON (1 = 1) {#10}
INNER JOIN EMPRESA ON (EMPRESA.CD_EMPRESA = CAIXA.CD_EMPRESA) {#10}
INNER JOIN PESSOA ON (PESSOA.CD_PESSOA = EMPRESA.CD_PESSOA) {#10}
LEFT JOIN HISTORICO ON (HISTORICO.CD_HISTORICO = MX.CD_HISTORICO) {#10}
LEFT JOIN VERIFICA_CONTA_SALDO(MX.CD_EMPRESA, MX.CD_CONTADEBITO, MX.CD_CONTACREDITO) VCS ON (1 = 1) {#10}
WHERE CAIXA.CD_EMPRESA = {iParametros[1] +#10}
AND CAIXA.NR_CONTROLE = {iParametros[2]}

Tabelas Utilizadas​

TabelaUso
CAIXAreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
HISTORICOreferenciada nas queries do layout
MOVTOCAIXAreferenciada nas queries do layout
MOVTOPROCESSOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
TIPOCONTAreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout
VERIFICA_CONTA_SALDOreferenciada nas queries do layout
VIEW_DIARIOCAIXAreferenciada nas queries do layout
VIEW_PARMSALDOreferenciada nas queries do layout
VIEW_PLANOCONTASreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LCX023/ULCX023.pas
  • DFM: source/LCX023/ULCX023.dfm
  • Package: source/LCX023/LCX023.dpk