Pular para o conteúdo principal

LCX002 — Listagem LCX002

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, 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

ExecutaConsulta/ExecUpdate​

SELECT CD_HISTDESCONTO
FROM PARMRESTAURANTE
WHERE CD_EMPRESA = {iCdEmpresa}

tabExtrato #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}

tabExtrato #3​

SELECT I.CD_ITEM, I.DS_ITEM, SUM(RI.PS_PAGTO) QTDE, SUM(RI.VL_PAGTO) VALOR
FROM ITEMRESTAURANTE RI
INNER JOIN RESTAURANTE R ON (R.CD_EMPRESA = RI.CD_EMPRESA
AND R.NR_RESTAURANTE = RI.NR_RESTAURANTE)
INNER JOIN ITEM I ON (I.CD_ITEM = RI.CD_ITEM)
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo}

tabExtrato #4​

SELECT I.CD_ITEM, I.DS_ITEM, SUM(RI.PS_PEDIDO) QTDE, SUM(RI.VL_TOTAL) VALOR
FROM ITEMRESTAURANTE RI
INNER JOIN RESTAURANTE R ON (R.CD_EMPRESA = RI.CD_EMPRESA
AND R.NR_RESTAURANTE = RI.NR_RESTAURANTE)
INNER JOIN ITEM I ON (I.CD_ITEM = RI.CD_ITEM)
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 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 #2​

SELECT I.CD_ITEM, I.DS_ITEM, SUM(RI.PS_PAGTO) QTDE, SUM(RI.VL_PAGTO) VALOR
FROM ITEMRESTAURANTE RI
INNER JOIN RESTAURANTE R ON (R.CD_EMPRESA = RI.CD_EMPRESA
AND R.NR_RESTAURANTE = RI.NR_RESTAURANTE)
INNER JOIN ITEM I ON (I.CD_ITEM = RI.CD_ITEM)
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo(iNrControle,}I{)}
AND RI.ST_PAGTO <> 'C'
AND R.ST_RESTAURANTE <> 'C'
AND RI.PS_PAGTO > 0
AND R.ST_ENTREGA = 'N'
GROUP BY I.CD_ITEM, I.DS_ITEM
ORDER BY I.DS_ITEM

Text #3​

SELECT I.CD_ITEM, I.DS_ITEM, SUM(RI.PS_PEDIDO) QTDE, SUM(RI.VL_TOTAL) VALOR
FROM ITEMRESTAURANTE RI
INNER JOIN RESTAURANTE R ON (R.CD_EMPRESA = RI.CD_EMPRESA
AND R.NR_RESTAURANTE = RI.NR_RESTAURANTE)
INNER JOIN ITEM I ON (I.CD_ITEM = RI.CD_ITEM)
WHERE RI.CD_EMPRESA = {iCdEmpresa}
AND RI.NR_CONTROLE = {Nulo(iNrControle,}I{)}
AND RI.ST_PAGTO <> 'C'
AND R.ST_RESTAURANTE <> 'C'
AND RI.PS_PAGTO > 0
AND R.ST_ENTREGA = 'S'
GROUP BY I.CD_ITEM, I.DS_ITEM
ORDER BY I.DS_ITEM

Consulta #2​

SELECT SUM(VL_CREDITO)
FROM VIEW_DIARIOCAIXA( { iCdEmpresa}, { Nulo(iDt_Inicial,}D{)}, { Nulo(iDt_fechamento,}D{)}, { Nulo(}
AND MX.CD_EMPRCONTROLE = {iCdEmpresa}
AND MX.NR_CONTROLE = {iNrControle}
AND MX.CD_HISTORICO = {iCdHistDesc,}S{)} )

Consulta #3​

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

Tabelas Utilizadas​

TabelaUso
AMBIENTEreferenciada nas queries do layout
CAIXAreferenciada 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
PARMRESTAURANTEreferenciada 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/LCX002/ULCX002.pas
  • DFM: source/LCX002/ULCX002.dfm
  • Package: source/LCX002/LCX002.dpk