LCX040 — Listagem LCX040
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, CD_FORMAPAGTO.
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, TRIM(CASE WHEN (C.NR_BOLETO IS NOT NULL) THEN 'Boleto' WHEN (C.CD_FORMAPAGTO = 'CA') THEN 'Carteira' END) DS_PAGAMENTO
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')
AND ((C.NR_BOLETO IS NOT NULL)
OR (C.CD_FORMAPAGTO = 'CA'))
GROUP BY P.NM_PESSOA, C.NR_DOCUMENTO, C.NR_BOLETO, C.CD_FORMAPAGTO
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, TRIM(CASE WHEN (C.NR_BOLETO IS NOT NULL) THEN 'Boleto' WHEN (C.CD_FORMAPAGTO = 'CA') THEN 'Carteira' END) DS_PAGAMENTO
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')
AND ((C.NR_BOLETO IS NOT NULL)
OR (C.CD_FORMAPAGTO = 'CA'))
GROUP BY P.NM_PESSOA, C.NR_DOCUMENTO, C.NR_BOLETO, C.CD_FORMAPAGTO
ORDER BY P.NM_PESSOA, C.NR_DOCUMENTO
Caixa #2
SELECT VD.DS_CONTA DS_TIPOSALDO, AP.O_FECHAMENTO_APRAZO, AP.O_DS_TIPOFECHAMENTO, {CHR}
TabPrazo
SELECT P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_SALDO) VL_SALDO, {CHR}
tabFechamento
SELECT /*2*/ {#10} CAST(EMPRESA.CD_EMPRESA AS VARCHAR(10))||' - '||EMPRESA.NM_EMPRESA||' '||PESSOA.NR_CNPJCPF DS_EMPRESA, {#10} NULL DT_LANCAMENTO, NULL CD_CONTA, NULL NR_PROCESSO, NULL NR_RECIBO, {#10} NULL DS_CONTA, NULL NR_LANCCAIXA, NULL CD_HISTORICO, {#10} NULL DS_HISTORICO, '' DS_COMPLEMENTO, NULL NR_DOCUMENTO, {#10} '' DS_COMPLEMENTO, {#10} NULL VL_DOCUMENTO, CAST(0 AS NUMERIC(15,2)) VL_CREDITO, {#10} CAIXA.NR_CONTROLE, 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)), NULL TP_SALDO, {#10} NULL CD_EMPRCONTAS, NULL NR_LANCAMENTO, NULL CD_PESSOA, NULL CD_TIPOCONTA, NULL NR_PARCELA {#10}
FROM CAIXA {#10}
LEFT JOIN USUARIO ON (USUARIO.CD_USUARIO = CAIXA.CD_USUARIO) {#10}
INNER JOIN EMPRESA ON (EMPRESA.CD_EMPRESA = CAIXA.CD_EMPRESA) {#10}
INNER JOIN PESSOA ON (PESSOA.CD_PESSOA = EMPRESA.CD_PESSOA) {#10}
WHERE CAIXA.CD_EMPRESA = {iParametros}
Text #1
SELECT VD.DS_CONTA DS_TIPOSALDO, AP.O_FECHAMENTO_APRAZO, AP.O_DS_TIPOFECHAMENTO, {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'',''P'',''R'',''C'') ') 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 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) {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
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)}TRIM(CASE WHEN (C.CD_BANCO IS NOT NULL) THEN 'Boleto' WHEN (C.CD_FORMAPAGTO = 'CA') THEN 'Carteira' END) DS_PAGAMENTO {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', 'A' ) {CHR(10)}
AND C.TP_DOCUMENTO NOT IN ('RP') {CHR(10)}
AND T.TP_TIPOCONTA IN ('CR','HR','CT') {CHR(10)}
AND ((C.CD_BANCO IS NOT NULL)
OR (C.CD_FORMAPAGTO = 'CA')){CHR(10) + // CHAMADO 98114}
GROUP BY P.NM_PESSOA, C.NR_DOCUMENTO, T.TP_TIPOCONTA, C.CD_BANCO, C.CD_FORMAPAGTO {CHR(10)}
ORDER BY P.NM_PESSOA, C.NR_DOCUMENTO
Text #3
SELECT /*2*/ {#10} CAST(EMPRESA.CD_EMPRESA AS VARCHAR(10))||' - '||EMPRESA.NM_EMPRESA||' '||PESSOA.NR_CNPJCPF DS_EMPRESA, {#10} NULL DT_LANCAMENTO, NULL CD_CONTA, NULL NR_PROCESSO, NULL NR_RECIBO, {#10} NULL DS_CONTA, NULL NR_LANCCAIXA, NULL CD_HISTORICO, {#10} NULL DS_HISTORICO, '' DS_COMPLEMENTO, NULL NR_DOCUMENTO, {#10} '' DS_COMPLEMENTO, {#10} NULL VL_DOCUMENTO, CAST(0 AS NUMERIC(15,2)) VL_CREDITO, {#10} CAIXA.NR_CONTROLE, 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)), NULL TP_SALDO, {#10} NULL CD_EMPRCONTAS, NULL NR_LANCAMENTO, NULL CD_PESSOA, NULL CD_TIPOCONTA, NULL NR_PARCELA {#10}
FROM CAIXA {#10}
LEFT JOIN USUARIO ON (USUARIO.CD_USUARIO = CAIXA.CD_USUARIO) {#10}
INNER JOIN EMPRESA ON (EMPRESA.CD_EMPRESA = CAIXA.CD_EMPRESA) {#10}
INNER JOIN PESSOA ON (PESSOA.CD_PESSOA = EMPRESA.CD_PESSOA) {#10}
WHERE CAIXA.CD_EMPRESA = {iParametros[1] +#10}
AND CAIXA.NR_CONTROLE = {iParametros[2]}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CAIXA | referenciada nas queries do layout |
CONTAS | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
TIPOCONTA | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
VALIDA_FECHAMENTO_APRAZO | 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/LCX040/ULCX040.pas - DFM:
source/LCX040/ULCX040.dfm - Package:
source/LCX040/LCX040.dpk