Pular para o conteúdo principal

LCX018 — Listagem LCX018

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, SUM(VL_DEBITO) VL_DEBITO, SUM(VL_CREDITO) VL_CREDITO, SUM(VL_SALDO) VL_SALDO, TP_SALDO, DS_TIPO
FROM ( {#10}
SELECT VD.NR_CONTROLE, VD.DT_ABERTURA, VD.DT_FECHAMENTO, {#10} VD.CD_USUARIO||' - '||VD.NM_USUARIO NM_USUARIO, RTP.O_DS_TIPO DS_TIPO, {#10} VD.VL_ABERTURA, VD.VL_FECHAMENTO, VD.VL_MOVIMENTO, {#10} VD.DS_CONTA, COALESCE(VD.NR_PROCESSO, VD.NR_LANCCAIXA) NR_PROCESSO, VD.NR_DOCUMENTO, {#10} CASE WHEN (COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) >= 0 THEN ABS(COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) ELSE 0 END VL_DEBITO, {#10} CASE WHEN (COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) < 0 THEN ABS(COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) ELSE 0 END VL_CREDITO, {#10} (COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) VL_SALDO, VD.TP_SALDO {#10}
FROM VIEW_DIARIOCAIXA ({iCdEmpresa}, null, null, '
AND PARMSALDO.TP_SALDO IN(''X'',''T'',''R'',''P'')
AND MX.NR_CONTROLE = {iNrControle}') VD {#10}
LEFT JOIN RETORNA_TIPOPROCESSO(VD.CD_EMPRESA, VD.NR_LANCCAIXA, VD.CD_EMPRESA, VD.NR_PROCESSO) RTP ON (1 = 1) ) W {#10}
GROUP BY NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_CONTA, TP_SALDO, DS_TIPO
ORDER BY DS_CONTA, DS_TIPO

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, SUM(VL_DEBITO) VL_DEBITO, SUM(VL_CREDITO) VL_CREDITO, SUM(VL_SALDO) VL_SALDO, TP_SALDO, DS_TIPO
FROM ( {#10}
SELECT VD.NR_CONTROLE, VD.DT_ABERTURA, VD.DT_FECHAMENTO, {#10} VD.CD_USUARIO||' - '||VD.NM_USUARIO NM_USUARIO, RTP.O_DS_TIPO DS_TIPO, {#10} VD.VL_ABERTURA, VD.VL_FECHAMENTO, VD.VL_MOVIMENTO, {#10} VD.DS_CONTA, COALESCE(VD.NR_PROCESSO, VD.NR_LANCCAIXA) NR_PROCESSO, VD.NR_DOCUMENTO, {#10} CASE WHEN (COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) >= 0 THEN ABS(COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) ELSE 0 END VL_DEBITO, {#10} CASE WHEN (COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) < 0 THEN ABS(COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) ELSE 0 END VL_CREDITO, {#10} (COALESCE(VD.VL_DEBITO,0) - COALESCE(VD.VL_CREDITO,0)) VL_SALDO, VD.TP_SALDO {#10}
FROM VIEW_DIARIOCAIXA ({iCdEmpresa}, null, null, '
AND PARMSALDO.TP_SALDO IN(''X'',''T'',''R'',''P'')
AND MX.NR_CONTROLE = {iNrControle}') VD {#10}
LEFT JOIN RETORNA_TIPOPROCESSO(VD.CD_EMPRESA, VD.NR_LANCCAIXA, VD.CD_EMPRESA, VD.NR_PROCESSO) RTP ON (1 = 1) ) W {#10}
GROUP BY NR_CONTROLE, DT_ABERTURA, DT_FECHAMENTO, NM_USUARIO, VL_ABERTURA, VL_FECHAMENTO, VL_MOVIMENTO, DS_CONTA, TP_SALDO, DS_TIPO
ORDER BY DS_CONTA, DS_TIPO

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​

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

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LCX018/ULCX018.pas
  • DFM: source/LCX018/ULCX018.dfm
  • Package: source/LCX018/LCX018.dpk