LCX032 — Listagem LCX032
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 CONTAS, com junção em PESSOA, TIPOCONTA, NOTA, CONDPAGTO, filtrada por CD_EMPRESA, NR_CONTROLE, DT_VENCIMENTO, ST_CONTAS, TP_TIPOCONTA.
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 DISTINCT P.NM_PESSOA, C.NR_DOCUMENTO, CASE WHEN CP.ST_CONDPAGTO = 'V' THEN SUM(C.VL_DOCUMENTO) ELSE N.VL_NOTAFISCAL END VL_SALDO, CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'Duplicata' WHEN 'HR' THEN 'Cheque' ELSE 'Cartão' END DS_TIPOSALDO
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)
LEFT 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)
LEFT JOIN CONDPAGTO CP ON (CP.CD_CONDPAGTO = N.CD_CONDPAGTO)
WHERE C.CD_EMPRESA = :CD_EMPRESA
AND C.NR_CONTROLE = :NR_CONTROLE
AND C.DT_VENCIMENTO > C.DT_LANCAMENTO
AND C.ST_CONTAS IN ('T', 'P')
AND T.TP_TIPOCONTA IN ('CR','HR','CT')
GROUP BY P.NM_PESSOA, C.NR_DOCUMENTO, CP.ST_CONDPAGTO, N.VL_NOTAFISCAL, CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'Duplicata' WHEN 'HR' THEN 'Cheque' ELSE 'Cartão' END
ORDER BY P.NM_PESSOA, C.NR_DOCUMENTO CD_EMPRESA NR_CONTROLE
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 DISTINCT P.NM_PESSOA, C.NR_DOCUMENTO, {#10}CASE WHEN CP.ST_CONDPAGTO = 'V' THEN {#10}SUM(C.VL_DOCUMENTO) ELSE N.VL_NOTAFISCAL END VL_SALDO, {#10}CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'Duplicata' WHEN 'HR' THEN 'Cheque' 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 NOTA N ON (N.CD_EMPRESA = C.CD_EMPRESA {#10}
AND N.NR_LANCAMENTO = C.NR_LANCTONOTA {#10}
AND N.CD_SERIE = C.CD_SERIE {#10}
AND N.TP_NOTA = C.TP_CONTAS) {#10}
LEFT JOIN CONDPAGTO CP ON (CP.CD_CONDPAGTO = N.CD_CONDPAGTO) {#10}
WHERE C.CD_EMPRESA = {iParametros}
tabFechamento
SELECT C.CD_EMPRESA ||' - '|| E.NM_EMPRESA DS_EMPRESA, C.CD_USUARIO ||' - '|| U.NM_USUARIO DS_USUARIO, C.NR_CONTROLE, {#10} C.DT_ABERTURA, C.VL_ABERTURA, C.DT_FECHAMENTO, C.VL_FECHAMENTO, C.DT_REGISTRO {#10}
FROM CAIXA C {#10}
INNER JOIN USUARIO U ON (U.CD_USUARIO = C.CD_USUARIO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = C.CD_EMPRESA) {#10}
WHERE C.NR_CONTROLE = {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
AND COALESCE(VD.NR_LANCAMENTO, MP.NR_LANCAMENTO )= MP.NR_LANCAMENTO) {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 (
SELECT COUNT(CT.NR_LANCAMENTO)
FROM CONTAS CT {#10}
INNER JOIN MOVTOPROCESSO PM ON (PM.CD_EMPRCONTAS = CT.CD_EMPRESA {#10}
AND PM.NR_LANCAMENTO = CT.NR_LANCAMENTO {#10}
AND PM.CD_PESSOA = CT.CD_PESSOA {#10}
AND PM.CD_TIPOCONTA = CT.CD_TIPOCONTA {#10}
AND PM.NR_PARCELA = CT.NR_PARCELA {#10}
AND COALESCE(CT.DT_LIQUIDACAO, CT.DT_VENCIMENTO) > CT.DT_LANCAMENTO) {#10}
WHERE PM.NR_PROCESSO = MP.NR_PROCESSO {#10}
AND PM.CD_EMPRESA = MP.CD_EMPRESA {#10}
AND PM.CD_EMPRCONTAS = MP.CD_EMPRCONTAS) = 0) {#10}
INNER JOIN movtocaixa MX ON (MX.CD_EMPRESA = VD.CD_EMPRESA
AND MX.NR_LANCCAIXA = VD.NR_LANCCAIXA) {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'
AND VD.TP_SALDO <> 'T' {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'
AND VD.TP_SALDO <> 'T' {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
AND COALESCE(VD.NR_LANCAMENTO, MP.NR_LANCAMENTO )= MP.NR_LANCAMENTO) {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 ((
SELECT COUNT(CT.NR_LANCAMENTO)
FROM CONTAS CT {#10}
INNER JOIN MOVTOPROCESSO PM ON (PM.CD_EMPRCONTAS = CT.CD_EMPRESA {#10}
AND PM.NR_LANCAMENTO = CT.NR_LANCAMENTO {#10}
AND PM.CD_PESSOA = CT.CD_PESSOA {#10}
AND PM.CD_TIPOCONTA = CT.CD_TIPOCONTA {#10}
AND PM.NR_PARCELA = CT.NR_PARCELA {#10}
AND COALESCE(CT.DT_LIQUIDACAO, CT.DT_VENCIMENTO) > CT.DT_LANCAMENTO) {#10}
AND COALESCE(CT.DT_LIQUIDACAO, CT.DT_VENCIMENTO) > CT.DT_LANCAMENTO {#10}
WHERE PM.NR_PROCESSO = MP.NR_PROCESSO {#10}
AND PM.CD_EMPRESA = MP.CD_EMPRESA {#10}
AND PM.CD_EMPRCONTAS = MP.CD_EMPRCONTAS)) > 0) {#10}
INNER JOIN movtocaixa MX ON (MX.CD_EMPRESA = VD.CD_EMPRESA
AND MX.NR_LANCCAIXA = VD.NR_LANCCAIXA) {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'
AND VD.TP_SALDO <> 'T' {CHR(10)}
ORDER BY 1, 2
Text #2
SELECT DISTINCT P.NM_PESSOA, C.NR_DOCUMENTO, {#10}CASE WHEN CP.ST_CONDPAGTO = 'V' THEN {#10}SUM(C.VL_DOCUMENTO) ELSE N.VL_NOTAFISCAL END VL_SALDO, {#10}CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'Duplicata' WHEN 'HR' THEN 'Cheque' 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 NOTA N ON (N.CD_EMPRESA = C.CD_EMPRESA {#10}
AND N.NR_LANCAMENTO = C.NR_LANCTONOTA {#10}
AND N.CD_SERIE = C.CD_SERIE {#10}
AND N.TP_NOTA = C.TP_CONTAS) {#10}
LEFT JOIN CONDPAGTO CP ON (CP.CD_CONDPAGTO = N.CD_CONDPAGTO) {#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 P.NM_PESSOA, C.NR_DOCUMENTO, CP.ST_CONDPAGTO, N.VL_NOTAFISCAL, CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'Duplicata' WHEN 'HR' THEN 'Cheque' ELSE 'Cartão' END {#10}
ORDER BY P.NM_PESSOA, C.NR_DOCUMENTO
Text #3
SELECT C.CD_EMPRESA ||' - '|| E.NM_EMPRESA DS_EMPRESA, C.CD_USUARIO ||' - '|| U.NM_USUARIO DS_USUARIO, C.NR_CONTROLE, {#10} C.DT_ABERTURA, C.VL_ABERTURA, C.DT_FECHAMENTO, C.VL_FECHAMENTO, C.DT_REGISTRO {#10}
FROM CAIXA C {#10}
INNER JOIN USUARIO U ON (U.CD_USUARIO = C.CD_USUARIO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = C.CD_EMPRESA) {#10}
WHERE C.NR_CONTROLE = {iParametros[2]}
AND C.CD_EMPRESA = {iParametros[1]}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CAIXA | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
CONTAS | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
MOVTOCAIXA | referenciada nas queries do layout |
MOVTOPROCESSO | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
TIPOCONTA | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
VIEW_DIARIOCAIXA | referenciada nas queries do layout |
VIEW_PARMSALDO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LCX032/ULCX032.pas - DFM:
source/LCX032/ULCX032.dfm - Package:
source/LCX032/LCX032.dpk