LCX035 — Listagem LCX035
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 RESTAURANTE, com junção em ITEMRESTAURANTE, AMBIENTE, MESA, ITEM, CONDPAGTO, filtrada por CD_EMPRESA, NR_RESTAURANTE, ST_PAGTO.
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Controle
]);
SQL Base
tabExtrato #1
SELECT R.NR_RESTAURANTE, R.DT_EMISSAO, CURRENT_TIME HORA, CASE R.ST_ENTREGA WHEN 'N' THEN 'Mesa.: '||CAST(R.CD_MESA AS VARCHAR(10))||' - '||MESA.DS_MESA WHEN 'S' THEN 'Identificacao.: '||R.DS_IDENTIFICACAO END DS_MESA, CAST(R.CD_AMBIENTE AS VARCHAR(10))||' - '||AMBIENTE.DS_AMBIENTE DS_AMBIENTE, COALESCE(R.VL_DESCONTO,0) VL_DESCONTO, ITEM.DS_ITEM, AVG(I.VL_UNITARIO) VL_UNITARIO, SUM(COALESCE(I.PS_PEDIDO,0) - COALESCE(I.PS_PAGTO,0)) PS_PEDIDO, SUM(COALESCE(I.VL_TOTAL,0) - COALESCE(I.VL_PAGTO,0)) VL_TOTAL
FROM RESTAURANTE R
INNER JOIN ITEMRESTAURANTE I ON (R.CD_EMPRESA = I.CD_EMPRESA
AND R.NR_RESTAURANTE = I.NR_RESTAURANTE)
LEFT JOIN AMBIENTE ON (AMBIENTE.CD_AMBIENTE = R.CD_AMBIENTE)
LEFT JOIN MESA ON (MESA.CD_AMBIENTE = R.CD_AMBIENTE
AND MESA.CD_MESA = R.CD_MESA)
INNER JOIN ITEM ON (ITEM.CD_ITEM = I.CD_ITEM)
WHERE R.CD_EMPRESA = :CD_EMPRESA
AND R.NR_RESTAURANTE = :NR_RESTAURANTE
AND I.ST_PAGTO = 'N'
GROUP BY R.NR_RESTAURANTE, R.DT_EMISSAO, R.ST_ENTREGA, R.CD_MESA, MESA.DS_MESA, R.DS_IDENTIFICACAO, R.CD_AMBIENTE, AMBIENTE.DS_AMBIENTE, ITEM.DS_ITEM, R.VL_DESCONTO
ORDER BY ITEM.DS_ITEM
SELECT ITR.CD_ITEM||' '||I.DS_ITEM DS_ITEM, SUM(ITR.PS_PEDIDO) PS_PEDIDO, SUM(CASE WHEN CP.ST_CONDPAGTO = 'V' THEN ITR.VL_TOTAL END) VL_AVISTA, SUM(CASE WHEN CP.ST_CONDPAGTO <> 'V' THEN ITR.VL_TOTAL END) VL_APRAZO
FROM ITEMRESTAURANTE ITR
INNER JOIN ITEM I ON(I.CD_ITEM = ITR.CD_ITEM)
INNER JOIN RESTAURANTE R ON(R.CD_EMPRESA = ITR.CD_EMPRESA
AND R.NR_RESTAURANTE = ITR.NR_RESTAURANTE)
INNER JOIN CONDPAGTO CP ON(CP.CD_CONDPAGTO = R.CD_CONDPAGTO)
WHERE ITR.CD_EMPRESA = :CD_EMPRESA
AND ITR.NR_CONTROLE = :NR_CONTROLE
AND R.ST_RESTAURANTE <> 'C'
GROUP BY ITR.CD_ITEM, I.DS_ITEM
HAVING SUM(ITR.PS_PEDIDO) > 0 CD_EMPRESA NR_CONTROLE
tabExtrato #2
SELECT NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_CONTA, NR_PROCESSO, CASE WHEN SUM(VL_SALDO) >= 0 THEN 'RECBTO DOC '||COALESCE(NR_DOCUMENTO,'') ELSE 'PAGTO DOC '||COALESCE(NR_DOCUMENTO,'') END DS_COMPLEMENTO, CASE WHEN SUM(VL_SALDO) >= 0 THEN SUM(VL_SALDO) ELSE 0 END VL_DEBITO, CASE WHEN SUM(VL_SALDO) < 0 THEN ABS(SUM(VL_SALDO)) ELSE 0 END VL_CREDITO, SUM(VL_SALDO) VL_SALDO
FROM (
SELECT NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, CD_USUARIO||' - '||NM_USUARIO NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_CONTA, COALESCE(NR_PROCESSO, NR_LANCCAIXA) NR_PROCESSO, NR_DOCUMENTO, CASE WHEN (COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) >= 0 THEN ABS(COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) ELSE 0 END VL_DEBITO, CASE WHEN (COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) < 0 THEN ABS(COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) ELSE 0 END VL_CREDITO, (COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) VL_SALDO
FROM VIEW_DIARIOCAIXA ({iCdEmpresa}, null, null, '
AND PARMSALDO.TP_SALDO IN(''X'',''T'',''R'',''P'') /*AND MX.NR_LANCAMENTO IS NULL */AND MX.NR_CONTROLE = {iNrControle}') W)
GROUP BY NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_CONTA, NR_PROCESSO, NR_DOCUMENTO
ORDER BY DS_CONTA, NR_PROCESSO
tabExtrato #3
SELECT C.NR_CONTROLE, C.DT_ABERTURA, C.DT_FECHAMENTO, C.CD_USUARIO||' - '||U.NM_USUARIO NM_USUARIO, C.VL_ABERTURA, C.VL_FECHAMENTO, C.VL_MOVIMENTO
FROM CAIXA C
INNER JOIN USUARIO U ON (U.CD_USUARIO = C.CD_USUARIO)
WHERE CD_EMPRESA = {iCdEmpresa}
AND C.NR_CONTROLE = {iNrControle}
tabExtrato #4
SELECT I.CD_ITEM, I.DS_ITEM, RI.DS_ESTORNO, SUM(RI.PS_ESTORNADO) PESO
FROM ITEMRESTAURANTE RI
INNER JOIN ITEM I ON (I.CD_ITEM = RI.CD_ITEM)
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo}
tabExtrato #5
SELECT COUNT(NR_RESTAURANTE) NR_PEDIDOS, SUM(CASE WHEN VL_TAXAPARCIAL > 0 THEN 1 ELSE 0 END) NR_CONTA, SUM(CASE WHEN ST_CONDPAGTO = 'V' THEN VL_TAXAPARCIAL END) VL_TAXAVISTA, SUM(CASE WHEN ST_CONDPAGTO <> 'V' THEN VL_TAXAPARCIAL END) VL_TAXAPRAZO, SUM(CASE WHEN ST_CONDPAGTO = 'V' THEN VL_DESCONTOPARCIAL END) VL_DESCVISTA, SUM(CASE WHEN ST_CONDPAGTO <> 'V' THEN VL_DESCONTOPARCIAL END) VL_DESCPRAZO
FROM (
SELECT R.NR_RESTAURANTE, R.VL_TAXAPARCIAL, R.VL_DESCONTOPARCIAL, CP.ST_CONDPAGTO, COUNT(RI.CD_ITEM) NR_ITEM
FROM ITEMRESTAURANTE RI
INNER JOIN RESTAURANTE R ON(R.CD_EMPRESA = RI.CD_EMPRESA
AND R.NR_RESTAURANTE = RI.NR_RESTAURANTE)
INNER JOIN CONDPAGTO CP ON(CP.CD_CONDPAGTO = R.CD_CONDPAGTO)
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo}
Consulta
SELECT I.DS_PORTADOS, I.CD_IMPRESSORA
FROM IMPRESSORA I, PARMRESTAURANTE P
WHERE I.CD_IMPRESSORA = P.CD_IMPRESSORA
AND P.CD_EMPRESA = {iCdEmpresa}
Text #1
SELECT NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_CONTA, NR_PROCESSO, CASE WHEN SUM(VL_SALDO) >= 0 THEN 'RECBTO DOC '||COALESCE(NR_DOCUMENTO,'') ELSE 'PAGTO DOC '||COALESCE(NR_DOCUMENTO,'') END DS_COMPLEMENTO, CASE WHEN SUM(VL_SALDO) >= 0 THEN SUM(VL_SALDO) ELSE 0 END VL_DEBITO, CASE WHEN SUM(VL_SALDO) < 0 THEN ABS(SUM(VL_SALDO)) ELSE 0 END VL_CREDITO, SUM(VL_SALDO) VL_SALDO
FROM (
SELECT NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, CD_USUARIO||' - '||NM_USUARIO NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_CONTA, COALESCE(NR_PROCESSO, NR_LANCCAIXA) NR_PROCESSO, NR_DOCUMENTO, CASE WHEN (COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) >= 0 THEN ABS(COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) ELSE 0 END VL_DEBITO, CASE WHEN (COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) < 0 THEN ABS(COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) ELSE 0 END VL_CREDITO, (COALESCE(VL_DEBITO,0) - COALESCE(VL_CREDITO,0)) VL_SALDO
FROM VIEW_DIARIOCAIXA ({iCdEmpresa}, null, null, '
AND PARMSALDO.TP_SALDO IN(''X'',''T'',''R'',''P'') /*AND MX.NR_LANCAMENTO IS NULL */AND MX.NR_CONTROLE = {iNrControle}') W)
GROUP BY NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_CONTA, NR_PROCESSO, NR_DOCUMENTO
ORDER BY DS_CONTA, NR_PROCESSO
Text #2
SELECT C.NR_CONTROLE, C.DT_ABERTURA, C.DT_FECHAMENTO, C.CD_USUARIO||' - '||U.NM_USUARIO NM_USUARIO, C.VL_ABERTURA, C.VL_FECHAMENTO, C.VL_MOVIMENTO
FROM CAIXA C
INNER JOIN USUARIO U ON (U.CD_USUARIO = C.CD_USUARIO)
WHERE CD_EMPRESA = {iCdEmpresa}
AND C.NR_CONTROLE = {iNrControle}
Text #3
SELECT I.CD_ITEM, I.DS_ITEM, RI.DS_ESTORNO, SUM(RI.PS_ESTORNADO) PESO
FROM ITEMRESTAURANTE RI
INNER JOIN ITEM I ON (I.CD_ITEM = RI.CD_ITEM)
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo(iNrControle,}I{)}
AND COALESCE(RI.PS_ESTORNADO,0) > 0
GROUP BY I.CD_ITEM, I.DS_ITEM, RI.DS_ESTORNO
ORDER BY I.DS_ITEM
Text #4
SELECT COUNT(NR_RESTAURANTE) NR_PEDIDOS, SUM(CASE WHEN VL_TAXAPARCIAL > 0 THEN 1 ELSE 0 END) NR_CONTA, SUM(CASE WHEN ST_CONDPAGTO = 'V' THEN VL_TAXAPARCIAL END) VL_TAXAVISTA, SUM(CASE WHEN ST_CONDPAGTO <> 'V' THEN VL_TAXAPARCIAL END) VL_TAXAPRAZO, SUM(CASE WHEN ST_CONDPAGTO = 'V' THEN VL_DESCONTOPARCIAL END) VL_DESCVISTA, SUM(CASE WHEN ST_CONDPAGTO <> 'V' THEN VL_DESCONTOPARCIAL END) VL_DESCPRAZO
FROM (
SELECT R.NR_RESTAURANTE, R.VL_TAXAPARCIAL, R.VL_DESCONTOPARCIAL, CP.ST_CONDPAGTO, COUNT(RI.CD_ITEM) NR_ITEM
FROM ITEMRESTAURANTE RI
INNER JOIN RESTAURANTE R ON(R.CD_EMPRESA = RI.CD_EMPRESA
AND R.NR_RESTAURANTE = RI.NR_RESTAURANTE)
INNER JOIN CONDPAGTO CP ON(CP.CD_CONDPAGTO = R.CD_CONDPAGTO)
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo(iNrControle,}I{)}
AND R.ST_RESTAURANTE <> 'C'
GROUP BY R.NR_RESTAURANTE, R.VL_TAXAPARCIAL, R.VL_DESCONTOPARCIAL, CP.ST_CONDPAGTO)
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
AMBIENTE | referenciada nas queries do layout |
CAIXA | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
IMPRESSORA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMRESTAURANTE | referenciada nas queries do layout |
MESA | referenciada nas queries do layout |
RESTAURANTE | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
VIEW_DIARIOCAIXA | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LCX035/ULCX035.pas - DFM:
source/LCX035/ULCX035.dfm - Package:
source/LCX035/LCX035.dpk