LOC025 — Layout LOC025
Visão Geral
Layout de impressão da família LOC (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em EMBARQUE, com junção em ORDEMCARREG, NOTA, PESSOA, ENDERECOPESSOA, MUNICIPIO, PEDIDO (+18), filtrada por CD_EMPRESA, NR_EMBARQUE, CD_PESSOA, E, JO, NR_LANCAMENTO (+10).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Ordem
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
// 5 -
// 6 - Cod Pessoa
]);
SQL Base
Ordem
SELECT DISTINCT PE.CD_PESSOA, PE.NM_PESSOA, e.DT_EMBARQUE DT_EMISSAO, OC.NR_EMBARQUE, EP.CD_ENDERECO, EP.DS_ENDERECO, EP.DS_BAIRRO, MUN.DS_MUNICIPIO, MUN.SG_ESTADO, EP.NR_FONE, VPE.CD_PESSOA CD_VENDEDOR, VPE.NM_PESSOA NM_VENDEDOR, EP.NR_INSCEST, PE.NR_CNPJCPF, -- dados nota OC.CD_EMPRNOTA, OC.NR_LANCAMENTO, OC.TP_NOTA, OC.CD_SERIE, 1 QUEBRA, (
SELECT SUM (X.VL_CONTABIL) VL_TOTAL
FROM (
SELECT DISTINCT N.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE, N.VL_CONTABIL
FROM EMBARQUE E
INNER JOIN ORDEMCARREG OC ON (OC.CD_EMPRESA = E.CD_EMPRESA
AND OC.NR_EMBARQUE = E.NR_EMBARQUE)
INNER JOIN NOTA N ON (N.CD_EMPRESA = OC.CD_EMPRESA
AND N.NR_LANCAMENTO = OC.NR_LANCAMENTO
AND N.CD_SERIE = OC.CD_SERIE
AND N.TP_NOTA = OC.TP_NOTA)
WHERE E.CD_EMPRESA = :CD_EMPRESA
AND E.NR_EMBARQUE = :NR_EMBARQUE
AND N.CD_PESSOA = :CD_PESSOA ) X) VL_TOTAL, (N.VL_NOTAFISCAL + + COALESCE(N.VL_DESCONTO,0)) VL_BRUTO, N.VL_DESCONTO, ((COALESCE(N.VL_DESCONTO,0) * 100) / (N.VL_NOTAFISCAL + COALESCE(N.VL_DESCONTO,0))) PC_DESC
FROM EMBARQUE E
INNER JOIN ORDEMCARREG OC ON (OC.CD_EMPRESA = E.CD_EMPRESA
AND OC.NR_EMBARQUE = E.NR_EMBARQUE)
INNER JOIN NOTA N ON (N.CD_EMPRESA = OC.CD_EMPRESA
AND N.NR_LANCAMENTO = OC.NR_LANCAMENTO
AND N.CD_SERIE = OC.CD_SERIE
AND N.TP_NOTA = OC.TP_NOTA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = N.CD_PESSOA)
LEFT JOIN PESSOA VPE ON (VPE.CD_PESSOA = N.CD_VENDEDOR) --Vendedor
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = PE.CD_PESSOA
AND EP.CD_ENDERECO = N.CD_ENDERECO)
INNER JOIN MUNICIPIO MUN ON (MUN.CD_MUNICIPIO = EP.CD_MUNICIPIO)
WHERE E.CD_EMPRESA = :CD_EMPRESA
AND E.NR_EMBARQUE = :NR_EMBARQUE
AND N.CD_PESSOA = :CD_PESSOA CD_EMPRESA NR_EMBARQUE CD_PESSOA CD_EMPRESA NR_EMBARQUE CD_PESSOA
SELECT 'Pedidos.: ' || LIST(DISTINCT O.NR_PEDIDO, ', ') LISTA_PEDIDO, 'Pedidos Cliente.: ' || LIST(DISTINCT P.NR_PEDIDOFOR, ', ') LISTA_PEDIDOFOR
FROM ORDEMCARREG O
INNER JOIN PEDIDO P ON (P.CD_EMPRESA = O.CD_EMPRPED
AND P.NR_PEDIDO = O.NR_PEDIDO
AND P.TP_PEDIDO = O.TP_PEDIDO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_EMBARQUE = :NR_EMBARQUE
AND O.ST_ORDEMCARREG <> 'C' CD_EMPRESA NR_EMBARQUE
SELECT FIRST 6 O_NR_PARCELA, O_VL_TOTAL, O_DT_VENCIMENTO, max(O_NR_NOTAFISCAL) NR_NOTAFISCAL
FROM RETORNA_FATURALOC025(:CD_EMPRESA,:NR_EMBARQUE,:CD_PESSOA)
GROUP BY O_NR_PARCELA, O_VL_TOTAL, O_DT_VENCIMENTO CD_EMPRESA NR_EMBARQUE CD_PESSOA
SELECT X.*, iif(STEXAMEFINAL = 'R', 0, x.vl_total) vl_total_com_recusado
FROM (
SELECT DISTINCT OC.CD_EMPRNOTA, OC.NR_LANCAMENTO, OC.TP_NOTA, OC.CD_SERIE, ITN.CD_ITEM, II.DS_ITEM, II.CD_CATEGORIA, SP.ID ID_SERVICOPNEU, (IPP.VLUNITARIO - COALESCE(IPP.VLDESCONTO,0)) VL_TOTAL, PN.NRSERIE, DP.DSDESENHO, MP.DSMARCA, MDP.DSMEDIDAPNEU, OPR.ID, opr.STEXAMEFINAL -- SUM(IIF(II.CD_CATEGORIA IS NOT NULL, ITN.VL_TOTAL,0)) VL_TOTAL_BANDA , -- SUM(IIF(II.CD_CATEGORIA IS NULL, ITN.VL_TOTAL,0)) VL_TOTAL_SERVICO
FROM EMBARQUE E
INNER JOIN ORDEMCARREG OC ON (OC.CD_EMPRESA = E.CD_EMPRESA
AND OC.NR_EMBARQUE = E.NR_EMBARQUE)
INNER JOIN PEDIDO P ON ( P.CD_EMPRESA = OC.CD_EMPRESA
AND P.NR_PEDIDO = OC.NR_PEDIDO
AND P.TP_PEDIDO = OC.TP_PEDIDO)
INNER JOIN NOTA N ON (N.CD_EMPRESA = OC.CD_EMPRESA
AND N.NR_LANCAMENTO = OC.NR_LANCAMENTO
AND N.CD_SERIE = OC.CD_SERIE
AND N.TP_NOTA = OC.TP_NOTA)
INNER JOIN ITEMNOTA ITN ON (ITN.CD_EMPRESA = N.CD_EMPRESA
AND ITN.NR_LANCAMENTO = N.NR_LANCAMENTO
AND ITN.TP_NOTA = N.TP_NOTA
AND ITN.CD_SERIE = N.CD_SERIE
AND ITN.CD_ITEM = OC.CD_ITEM)
INNER JOIN ITEM II ON (II.CD_ITEM = ITN.CD_ITEM)
LEFT JOIN SERVICOPNEU SP ON (SP.ID = II.CD_ITEM)
LEFT JOIN BANDAPNEU BP ON (BP.ID = II.CD_ITEM)
LEFT JOIN CONSERTOPNEU CP ON (CP.ID = II.CD_ITEM) ---
INNER JOIN ORDEMCARREGRECAP O ON (O.CD_EMPRESA = N.CD_EMPEMB
AND O.NR_EMBARQUE = N.NR_EMBARQUE)
LEFT JOIN RETORNA_CHAVEPEDIDO(ITN.CD_EMPRESA, ITN.NR_LANCAMENTO, ITN.TP_NOTA, ITN.CD_SERIE) RPED ON (RPED.O_CD_ITEM = ITN.CD_ITEM)
INNER JOIN PLUGORDRECAPPEDIDO PLUG ON (PLUG.CD_EMPRESA = RPED.O_CD_EMPRESA
AND PLUG.NR_PEDIDO = RPED.O_NR_PEDIDO
AND PLUG.TP_PEDIDO = RPED.O_TP_PEDIDO)
INNER JOIN ITEMRECAPFATUR IC ON (IC.CD_EMPRESA = O.CD_EMPRESA
AND IC.NR_EMBARQUE = O.NR_EMBARQUE
AND IC.ID_ITEMPEDIDOPNEU = O.IDITEMPEDIDOPNEU
AND IC.CD_ITEM = ITN.CD_ITEM)
INNER JOIN ORDEMPRODUCAORECAP OPR ON (OPR.ID = PLUG.IDORDEMPRODUCAORECAP
AND OPR.ID = IC.ID_ORDEMPRODUCAORECAP)
INNER JOIN ITEM I ON (I.CD_ITEM = IC.CD_ITEM)
INNER JOIN ITEMPEDIDOPNEU IPP ON (IPP.ID = OPR.IDITEMPEDIDOPNEU)
INNER JOIN PNEU PN ON (PN.ID = IPP.IDPNEU)
INNER JOIN MODELOPNEU MOP ON (MOP.ID = PN.IDMODELOPNEU)
INNER JOIN MARCAPNEU MP ON (MP.ID = MOP.IDMARCAPNEU)
LEFT JOIN DESENHOPNEU DP ON (DP.ID = IPP.IDDESENHOPNEU)
LEFT JOIN MEDIDAPNEU MDP ON (MDP.ID = PN.IDMEDIDAPNEU) ---
WHERE E.CD_EMPRESA = :CD_EMPRESA
AND E.NR_EMBARQUE = :NR_EMBARQUE
AND N.CD_PESSOA = :CD_PESSOA
AND N.ST_NOTA = 'V'
AND CP.ID IS NULL
AND II.CD_CATEGORIA IS NULL ) X
ORDER BY X.ID CD_EMPRESA NR_EMBARQUE CD_PESSOA
SELECT X.CD_ITEM, X.DS_ITEM, X.CD_CATEGORIA, X.ID_SERVICOPNEU, SUM(X.QT_CONSERTOS) QT_CONSERTOS, (SUM(X.VL_TOTAL) / NULLIF(SUM(X.QT_CONSERTOS),0)) VL_UNITARIO /*X.VL_UNITARIO*/, SUM(X.VL_TOTAL) VL_TOTAL
FROM(
SELECT DISTINCT OPR.ID, ITN.CD_ITEM, II.DS_ITEM, II.CD_CATEGORIA, SP.ID ID_SERVICOPNEU, CM.QTCONSERTOS QT_CONSERTOS, ITN.VL_UNITARIO, ((COALESCE(CM.QTCONSERTOS,0) - COALESCE(CM.QTDESCONTADA,0)) * ITN.VL_UNITARIO) VL_TOTAL
FROM EMBARQUE E
INNER JOIN ORDEMCARREG OC ON (OC.CD_EMPRESA = E.CD_EMPRESA
AND OC.NR_EMBARQUE = E.NR_EMBARQUE)
INNER JOIN NOTA N ON (N.CD_EMPRESA = OC.CD_EMPRESA
AND N.NR_LANCAMENTO = OC.NR_LANCAMENTO
AND N.CD_SERIE = OC.CD_SERIE
AND N.TP_NOTA = OC.TP_NOTA)
INNER JOIN ITEMNOTA ITN ON (ITN.CD_EMPRESA = N.CD_EMPRESA
AND ITN.NR_LANCAMENTO = N.NR_LANCAMENTO
AND ITN.TP_NOTA = N.TP_NOTA
AND ITN.CD_SERIE = N.CD_SERIE
AND ITN.CD_ITEM = OC.CD_ITEM)
INNER JOIN PLUGORDRECAPPEDIDO PLUG ON (PLUG.CD_EMPRESA = OC.CD_EMPRPED
AND PLUG.NR_PEDIDO = OC.NR_PEDIDO
AND PLUG.TP_PEDIDO = OC.TP_PEDIDO)
INNER JOIN ORDEMPRODUCAORECAP OPR ON (OPR.ID = PLUG.IDORDEMPRODUCAORECAP)
INNER JOIN LIMPEZAMANCHAO LM ON (LM.IDORDEMPRODUCAORECAP = OPR.ID)
INNER JOIN CONSERTOMANCHAO CM ON (CM.IDLIMPEZAMANCHAO = LM.ID
AND CM.IDCONSERTOPNEU = ITN.CD_ITEM)
INNER JOIN ITEM II ON (II.CD_ITEM = ITN.CD_ITEM)
LEFT JOIN SERVICOPNEU SP ON (SP.ID = II.CD_ITEM)
WHERE E.CD_EMPRESA = :CD_EMPRESA
AND E.NR_EMBARQUE = :NR_EMBARQUE
AND N.CD_PESSOA = :CD_PESSOA
AND N.ST_NOTA = 'V'
AND II.CD_CATEGORIA IS NULL )X
GROUP BY X.CD_ITEM, X.DS_ITEM, X.CD_CATEGORIA, X.ID_SERVICOPNEU, X.VL_UNITARIO CD_EMPRESA NR_EMBARQUE CD_PESSOA
SELECT COALESCE(LIST(X.DS_OBSERVACAO, ASCII_CHAR(10)),'SEM OBS' ) DS_OBSERVACAO
FROM(
SELECT DISTINCT N.DS_OBSERVACAO
FROM EMBARQUE E
INNER JOIN ORDEMCARREG OC ON (OC.CD_EMPRESA = E.CD_EMPRESA
AND OC.NR_EMBARQUE = E.NR_EMBARQUE)
INNER JOIN PEDIDO P ON ( P.CD_EMPRESA = OC.CD_EMPRESA
AND P.NR_PEDIDO = OC.NR_PEDIDO
AND P.TP_PEDIDO = OC.TP_PEDIDO)
INNER JOIN NOTA N ON (N.CD_EMPRESA = OC.CD_EMPRESA
AND N.NR_LANCAMENTO = OC.NR_LANCAMENTO
AND N.CD_SERIE = OC.CD_SERIE
AND N.TP_NOTA = OC.TP_NOTA)
INNER JOIN ITEMNOTA ITN ON (ITN.CD_EMPRESA = N.CD_EMPRESA
AND ITN.NR_LANCAMENTO = N.NR_LANCAMENTO
AND ITN.TP_NOTA = N.TP_NOTA
AND ITN.CD_SERIE = N.CD_SERIE
AND ITN.CD_ITEM = OC.CD_ITEM)
INNER JOIN ITEM II ON (II.CD_ITEM = ITN.CD_ITEM)
LEFT JOIN SERVICOPNEU SP ON (SP.ID = II.CD_ITEM)
LEFT JOIN BANDAPNEU BP ON (BP.ID = II.CD_ITEM)
LEFT JOIN CONSERTOPNEU CP ON (CP.ID = II.CD_ITEM)
INNER JOIN ORDEMCARREGRECAP O ON (O.CD_EMPRESA = N.CD_EMPEMB
AND O.NR_EMBARQUE = N.NR_EMBARQUE)
LEFT JOIN RETORNA_CHAVEPEDIDO(ITN.CD_EMPRESA, ITN.NR_LANCAMENTO, ITN.TP_NOTA, ITN.CD_SERIE) RPED ON (RPED.O_CD_ITEM = ITN.CD_ITEM)
INNER JOIN PLUGORDRECAPPEDIDO PLUG ON (PLUG.CD_EMPRESA = RPED.O_CD_EMPRESA
AND PLUG.NR_PEDIDO = RPED.O_NR_PEDIDO
AND PLUG.TP_PEDIDO = RPED.O_TP_PEDIDO)
INNER JOIN ITEMRECAPFATUR IC ON (IC.CD_EMPRESA = O.CD_EMPRESA
AND IC.NR_EMBARQUE = O.NR_EMBARQUE
AND IC.ID_ITEMPEDIDOPNEU = O.IDITEMPEDIDOPNEU
AND IC.CD_ITEM = ITN.CD_ITEM)
INNER JOIN ORDEMPRODUCAORECAP OPR ON (OPR.ID = PLUG.IDORDEMPRODUCAORECAP
AND OPR.ID = IC.ID_ORDEMPRODUCAORECAP)
INNER JOIN ITEM I ON (I.CD_ITEM = IC.CD_ITEM)
INNER JOIN ITEMPEDIDOPNEU IPP ON (IPP.ID = OPR.IDITEMPEDIDOPNEU)
INNER JOIN PNEU PN ON (PN.ID = IPP.IDPNEU)
INNER JOIN MODELOPNEU MOP ON (MOP.ID = PN.IDMODELOPNEU)
INNER JOIN MARCAPNEU MP ON (MP.ID = MOP.IDMARCAPNEU)
LEFT JOIN DESENHOPNEU DP ON (DP.ID = IPP.IDDESENHOPNEU)
LEFT JOIN MEDIDAPNEU MDP ON (MDP.ID = PN.IDMEDIDAPNEU)
WHERE E.CD_EMPRESA = :CD_EMPRESA
AND E.NR_EMBARQUE = :NR_EMBARQUE
AND N.CD_PESSOA = :CD_PESSOA
AND N.ST_NOTA = 'V'
AND CP.ID IS NULL
AND II.CD_CATEGORIA IS NULL ) X CD_EMPRESA NR_EMBARQUE CD_PESSOA
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
BANDAPNEU | referenciada nas queries do layout |
CONSERTOMANCHAO | referenciada nas queries do layout |
CONSERTOPNEU | referenciada nas queries do layout |
DESENHOPNEU | referenciada nas queries do layout |
EMBARQUE | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMNOTA | referenciada nas queries do layout |
ITEMPEDIDOPNEU | referenciada nas queries do layout |
ITEMRECAPFATUR | referenciada nas queries do layout |
LIMPEZAMANCHAO | referenciada nas queries do layout |
MARCAPNEU | referenciada nas queries do layout |
MEDIDAPNEU | referenciada nas queries do layout |
MODELOPNEU | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
ORDEMCARREG | referenciada nas queries do layout |
ORDEMCARREGRECAP | referenciada nas queries do layout |
ORDEMPRODUCAORECAP | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PLUGORDRECAPPEDIDO | referenciada nas queries do layout |
PNEU | referenciada nas queries do layout |
RETORNA_CHAVEPEDIDO | referenciada nas queries do layout |
| [[RETORNA_FATURALOC025]] | referenciada nas queries do layout |
SERVICOPNEU | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOC025/ULOC025.pas - DFM:
source/LOC025/ULOC025.dfm - Package:
source/LOC025/LOC025.dpk