LOP007 — Layout LOP007
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 ITEMORDEMPROD, EMPRESA, ITEM, filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, TP_DESPESA.
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
Producao #1
SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, O.CD_ITEM, I.DS_ITEM, M.SG_UNIDMED, O.QT_PRODUZIDA, O.DT_INICIOPRODUCAO, O.DT_FIMPRODUCAO, O.TP_ORDEMPRODUCAO, IO.CD_MATERIAPRIMA, M.DS_ITEM DS_MATERIAPRIMA, IO.QT_ITEMPRODUCAO, IO.TP_DESPESA
FROM ORDEMPRODUCAO O
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
AND IO.TP_DESPESA = 'M' CD_EMPRESA 1 NR_ORDEMPRODUCAO
Producao #2
SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, O.CD_EMPRPROD, O.CD_ITEM, O.TP_PRODUCAO, O.NR_VERSAO, O.DS_OBSERVACAO, O.CD_ITEM, I.DS_ITEM, M.SG_UNIDMED, O.QT_PRODUZIDA, O.DT_INICIOPRODUCAO, O.DT_FIMPRODUCAO, O.TP_ORDEMPRODUCAO, IO.CD_MATERIAPRIMA, M.DS_ITEM DS_MATERIAPRIMA, IO.QT_ITEMPRODUCAO, IO.TP_DESPESA, M.SG_UNIDALT, CASE WHEN COALESCE(M.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST(IO.QT_ITEMPRODUCAO AS NUMERIC(15,5)) / M.PS_LIQUIDO END QTDE, CAST(CASE WHEN I.SG_UNIDMED = M.SG_UNIDMED THEN (IO.QT_ITEMPRODUCAO * 100) / O.QT_PRODUZIDA ELSE ((IO.QT_ITEMPRODUCAO * M.PS_LIQUIDO) * 100) / O.QT_PRODUZIDA END AS NUMERIC(15,2)) PC_PARTICIPACAO
FROM ORDEMPRODUCAO O
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA)
WHERE O.CD_EMPRLOTEPROD = {Resultado}
Producao #3
SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, O.CD_EMPRPROD, O.CD_ITEM, O.TP_PRODUCAO, O.NR_VERSAO, O.DS_OBSERVACAO, O.CD_ITEM, I.DS_ITEM, M.SG_UNIDMED, O.QT_PRODUZIDA, O.DT_INICIOPRODUCAO, O.DT_FIMPRODUCAO, O.TP_ORDEMPRODUCAO, IO.CD_MATERIAPRIMA, M.DS_ITEM DS_MATERIAPRIMA, IO.QT_ITEMPRODUCAO, IO.TP_DESPESA, M.SG_UNIDALT, CASE WHEN COALESCE(M.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST(IO.QT_ITEMPRODUCAO AS NUMERIC(15,5)) / M.PS_LIQUIDO END QTDE, CAST(CASE WHEN I.SG_UNIDMED = M.SG_UNIDMED THEN (IO.QT_ITEMPRODUCAO * 100) / O.QT_PRODUZIDA ELSE ((IO.QT_ITEMPRODUCAO * M.PS_LIQUIDO) * 100) / O.QT_PRODUZIDA END AS NUMERIC(15,2)) PC_PARTICIPACAO
FROM ORDEMPRODUCAO O
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA)
WHERE O.CD_EMPRESA = {iParametros}
Consulta
SELECT NR_LOTEPRODUCAO, CD_EMPRLOTEPROD
FROM ORDEMPRODUCAO
WHERE CD_EMPRESA = {iParametros[1]}
AND NR_ORDEMPRODUCAO = {iParametros[2]}
Text #1
SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, O.CD_EMPRPROD, O.CD_ITEM, O.TP_PRODUCAO, O.NR_VERSAO, O.DS_OBSERVACAO, O.CD_ITEM, I.DS_ITEM, M.SG_UNIDMED, O.QT_PRODUZIDA, O.DT_INICIOPRODUCAO, O.DT_FIMPRODUCAO, O.TP_ORDEMPRODUCAO, IO.CD_MATERIAPRIMA, M.DS_ITEM DS_MATERIAPRIMA, IO.QT_ITEMPRODUCAO, IO.TP_DESPESA, M.SG_UNIDALT, CASE WHEN COALESCE(M.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST(IO.QT_ITEMPRODUCAO AS NUMERIC(15,5)) / M.PS_LIQUIDO END QTDE, CAST(CASE WHEN I.SG_UNIDMED = M.SG_UNIDMED THEN (IO.QT_ITEMPRODUCAO * 100) / O.QT_PRODUZIDA ELSE ((IO.QT_ITEMPRODUCAO * M.PS_LIQUIDO) * 100) / O.QT_PRODUZIDA END AS NUMERIC(15,2)) PC_PARTICIPACAO
FROM ORDEMPRODUCAO O
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA)
WHERE O.CD_EMPRLOTEPROD = {Resultado[1]}
AND O.NR_LOTEPRODUCAO = {Resultado[0]}
AND IO.TP_DESPESA = 'M'
ORDER BY O.NR_ORDEMPRODUCAO
Text #2
SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, O.CD_EMPRPROD, O.CD_ITEM, O.TP_PRODUCAO, O.NR_VERSAO, O.DS_OBSERVACAO, O.CD_ITEM, I.DS_ITEM, M.SG_UNIDMED, O.QT_PRODUZIDA, O.DT_INICIOPRODUCAO, O.DT_FIMPRODUCAO, O.TP_ORDEMPRODUCAO, IO.CD_MATERIAPRIMA, M.DS_ITEM DS_MATERIAPRIMA, IO.QT_ITEMPRODUCAO, IO.TP_DESPESA, M.SG_UNIDALT, CASE WHEN COALESCE(M.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST(IO.QT_ITEMPRODUCAO AS NUMERIC(15,5)) / M.PS_LIQUIDO END QTDE, CAST(CASE WHEN I.SG_UNIDMED = M.SG_UNIDMED THEN (IO.QT_ITEMPRODUCAO * 100) / O.QT_PRODUZIDA ELSE ((IO.QT_ITEMPRODUCAO * M.PS_LIQUIDO) * 100) / O.QT_PRODUZIDA END AS NUMERIC(15,2)) PC_PARTICIPACAO
FROM ORDEMPRODUCAO O
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA)
WHERE O.CD_EMPRESA = {iParametros[1]}
AND O.NR_ORDEMPRODUCAO = {iParametros[2]}
AND IO.TP_DESPESA = 'M'
ORDER BY O.NR_ORDEMPRODUCAO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
EMPRESA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORDEMPROD | referenciada nas queries do layout |
ORDEMPRODUCAO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOP007/ULOP007.pas - DFM:
source/LOP007/ULOP007.dfm - Package:
source/LOP007/LOP007.dpk