Pular para o conteúdo principal

LOP016 — Layout LOP016

Visão Geral​

Layout de impressão da família LOP (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.

Descrição​

Consulta baseada em ORDEMPRODUCAO, com junção em ORDEMPRODUCAOPEDIDO, EMPRESA, PESSOA, RETORNA_DADOSCADASTRAIS, MUNICIPIO, ITEMORDEMPROD (+15), filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, DOM_, DT_, O, JO (+23).

Chamada​

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

SQL Base​

tabProducao #1​

SELECT DISTINCT O.NR_LOTEPRODUCAO, COALESCE(ORP.NR_ORDEMPRODUCAO, O.NR_ORDEMPRODUCAO) NR_ORDEMLOTE, --EMPRESA-- O.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, PE.NR_CNPJCPF NR_CNPJEMPRESA, EE.NR_INSCEST NR_INSCESTEMPRESA, EE.NR_INSCMUN NR_INSCMUNEMPRESA, PE.DS_SITE DS_SITEEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, EE.DS_ENDERECO DS_ENDEMPRESA, EE.NR_ENDERECO NR_ENDEMPRESA, EE.NR_CEP NR_CEPEMPRESA, EE.DS_BAIRRO DS_BAIRROEMPRESA, EE.DS_COMPLEMENTO DS_COMPEMPRESA, ME.DS_MUNICIPIO DS_MUNEMPRESA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, PARM.DS_LOGOTIPO, --PRODUTO-- COALESCE(IOR.CD_ITEM,I.CD_ITEM) CD_ITEM, COALESCE(IOR.DS_ITEM,I.DS_ITEM) DS_ITEM, COALESCE(IOR.SG_UNIDMED, I.SG_UNIDMED) SG_UNIDMED, COALESCE(MAO.DS_MARCA, MA.DS_MARCA)DS_MARCA, COALESCE(IOR.CD_GRADE,I.CD_GRADE) CD_GRADE, COALESCE(GAO.DS_GRADE, GA.DS_GRADE) DS_GRADE, COALESCE(ORP.QT_PRODUZIDA, O.QT_PRODUZIDA) QT_ITEM , MO.DS_ESPECIFICACAO DS_OBSERVACAOPROD, COALESCE(IOR.CD_CODIGOBARRA, I.CD_CODIGOBARRA) CD_CODIGOBARRA, COALESCE(IOR.CD_FORNECEDOR1, I.CD_FORNECEDOR1) CD_FORNECEDOR1, COALESCE(COALESCE(IOR.PS_LIQUIDOEMB,0) + COALESCE(IOR.PS_EMBALAGEM,0), COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0)) PS_ITEM, (COALESCE(ORP.QT_PRODUZIDA, O.QT_PRODUZIDA) * COALESCE(COALESCE(IOR.PS_LIQUIDOEMB,0) + COALESCE(IOR.PS_EMBALAGEM,0), COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0))) PS_TOTITEM, COALESCE(IOR.DS_ESPECIFICACAO, I.DS_ESPECIFICACAO) DS_OBSERVACAO, PP.NR_PEDIDO, case PP.TP_PAGTOFRETE WHEN '1' THEN 'Remetente - CIF' WHEN '2' THEN 'Destinatário - FOB' WHEN '3' THEN 'Outros' END TP_PAGTOFRETE, PPP.NM_PESSOA NM_PESSOAPED, PPP.CD_PESSOA CD_PESSOAPED, PPP.NR_CNPJCPF NR_CNPJCPFPED, PPP.DS_EMAIL DS_EMAILPED, EPP.DS_ENDERECO DS_ENDPESPED, EPP.NR_ENDERECO NR_ENDPESPED, EPP.NR_CEP NR_CEPPESPED, EPP.DS_BAIRRO DS_BAIRROPESPED, EPP.DS_COMPLEMENTO DS_COMPPESPED, MPP.DS_MUNICIPIO DS_MUNPESPED, EPP.NR_FONE NR_FONEPESPED, EPP.NR_FAX NR_FAXPESPED, PP.NR_PEDIDO NR_PEDIDO, PPV.CD_PESSOA||' - '||PPV.NM_PESSOA NM_VENDPED, ORP.NR_ORDEMPRODUCAO NR_ORDEMPED, MPP.SG_ESTADO, --RODAPÉ (DADOS DO PEDIDO)-- PP.CD_CONDPAGTO CD_CONDPAGTOPED, CAP.DS_CONDPAGTO DS_CONDPAGTOPED, PARM.DS_MSGPEDIDO DS_MENSAGEMPED, RDCP.DS_ENDCOMPLETO DS_ENDCOBRANCAPED, RDEP.DS_ENDCOMPLETO DS_ENDENTREGAPED, FPP.DS_FORMAPAGTO DS_FORMAPAGTOPED, CAST((
SELECT COUNT (OPPP.NR_PEDIDO)
FROM ORDEMPRODUCAO ORPP
LEFT JOIN ORDEMPRODUCAOPEDIDO OPPP ON (OPPP.CD_EMPRESA = ORPP.CD_EMPRESA
AND OPPP.NR_ORDEMPRODUCAO = ORPP.NR_ORDEMPRODUCAO)
WHERE ORPP.CD_EMPRESA = ORP.CD_EMPRESA
AND ORPP.NR_ORDEMPRODUCAO = ORP.NR_ORDEMPRODUCAO ) AS DOM_INTEGER) QT_PEDIDOS, O.CD_USUARIO||' - '||US.NM_USUARIO CD_USUARIO, O.DT_REGISTRO, O.DT_INICIOPRODUCAO, RLOP.O_DS_LOTE NR_LOTES
FROM ORDEMPRODUCAO O
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS (PE.CD_PESSOA, NULL) EE ON (1=1)
LEFT JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO)
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
LEFT JOIN USUARIO US ON (US.CD_USUARIO = O.CD_USUARIO) --ORCAMENTO--
LEFT JOIN MAQUINAORCAMENTO MO ON (MO.CD_EMPRESA = O.CD_EMPRESA
AND MO.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO) --PEDIDOS DO LOTE DE PRODUCAO--
LEFT JOIN ORDEMPRODUCAO ORP ON (ORP.CD_EMPRLOTEPROD = O.CD_EMPRLOTEPROD
AND ORP.NR_LOTEPRODUCAO = O.NR_LOTEPRODUCAO)
LEFT JOIN ORDEMPRODUCAOPEDIDO OPP ON (OPP.CD_EMPRESA = ORP.CD_EMPRESA
AND OPP.NR_ORDEMPRODUCAO = ORP.NR_ORDEMPRODUCAO)
LEFT JOIN PEDIDO PP ON (PP.CD_EMPRESA = OPP.CD_EMPRPED
AND PP.NR_PEDIDO = OPP.NR_PEDIDO
AND PP.TP_PEDIDO = OPP.TP_PEDIDO)
LEFT JOIN ITEMPEDIDO IPP ON (IPP.CD_EMPRESA = PP.CD_EMPRESA
AND IPP.NR_PEDIDO = PP.NR_PEDIDO
AND IPP.CD_ITEM = ORP.CD_ITEM)
LEFT JOIN PESSOA PPP ON (PPP.CD_PESSOA = PP.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EPP ON (PP.CD_PESSOA = EPP.CD_PESSOA
AND PP.CD_ENDERECO = EPP.CD_ENDERECO)
LEFT JOIN MUNICIPIO MPP ON (MPP.CD_MUNICIPIO = EPP.CD_MUNICIPIO)
LEFT JOIN PESSOA PPV ON (PPV.CD_PESSOA = PP.CD_VENDEDOR)
LEFT JOIN CONDPAGTO CAP ON (CAP.CD_CONDPAGTO = PP.CD_CONDPAGTO)
LEFT JOIN FORMAPAGTO FPP ON (FPP.CD_FORMAPAGTO = PP.CD_FORMAPAGTO)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PP.CD_PESSOA,'B') RDCP ON (1 = 1)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PP.CD_PESSOA,'E') RDEP ON (1 = 1)
LEFT JOIN RETORNA_LOTEORDEMPROD(coalesce(ORP.CD_EMPRPROD, o.CD_EMPRPROD), coalesce(ORP.NR_ORDEMPRODUCAO, o.NR_ORDEMPRODUCAO), COALESCE(ORP.CD_ITEM, O.CD_ITEM)) RLOP ON (1=1)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = O.CD_EMPRESA) --ITEM ORDEM PRODUCAO--
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN MARCA MA ON (MA.CD_MARCA = I.CD_MARCA)
LEFT JOIN GRADE GA ON (GA.CD_GRADE = I.CD_GRADE) --ITEM ORDEM PRODUCAO DO LOTE--
LEFT JOIN ITEM IOR ON (ORP.CD_ITEM = IOR.CD_ITEM)
LEFT JOIN MARCA MAO ON (MAO.CD_MARCA = IOR.CD_MARCA)
LEFT JOIN GRADE GAO ON (GAO.CD_GRADE = IOR.CD_GRADE)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO --
AND IO.TP_DESPESA = 'M' CD_EMPRESA NR_ORDEMPRODUCAO
SELECT O.CD_MATERIAPRIMA, I.DS_ITEM DS_MATPRIMA, O.QT_ITEMPRODUCAO, RLOP.O_DS_LOTE NR_LOTES, O.CD_EMPRESA, O.NR_ORDEMPRODUCAO NR_ORDEMLOTE
FROM ITEMORDEMPROD O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_MATERIAPRIMA)
LEFT JOIN RETORNA_LOTEORDEMPROD(O.CD_EMPRESA, O.NR_ORDEMPRODUCAO, O.CD_MATERIAPRIMA) RLOP ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE CD_EMPRESA 1 NR_ORDEMLOTE
SELECT O.CD_ITEM, O.QT_GRADE, L.DS_LINHA, C.DS_COLUNA, G.DS_GRADE
FROM ORDEMPRODUCAOGRADE O
INNER JOIN GRADE G ON (G.CD_GRADE = O.CD_GRADE)
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = G.CD_GRADE
AND L.NR_LINHA = O.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = G.CD_GRADE
AND C.NR_COLUNA = O.NR_COLUNA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE CD_EMPRESA 1 NR_ORDEMLOTE
SELECT O.CD_MATERIAPRIMA, I.DS_ITEM DS_MATPRIMA, O.QT_ITEMPRODUCAO
FROM ITEMORDEMPROD O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_MATERIAPRIMA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE CD_EMPRESA 1 NR_ORDEMLOTE
SELECT O.CD_ITEM, O.QT_GRADE, L.DS_LINHA, C.DS_COLUNA, G.DS_GRADE
FROM ORDEMPRODUCAOGRADE O
INNER JOIN GRADE G ON (G.CD_GRADE = O.CD_GRADE)
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = G.CD_GRADE
AND L.NR_LINHA = O.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = G.CD_GRADE
AND C.NR_COLUNA = O.NR_COLUNA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE CD_EMPRESA 1 NR_ORDEMLOTE
SELECT LS.CD_ITEM, LS.QT_LOTE, LS.NR_LOTE, LS.DT_FABRICACAO, LS.DT_VALIDADE, LS.NR_DOCUMENTO
FROM ITEMORDEMPROD O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_MATERIAPRIMA)
INNER JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = O.CD_EMPRESA
AND LS.CD_ITEM = O.CD_MATERIAPRIMA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE
AND O.CD_MATERIAPRIMA = :CD_MATERIAPRIMA
AND LS.QT_LOTE > 0
AND LS.DT_VALIDADE >= CURRENT_DATE
ORDER BY LS.DT_VALIDADE CD_EMPRESA 1 NR_ORDEMLOTE CD_MATERIAPRIMA

tabProducao #2​

{frmLOP016}

Tabelas Utilizadas​

TabelaUso
COLUNAGRADEreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
GRADEreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMORDEMPRODreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
LINHAGRADEreferenciada nas queries do layout
LOTESEMENTEreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMPRODUCAOreferenciada nas queries do layout
ORDEMPRODUCAOGRADEreferenciada nas queries do layout
ORDEMPRODUCAOPEDIDOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_LOTEORDEMPRODreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOP016/ULOP016.pas
  • DFM: source/LOP016/ULOP016.dfm
  • Package: source/LOP016/LOP016.dpk