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
| Tabela | Uso |
|---|---|
CALCULA_VALOR | referenciada nas queries do layout |
DESENHOPNEU | referenciada nas queries do layout |
EMBARQUE | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
ITEMPEDIDOPNEU | 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 |
ORDEMCARREG | referenciada nas queries do layout |
ORDEMCARREGRECAP | referenciada nas queries do layout |
ORDEMPRODUCAORECAP | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PEDIDOPNEU | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PLUGORDRECAPPEDIDO | referenciada nas queries do layout |
PNEU | referenciada nas queries do layout |
RETORNA_ENDERECO | referenciada nas queries do layout |
RETORNA_VARIOSVENDEDORES | referenciada nas queries do layout |
RETORNA_VENDEDORESPEDIDOPNEU | referenciada nas queries do layout |
TROCADESENHOPNEU | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOC011/ULOC011.pas - DFM:
source/LOC011/ULOC011.dfm - Package:
source/LOC011/LOC011.dpk