Pular para o conteúdo principal

LOP030 — Layout LOP030

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 VIEW_PRODUCAOETAPAS, EMPRESA, PESSOA, PARMFATUR, ITEM, RETORNA_DADOSCADASTRAIS (+8), filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, JO, DIST, EP, CD_EXECUTAETAPAPRODUCAO (+9).

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​

tabPRODUTO​

SELECT -- DADOS 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_CELULAR NR_CELULAR, PARM.DS_LOGOTIPO, -- USUARIO -- US.CD_USUARIO, US.NM_USUARIO, -- DADOS DA ORDEM -- O.CD_EMPRESA, O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, O.DS_OBSERVACAO, O.DT_INICIOPRODUCAO, VP.O_CD_ITEM, VP.O_DS_ITEM, VP.O_DS_LOTEPRODUTO, VP.O_DT_VALIDADE, VP.O_ST_STATUS, VP.O_DS_STATUS, VP.O_QT_PREVISTO, VP.O_QT_PRODUZIDO, VP.O_QT_PERCA
FROM ORDEMPRODUCAO O
LEFT JOIN VIEW_PRODUCAOETAPAS(O.CD_EMPRESA, O.NR_ORDEMPRODUCAO) VP ON (1=1)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN ITEM IT ON (IT.CD_ITEM = O.CD_ITEM)
LEFT JOIN RETORNA_DADOSCADASTRAIS (PE.CD_PESSOA, NULL) EE ON (1=1)
LEFT JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO)
LEFT JOIN USUARIO US ON (US.CD_USUARIO = O.CD_USUARIO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO CD_EMPRESA NR_ORDEMPRODUCAO
SELECT VMP.O_CD_EMPRESA, VMP.O_NR_ORDEMPRODUCAO, VMP.O_CD_ITEM, VMP.O_DS_ITEM, VMP.O_SG_UNIDMED, VMP.O_QT_SALDOFISICO, VMP.O_QT_SALDOCOMPROMETIDO, VMP.O_QT_UTILIZADOMP, VMP.O_QT_PREVISTAMP, VMP.O_QT_PERCAMP, VMP.O_NR_LOTEPRODUCAO
FROM ORDEMPRODUCAO OP
LEFT JOIN VIEW_PRODUCAOETAPASMP(OP.CD_EMPRESA, OP.NR_ORDEMPRODUCAO) VMP ON (1=1)
WHERE OP.CD_EMPRESA = :CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO CD_EMPRESA NR_ORDEMPRODUCAO
SELECT DISTINCT NR_LOTE, DT_VALIDADE
FROM (
SELECT PL.NR_LOTE, LS.DT_VALIDADE
FROM EXECUTAETAPAPRODUCAO EP
INNER JOIN ETAPAPRODUCAOLOTE PL ON (PL.CD_EMPRESA = EP.CD_EMPRESA
AND PL.CD_EXECUTAETAPAPRODUCAO = EP.CD_EXECUTAETAPAPRODUCAO)
INNER JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = PL.CD_EMPRLOTE
AND LS.CD_ITEM = PL.CD_PRODUTO
AND LS.NR_LOTE = PL.NR_LOTE)
WHERE EP.CD_EMPRESA = :O_CD_EMPRESA
AND EP.NR_LOTE = :O_NR_LOTEPRODUCAO
AND PL.CD_PRODUTO = :O_CD_ITEM
UNION ALL
SELECT OPL.NR_LOTE, LS.DT_VALIDADE
FROM ORDEMPRODUCAO OP
INNER JOIN ORDEMPRODUCAOLOTE OPL ON (OPL.CD_EMPRESA = OP.CD_EMPRESA
AND OPL.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO)
INNER JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = OPL.CD_EMPRESA
AND LS.CD_ITEM = OPL.CD_ITEM
AND LS.NR_LOTE = OPL.NR_LOTE)
WHERE OP.CD_EMPRESA = :O_CD_EMPRESA
AND OP.NR_LOTEPRODUCAO = :O_NR_LOTEPRODUCAO
AND OPL.CD_ITEM = :O_CD_ITEM ) O_CD_EMPRESA O_NR_LOTEPRODUCAO O_CD_ITEM O_CD_EMPRESA O_NR_LOTEPRODUCAO O_CD_ITEM
SELECT EP.NR_ORDEMETAPA, EX.CD_EMPRESA, EX.CD_EXECUTAETAPAPRODUCAO, EP.CD_ETAPAPRODUCAO, EP.DS_ETAPAPRODUCAO, EX.DT_INICIOPROGRAMADO, EX.DT_FINALPROGRAMADO, EX.DT_INICIO, EX.DT_FIM
FROM EXECUTAETAPAPRODUCAO EX
INNER JOIN ETAPAPRODUCAO EP ON (EP.CD_EMPRESA = EX.CD_EMPRESA
AND EP.CD_ETAPAPRODUCAO = EX.CD_ETAPAPRODUCAO)
WHERE EX.CD_EMPRESA = :CD_EMPRESA
AND EX.NR_LOTE = :NR_LOTEPRODUCAO
ORDER BY EP.NR_ORDEMETAPA CD_EMPRESA NR_LOTEPRODUCAO
SELECT EOP.CD_EXECUTAETAPAPRODUCAO, P.CD_PESSOA, P.NM_PESSOA
FROM EXECUTAETAPAPRODUCAO EX
INNER JOIN EXECUTAETAPAPRODOPERACAO EOP ON (EOP.CD_EMPRESA = EX.CD_EMPRESA
AND EOP.CD_EXECUTAETAPAPRODUCAO = EX.CD_EXECUTAETAPAPRODUCAO)
INNER JOIN PESSOA P ON (P.CD_PESSOA = EOP.CD_OPERADOR)
WHERE EX.CD_EMPRESA = :CD_EMPRESA
AND EX.CD_EXECUTAETAPAPRODUCAO = :CD_EXECUTAETAPAPRODUCAO CD_EMPRESA CD_EXECUTAETAPAPRODUCAO

Tabelas Utilizadas​

TabelaUso
EMPRESAreferenciada nas queries do layout
ETAPAPRODUCAOreferenciada nas queries do layout
ETAPAPRODUCAOLOTEreferenciada nas queries do layout
EXECUTAETAPAPRODOPERACAOreferenciada nas queries do layout
EXECUTAETAPAPRODUCAOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
LOTESEMENTEreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMPRODUCAOreferenciada nas queries do layout
ORDEMPRODUCAOLOTEreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout
VIEW_PRODUCAOETAPASreferenciada nas queries do layout
VIEW_PRODUCAOETAPASMPreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOP030/ULOP030.pas
  • DFM: source/LOP030/ULOP030.dfm
  • Package: source/LOP030/LOP030.dpk