LCX020 — Listagem LCX020
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 RTP.O_DS_TIPO DS_TIPO, RTP.O_TP_BAIXA TP_BAIXA, {CHR}
TabPrazo
SELECT P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_SALDO) VL_SALDO, {CHR}
tabFechamento
SELECT E.NM_EMPRESA DS_EMPRESA, CAST(U.CD_USUARIO||' - '||U.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, C.NR_CONTROLE, C.DT_ABERTURA, C.DT_FECHAMENTO, C.VL_ABERTURA, NULL DS_COMPLEMENTO, 0 VL_DEBITO, 0 VL_CREDITO, C.VL_MOVIMENTO, C.VL_FECHAMENTO, C.CD_EMPRESA, 'CAIXA' DS_TIPOSALDO, 'VENDAS A VISTA' DS_TIPO
FROM CAIXA C
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = C.CD_EMPRESA)
INNER JOIN USUARIO U ON (U.CD_USUARIO = C.CD_USUARIO)
WHERE C.CD_EMPRESA = {iParametros}
Text #1
SELECT RTP.O_DS_TIPO DS_TIPO, RTP.O_TP_BAIXA TP_BAIXA, {CHR(10)} CASE VD.TP_SALDO WHEN 'X' THEN 'CAIXA' WHEN 'T' THEN 'CARTÃO ( Não Soma no Resumo )' 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)} CASE WHEN VD.TP_SALDO NOT IN('T','H','P') THEN VD.VL_DEBITO ELSE 0 END VL_DEBITOLIQUIDO, {CHR(10)} CASE WHEN VD.TP_SALDO NOT IN('T','H','P') THEN VD.VL_CREDITO ELSE 0 END VL_CREDITOLIQUIDO, {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'',''R'',''P'',''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)}
LEFT JOIN RETORNA_TIPOPROCESSO(VD.CD_EMPRESA, VD.NR_LANCCAIXA, VD.CD_EMPRESA, VD.NR_PROCESSO) RTP 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)}
AND RTP.O_TP_BAIXA <> 'N' {CHR(10)}
ORDER BY 1, 3
Text #2
SELECT P.NM_PESSOA, C.NR_DOCUMENTO, SUM(C.VL_SALDO) VL_SALDO, {CHR(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, {CHR(10)}CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END DS_PESSOA {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 <> 'C' {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 'VENDAS A PRAZO DUPLICATA' WHEN 'HR' THEN 'VENDAS A PRAZO CHEQUE' ELSE 'VENDAS CARTÃO' END, {CHR(10)}CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END {CHR(10)}
ORDER BY {CHR(10)}CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'VENDAS A PRAZO DUPLICATA' WHEN 'HR' THEN 'VENDAS A PRAZO CHEQUE' ELSE 'VENDAS CARTÃO' END, {CHR(10)}CASE T.TP_TIPOCONTA WHEN 'CR' THEN 'CAIXA' WHEN 'HR' THEN 'CHEQUE' ELSE P.NM_PESSOA END, {CHR(10)}P.NM_PESSOA, C.NR_DOCUMENTO
Text #3
SELECT E.NM_EMPRESA DS_EMPRESA, CAST(U.CD_USUARIO||' - '||U.NM_USUARIO AS VARCHAR(70)) DS_USUARIO, C.NR_CONTROLE, C.DT_ABERTURA, C.DT_FECHAMENTO, C.VL_ABERTURA, NULL DS_COMPLEMENTO, 0 VL_DEBITO, 0 VL_CREDITO, C.VL_MOVIMENTO, C.VL_FECHAMENTO, C.CD_EMPRESA, 'CAIXA' DS_TIPOSALDO, 'VENDAS A VISTA' DS_TIPO
FROM CAIXA C
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = C.CD_EMPRESA)
INNER JOIN USUARIO U ON (U.CD_USUARIO = C.CD_USUARIO)
WHERE C.CD_EMPRESA = {iParametros[1]}
AND C.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 |
RETORNA_TIPOPROCESSO | 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/LCX020/ULCX020.pas - DFM:
source/LCX020/ULCX020.dfm - Package:
source/LCX020/LCX020.dpk