Pular para o conteúdo principal

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​

TabelaUso
BANDAPNEUreferenciada nas queries do layout
CONSERTOMANCHAOreferenciada nas queries do layout
CONSERTOPNEUreferenciada nas queries do layout
DESENHOPNEUreferenciada nas queries do layout
EMBARQUEreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMNOTAreferenciada nas queries do layout
ITEMPEDIDOPNEUreferenciada nas queries do layout
ITEMRECAPFATURreferenciada nas queries do layout
LIMPEZAMANCHAOreferenciada nas queries do layout
MARCAPNEUreferenciada nas queries do layout
MEDIDAPNEUreferenciada nas queries do layout
MODELOPNEUreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
ORDEMCARREGreferenciada nas queries do layout
ORDEMCARREGRECAPreferenciada nas queries do layout
ORDEMPRODUCAORECAPreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PLUGORDRECAPPEDIDOreferenciada nas queries do layout
PNEUreferenciada nas queries do layout
RETORNA_CHAVEPEDIDOreferenciada nas queries do layout
[[RETORNA_FATURALOC025]]referenciada nas queries do layout
SERVICOPNEUreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOC025/ULOC025.pas
  • DFM: source/LOC025/ULOC025.dfm
  • Package: source/LOC025/LOC025.dpk