Pular para o conteúdo principal

LCX030 — Listagem LCX030

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, CD_USUARIO||' - '||NM_USUARIO NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_COMPLEMENTO||' '||PL.DS_CONTA DS_COMPLEMENTO, sum(VL_DEBITO) VL_DEBITO, sum(VL_CREDITO) VL_CREDITO, sum(VL_DEBITO) - sum(VL_CREDITO) VL_SALDO, TP_SALDO
FROM VIEW_DIARIOCAIXA ({iCdEmpresa}, null, null, '
AND PARMSALDO.TP_SALDO IN(''X'',''T'',''R'',''P'')
AND MX.NR_CONTROLE = {iNrControle}') W
LEFT JOIN PLANOCONTAS PL ON(PL.CD_CONTA = W.CD_CONTA)
GROUP BY NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, CD_USUARIO, NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_COMPLEMENTO||' '||PL.DS_CONTA, TP_SALDO
ORDER BY sum(VL_DEBITO) desc, DS_COMPLEMENTO||' '||PL.DS_CONTA desc

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_CONTA, SUM(VL_TAXASERVICO) VL_TAXA
FROM (
SELECT R.NR_RESTAURANTE, R.VL_TAXASERVICO, 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
AND r.st_restaurante <> 'C')
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo}

tabExtrato #6​

SELECT COUNT(NR_RESTAURANTE) NR_PEDIDOS
FROM (
SELECT R.NR_RESTAURANTE, 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
AND r.st_restaurante <> 'C' )
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo}

Consulta #1​

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, CD_USUARIO||' - '||NM_USUARIO NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_COMPLEMENTO||' '||PL.DS_CONTA DS_COMPLEMENTO, sum(VL_DEBITO) VL_DEBITO, sum(VL_CREDITO) VL_CREDITO, sum(VL_DEBITO) - sum(VL_CREDITO) VL_SALDO, TP_SALDO
FROM VIEW_DIARIOCAIXA ({iCdEmpresa}, null, null, '
AND PARMSALDO.TP_SALDO IN(''X'',''T'',''R'',''P'')
AND MX.NR_CONTROLE = {iNrControle}') W
LEFT JOIN PLANOCONTAS PL ON(PL.CD_CONTA = W.CD_CONTA)
GROUP BY NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, CD_USUARIO, NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_COMPLEMENTO||' '||PL.DS_CONTA, TP_SALDO
ORDER BY sum(VL_DEBITO) desc, DS_COMPLEMENTO||' '||PL.DS_CONTA desc

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}

Consulta #2​

SELECT SUM(VL_DOCUMENTO)
FROM CONTAS
WHERE CD_EMPRESA = {iCdEmpresa}
AND NR_CONTROLE = {iNrControle}
AND TP_DOCUMENTO = 'RS'
AND ST_CONTAS <> 'C'
AND DT_LANCAMENTO <> DT_VENCIMENTO

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_CONTA, SUM(VL_TAXASERVICO) VL_TAXA
FROM (
SELECT R.NR_RESTAURANTE, R.VL_TAXASERVICO, 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
AND r.st_restaurante <> 'C')
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo(iNrControle,}I{)}
AND COALESCE(R.VL_TAXASERVICO,0) > 0
GROUP BY R.NR_RESTAURANTE, R.VL_TAXASERVICO)

Text #5​

SELECT COUNT(NR_RESTAURANTE) NR_PEDIDOS
FROM (
SELECT R.NR_RESTAURANTE, 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
AND r.st_restaurante <> 'C' )
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo(iNrControle,}I{)}
GROUP BY R.NR_RESTAURANTE)

Tabelas Utilizadas​

TabelaUso
AMBIENTEreferenciada nas queries do layout
CAIXAreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
IMPRESSORAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMRESTAURANTEreferenciada nas queries do layout
MESAreferenciada nas queries do layout
PLANOCONTASreferenciada nas queries do layout
RESTAURANTEreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout
VIEW_DIARIOCAIXAreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LCX030/ULCX030.pas
  • DFM: source/LCX030/ULCX030.dfm
  • Package: source/LCX030/LCX030.dpk