Pular para o conteúdo principal

LOC011 — Layout LOC011

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 HABILITA_PESOQTDE, com junção em ORDEMCARREGRECAP, ITEMPEDIDOPNEU, PEDIDOPNEU, ORDEMPRODUCAORECAP, ORDEMCARREG, ITEMPEDIDO (+16), filtrada por CD_EMPRESA, NR_EMBARQUE, STEXAMEFINAL.

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Ordem
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);

SQL Base​

Ordem #1​

SELECT X.CD_EMPRESA, X.NR_EMBARQUE, X.NM_EMPRESA, X.NM_PESSOA, X.CD_PESSOA, X.DS_ENDEREMP, X.DS_MUNICEMP, X.NR_FONEEMP, X.NR_CEPEMP, X.DT_EMBARQUE, X.NR_PLACA, X.PS_LIQUIDO, X.PS_BRUTO, X.CD_MOTORISTA, X.CD_TRANSPORTADOR, X.NM_MOTORISTA, X.CD_ITEM, X.DS_ITEM, X.SG_UNIDMED, X.SG_UNIDALT, X.DS_FORMAPAGTO, X.PS_ORDEM, X.QT_ORDEM, X.QTDE, X.VL_TOTAL, X.NM_VENDEDOR
FROM (
SELECT B.CD_EMPRESA, B.NR_EMBARQUE, E.NM_EMPRESA, PC.NM_PESSOA, PC.CD_PESSOA, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ') DS_ENDEREMP, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, B.DT_EMBARQUE, B.NR_PLACA, B.PS_LIQUIDO, B.PS_BRUTO, B.CD_MOTORISTA, B.CD_TRANSPORTADOR, COALESCE(PT.NM_PESSOA, B.NM_MOTORISTA) NM_MOTORISTA, I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, MAX(FP.DS_FORMAPAGTO) DS_FORMAPAGTO, SUM(O.PS_ORDEMCARREG) PS_ORDEM, SUM(O.QT_ORDEMCARREG) QT_ORDEM, SUM(CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (I.CD_ITEM)) WHEN 'Q' THEN O.QT_ORDEMCARREG ELSE O.PS_ORDEMCARREG END) QTDE, SUM((
SELECT V_VL_TOTAL
FROM CALCULA_VALOR(I.CD_ITEM, O.PS_ORDEMCARREG, O.QT_ORDEMCARREG, P.VL_UNITARIO, 'T'))) VL_TOTAL, MAX(VV.O_DS_VENDEDORES) NM_VENDEDOR
FROM EMBARQUE B --
INNER JOIN ORDEMCARREGRECAP OCR ON (OCR.CD_EMPRESA = B.CD_EMPRESA --
AND OCR.NR_EMBARQUE = B.NR_EMBARQUE) --
INNER JOIN itempedidopneu ipp on (ipp.ID = ocr.IDITEMPEDIDOPNEU) --
INNER JOIN pedidopneu pp on (pp.ID = ipp.IDPEDIDOPNEU) --
INNER JOIN ORDEMPRODUCAORECAP OPR ON (OPR.IDITEMPEDIDOPNEU = IPP.ID)
INNER JOIN ORDEMCARREG O ON (O.CD_EMPRESA = B.CD_EMPRESA
AND O.NR_EMBARQUE = B.NR_EMBARQUE)
INNER JOIN ITEMPEDIDO P ON (P.CD_EMPRESA = O.CD_EMPRPED
AND P.NR_PEDIDO = O.NR_PEDIDO
AND P.TP_PEDIDO = O.TP_PEDIDO
AND P.CD_ITEM = O.CD_ITEM)
INNER JOIN PEDIDO PED ON (PED.CD_EMPRESA = O.CD_EMPRPED
AND PED.NR_PEDIDO = O.NR_PEDIDO
AND PED.TP_PEDIDO = O.TP_PEDIDO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = B.CD_EMPRESA)
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = E.CD_PESSOA
AND EE.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(E.CD_PESSOA, NULL)))
LEFT JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO)
LEFT JOIN PESSOA PT ON (PT.CD_PESSOA = COALESCE(B.CD_MOTORISTA, B.CD_TRANSPORTADOR))
LEFT JOIN PESSOA PC ON (PC.CD_PESSOA = PED.CD_PESSOA)
LEFT JOIN PESSOA PV ON (PV.CD_PESSOA = PED.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO FP ON (FP.CD_FORMAPAGTO = PED.CD_FORMAPAGTO)
LEFT JOIN RETORNA_VARIOSVENDEDORES(PED.CD_EMPRESA, PED.NR_PEDIDO, NULL, PED.TP_PEDIDO, 'P') VV ON (1=1)
LEFT JOIN ordemcarregrecap ocr on (ocr.CD_EMPRESA = b.CD_EMPRESA
AND ocr.NR_EMBARQUE = b.NR_EMBARQUE
AND ocr.IDITEMPEDIDOPNEU is null)
WHERE B.CD_EMPRESA = :CD_EMPRESA
AND B.NR_EMBARQUE = :NR_EMBARQUE --
AND OPR.STEXAMEFINAL = 'A' --
AND COALESCE(O.ST_ORDEMCARREG,'X') <> 'C'
GROUP BY B.CD_EMPRESA, B.NR_EMBARQUE, E.NM_EMPRESA, PC.NM_PESSOA, --PNEU.NRFOGO, EE.DS_ENDERECO, EE.NR_ENDERECO, EE.DS_BAIRRO, EE.DS_COMPLEMENTO, ME.DS_MUNICIPIO, ME.SG_ESTADO, EE.NR_FONE, EE.NR_FAX, EE.NR_CEP, B.DT_EMBARQUE, B.NR_PLACA, B.PS_LIQUIDO, B.PS_BRUTO, B.CD_MOTORISTA, B.CD_TRANSPORTADOR, COALESCE(PT.NM_PESSOA, B.NM_MOTORISTA), I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, PC.CD_PESSOA
UNION ALL
SELECT B.CD_EMPRESA, B.NR_EMBARQUE, E.NM_EMPRESA, PC.NM_PESSOA, PC.CD_PESSOA, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ') DS_ENDEREMP, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, B.DT_EMBARQUE, B.NR_PLACA, B.PS_LIQUIDO, B.PS_BRUTO, B.CD_MOTORISTA, B.CD_TRANSPORTADOR, COALESCE(PT.NM_PESSOA, B.NM_MOTORISTA) NM_MOTORISTA, I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, MAX(FP.DS_FORMAPAGTO) DS_FORMAPAGTO, SUM(O.PS_ORDEMCARREG) PS_ORDEM, SUM(O.QT_ORDEMCARREG) QT_ORDEM, SUM(CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (I.CD_ITEM)) WHEN 'Q' THEN O.QT_ORDEMCARREG ELSE O.PS_ORDEMCARREG END) QTDE, SUM((
SELECT V_VL_TOTAL
FROM CALCULA_VALOR(I.CD_ITEM, O.PS_ORDEMCARREG, O.QT_ORDEMCARREG, ipp.VLUNITARIO, 'T'))) VL_TOTAL, Null NM_VENDEDOR
FROM EMBARQUE B
INNER JOIN ORDEMCARREGRECAP OCR ON (OCR.CD_EMPRESA = B.CD_EMPRESA
AND OCR.NR_EMBARQUE = B.NR_EMBARQUE)
INNER JOIN itempedidopneu ipp on (ipp.ID = ocr.IDITEMPEDIDOPNEU)
INNER JOIN pedidopneu pp on (pp.ID = ipp.IDPEDIDOPNEU)
INNER JOIN ORDEMPRODUCAORECAP OPR ON (OPR.IDITEMPEDIDOPNEU = IPP.ID)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = B.CD_EMPRESA)
INNER JOIN ITEM I ON (I.CD_ITEM = ipp.IDSERVICOPNEU)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = E.CD_PESSOA
AND EE.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(E.CD_PESSOA, NULL)))
LEFT JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO)
LEFT JOIN PESSOA PT ON (PT.CD_PESSOA = COALESCE(B.CD_MOTORISTA, B.CD_TRANSPORTADOR))
LEFT JOIN PESSOA PC ON (PC.CD_PESSOA = pp.IDPESSOA)
LEFT JOIN PESSOA PV ON (PV.CD_PESSOA = pp.IDVENDEDOR)
LEFT JOIN FORMAPAGTO FP ON (FP.CD_FORMAPAGTO = pp.CDFORMAPAGTO) --
LEFT JOIN RETORNA_VENDEDORESPEDIDOPNEU(pp.ID, ipp.ID ) VV ON (1=1)
LEFT JOIN ORDEMCARREG O ON (O.CD_EMPRESA = B.CD_EMPRESA
AND O.NR_EMBARQUE = B.NR_EMBARQUE)
WHERE B.CD_EMPRESA = :CD_EMPRESA
AND B.NR_EMBARQUE = :NR_EMBARQUE
AND (OCR.CD_EMPRESA IS NOT NULL
AND O.CD_EMPRESA IS NULL)
GROUP BY B.CD_EMPRESA, B.NR_EMBARQUE, E.NM_EMPRESA, PC.NM_PESSOA, --PNEU.NRFOGO, EE.DS_ENDERECO, EE.NR_ENDERECO, EE.DS_BAIRRO, EE.DS_COMPLEMENTO, ME.DS_MUNICIPIO, ME.SG_ESTADO, EE.NR_FONE, EE.NR_FAX, EE.NR_CEP, B.DT_EMBARQUE, B.NR_PLACA, B.PS_LIQUIDO, B.PS_BRUTO, B.CD_MOTORISTA, B.CD_TRANSPORTADOR, COALESCE(PT.NM_PESSOA, B.NM_MOTORISTA), I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, PC.CD_PESSOA) X
ORDER BY NM_PESSOA, CD_EMPRESA, NR_EMBARQUE CD_EMPRESA 1 NR_EMBARQUE CD_EMPRESA NR_EMBARQUE
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 DISTINCT MRP.DSMARCA, MP.DSMEDIDAPNEU, PN.NRSERIE, DP.DSDESENHO, OC.CD_ITEM, 'APROVADO' ST_PNEU, OPR.ID
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_EMPRPED
AND P.NR_PEDIDO = OC.NR_PEDIDO
AND P.TP_PEDIDO = OC.TP_PEDIDO)
LEFT JOIN PLUGORDRECAPPEDIDO POP ON (POP.CD_EMPRESA = P.CD_EMPRESA
AND POP.NR_PEDIDO = P.NR_PEDIDO
AND POP.TP_PEDIDO = P.TP_PEDIDO)
LEFT JOIN ORDEMPRODUCAORECAP OPR ON (OPR.ID = POP.IDORDEMPRODUCAORECAP)
LEFT JOIN ITEMPEDIDOPNEU IPP ON (IPP.ID = OPR.IDITEMPEDIDOPNEU)
LEFT JOIN PNEU PN ON (PN.ID = IPP.IDPNEU)
LEFT JOIN MEDIDAPNEU MP ON (MP.ID = PN.IDMEDIDAPNEU)
LEFT JOIN MODELOPNEU MPN ON (MPN.ID = PN.IDMODELOPNEU)
LEFT JOIN MARCAPNEU MRP ON (MRP.ID = MPN.IDMARCAPNEU)
LEFT JOIN TROCADESENHOPNEU TDP ON (TDP.ID = OPR.ID)
LEFT JOIN DESENHOPNEU DP ON (DP.ID = COALESCE(TDP.IDDESENHOPNEU, IPP.IDDESENHOPNEU))
WHERE OC.CD_EMPRESA = :CD_EMPRESA
AND OC.NR_EMBARQUE = :NR_EMBARQUE
AND OPR.STEXAMEFINAL <> 'R'
AND P.CD_PESSOA = :CD_PESSOA
AND OC.CD_ITEM = :CD_ITEM CD_EMPRESA 1 NR_EMBARQUE CD_PESSOA CD_ITEM
SELECT DISTINCT MRP.DSMARCA, MP.DSMEDIDAPNEU, PN.NRSERIE, DP.DSDESENHO, NULL CD_ITEM, 'REPROVADO' ST_PNEU, OPR.ID
FROM EMBARQUE E
LEFT JOIN ORDEMCARREG OC ON (OC.CD_EMPRESA = E.CD_EMPRESA
AND OC.NR_EMBARQUE = E.NR_EMBARQUE)
INNER JOIN ORDEMCARREGRECAP OCR ON (OCR.CD_EMPRESA = E.CD_EMPRESA
AND OCR.NR_EMBARQUE = E.NR_EMBARQUE)
INNER JOIN ORDEMPRODUCAORECAP OPR ON (OPR.IDITEMPEDIDOPNEU = OCR.IDITEMPEDIDOPNEU
AND OPR.STEXAMEFINAL = 'R')
LEFT JOIN ITEMPEDIDOPNEU IPP ON (IPP.ID = OPR.IDITEMPEDIDOPNEU)
LEFT JOIN PEDIDOPNEU PP ON (PP.ID = IPP.IDPEDIDOPNEU)
LEFT JOIN PNEU PN ON (PN.ID = IPP.IDPNEU)
LEFT JOIN MEDIDAPNEU MP ON (MP.ID = PN.IDMEDIDAPNEU)
LEFT JOIN MODELOPNEU MPN ON (MPN.ID = PN.IDMODELOPNEU)
LEFT JOIN MARCAPNEU MRP ON (MRP.ID = MPN.IDMARCAPNEU)
LEFT JOIN TROCADESENHOPNEU TDP ON (TDP.ID = OPR.ID)
LEFT JOIN DESENHOPNEU DP ON (DP.ID = COALESCE(TDP.IDDESENHOPNEU, IPP.IDDESENHOPNEU))
WHERE E.CD_EMPRESA = :CD_EMPRESA
AND E.NR_EMBARQUE = :NR_EMBARQUE
AND PP.IDPESSOA = :CD_PESSOA
AND OPR.STEXAMEFINAL = 'R' CD_EMPRESA 1 NR_EMBARQUE CD_PESSOA

Ordem #2​

{StringReplace}

Ordem #3​

{StringReplace}

Tabelas Utilizadas​

TabelaUso
CALCULA_VALORreferenciada nas queries do layout
DESENHOPNEUreferenciada nas queries do layout
EMBARQUEreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
HABILITA_PESOQTDEreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
ITEMPEDIDOPNEUreferenciada nas queries do layout
MARCAPNEUreferenciada nas queries do layout
MEDIDAPNEUreferenciada nas queries do layout
MODELOPNEUreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMCARREGreferenciada nas queries do layout
ORDEMCARREGRECAPreferenciada nas queries do layout
ORDEMPRODUCAORECAPreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PEDIDOPNEUreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PLUGORDRECAPPEDIDOreferenciada nas queries do layout
PNEUreferenciada nas queries do layout
RETORNA_ENDERECOreferenciada nas queries do layout
RETORNA_VARIOSVENDEDORESreferenciada nas queries do layout
RETORNA_VENDEDORESPEDIDOPNEUreferenciada nas queries do layout
TROCADESENHOPNEUreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOC011/ULOC011.pas
  • DFM: source/LOC011/ULOC011.dfm
  • Package: source/LOC011/LOC011.dpk