Pular para o conteúdo principal

LOP022 — Layout LOP022

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, ITEMPERFIL, PERFIL, TAREFAITEM (+3), filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, TP_DESPESA, DT_, O, JO (+5).

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, IPE.CD_PERFIL, PE.DS_PERFIl, O.NR_ORDEMPRODUCAO NR_LOTEPRODUCAO
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)
LEFT JOIN ITEMPERFIL IPE ON (IPE.CD_ITEM = M.CD_ITEM)
LEFT JOIN PERFIL PE ON (PE.CD_PERFIL = IPE.CD_PERFIL)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
AND IO.TP_DESPESA = 'M' CD_EMPRESA 1 NR_ORDEMPRODUCAO
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, IPE.CD_PERFIL, PE.DS_PERFIl ,O.NR_ORDEMPRODUCAO NR_LOTEPRODUCAO
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)
LEFT JOIN ITEMPERFIL IPE ON (IPE.CD_ITEM = M.CD_ITEM)
LEFT JOIN PERFIL PE ON (PE.CD_PERFIL = IPE.CD_PERFIL)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
AND IO.TP_DESPESA = 'M' CD_EMPRESA 1 NR_ORDEMPRODUCAO
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
SELECT T.NR_TAREFA, F.DS_TAREFA
FROM TAREFAPRODUCAO T
INNER JOIN TAREFAITEM F ON (F.NR_TAREFA = T.NR_TAREFA)
WHERE T.CD_EMPRESA = :CD_EMPRPROD
AND T.CD_ITEM = :CD_ITEM
AND T.TP_PRODUCAO = :TP_PRODUCAO
AND T.NR_VERSAO = :NR_VERSAO
ORDER BY T.NR_TAREFA CD_EMPRPROD CD_ITEM TP_PRODUCAO NR_VERSAO
SELECT O.NR_ORDEMPRODUCAO, O.CD_ITEM, P.NR_AMOSTRA, L.O_NR_LINHA NR_LINHA
FROM ORDEMPRODUCAO O
INNER JOIN PRODUCAO P ON (P.CD_EMPRESA = O.CD_EMPRPROD
AND P.CD_ITEM = O.CD_ITEM
AND P.NR_VERSAO = O.NR_VERSAO
AND P.TP_PRODUCAO = O.TP_PRODUCAO
AND P.NR_AMOSTRA > 0)
LEFT JOIN RETORNA_LINHAS(CAST(O.QT_PRODUZIDA / P.QT_MINPRODUCAO AS INTEGER) * P.NR_AMOSTRA) L ON (1 = 1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO CD_EMPRESA NR_ORDEMPRODUCAO
SELECT O.NR_ORDEMPRODUCAO, O.CD_ITEM, O.NR_LOTE, L.DT_VALIDADE, L.DT_FABRICACAO, L.NR_ATESTADO
FROM ORDEMPRODUCAOLOTE O
INNER JOIN LOTESEMENTE L ON (L.CD_EMPRESA = O.CD_EMPRLOTE
AND L.NR_LOTE = O.NR_LOTE)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO CD_EMPRESA NR_ORDEMPRODUCAO

Producao #2​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO, {#10} S.CD_SABOR, S.DS_SABOR||' - '||S.CD_SABOR DS_SABOR, {#10} CAST(O.NR_ORDEMORIG AS VARCHAR(10))||' '||RI.DS_ITEM||' - '||RI.CD_ITEM DS_ORIGEM, R.QT_PRODUZIDA QT_ORIGEM, {#10} MIN(O.DT_INICIOPRODUCAO) DT_INICIOPRODUCAO, {#10} IO.CD_MATERIAPRIMA, CAST(IO.CD_MATERIAPRIMA AS VARCHAR(10))||' - '||M.DS_ITEM DS_MATERIAPRIMA, {#10} M.SG_UNIDMED, M.SG_UNIDALT, SUM((IO.QT_ITEMPRODUCAO * SP.PC_SABOR) / 100) QT_ITEMPRODUCAO, {#10} SUM(CASE WHEN COALESCE(M.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST((IO.QT_ITEMPRODUCAO * SP.PC_SABOR) / 100 AS NUMERIC(15,5)) / M.PS_LIQUIDO END) QTDE, {#10} IPE.CD_PERFIL, COALESCE(PE.DS_PERFIl,'SEM PERFIL')DS_PERFIl {#10}
FROM ORDEMPRODUCAO O {#10}
LEFT JOIN ORDEMPRODUCAO R ON (R.CD_EMPRESA = O.CD_EMPRORIG {#10}
AND R.NR_ORDEMPRODUCAO = O.NR_ORDEMORIG) {#10}
LEFT JOIN ITEM RI ON (RI.CD_ITEM = R.CD_ITEM) {#10}
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA {#10}
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM) {#10}
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN ITEMPERFIL IPE ON (IPE.CD_ITEM = M.CD_ITEM) {#10}
LEFT JOIN PERFIL PE ON (PE.CD_PERFIL = IPE.CD_PERFIL) {#10}
INNER JOIN ITEMPRODUCAO IP ON (IP.CD_EMPRESA = O.CD_EMPRPROD {#10}
AND IP.CD_ITEM = O.CD_ITEM {#10}
AND IP.TP_PRODUCAO = O.TP_PRODUCAO {#10}
AND IP.NR_VERSAO = O.NR_VERSAO {#10}
AND IP.CD_MATERIAPRIMA = IO.CD_MATERIAPRIMA) {#10}
INNER JOIN SABORPRODUCAO SP ON (SP.CD_EMPRESA = O.CD_EMPRPROD {#10}
AND SP.CD_ITEM = O.CD_ITEM {#10}
AND SP.TP_PRODUCAO = O.TP_PRODUCAO {#10}
AND SP.NR_VERSAO = O.NR_VERSAO {#10}
AND SP.CD_MATERIAPRIMA = IO.CD_MATERIAPRIMA) {#10}
INNER JOIN SABOR S ON (S.CD_SABOR = SP.CD_SABOR) {#10}
WHERE O.CD_EMPRLOTEPROD = {Resultado}

tabMP​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO, {#10} CAST(O.NR_ORDEMORIG AS VARCHAR(10))||' '||RI.DS_ITEM||' - '||RI.CD_ITEM DS_ORIGEM, R.QT_PRODUZIDA QT_ORIGEM, {#10} MIN(O.DT_INICIOPRODUCAO) DT_INICIOPRODUCAO, {#10} IO.CD_MATERIAPRIMA, CAST(IO.CD_MATERIAPRIMA AS VARCHAR(10))||' - '||M.DS_ITEM DS_MATERIAPRIMA, {#10} M.SG_UNIDMED, M.SG_UNIDALT, SUM(IO.QT_ITEMPRODUCAO) QT_ITEMPRODUCAO, {#10} SUM(CASE WHEN COALESCE(M.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST(IO.QT_ITEMPRODUCAO AS NUMERIC(15,5)) / M.PS_LIQUIDO END) QTDE, {#10} IPE.CD_PERFIL, COALESCE(PE.DS_PERFIl,'SEM PERFIL')DS_PERFIl {#10}
FROM ORDEMPRODUCAO O {#10}
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA {#10}
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM) {#10}
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN ITEMPERFIL IPE ON (IPE.CD_ITEM = M.CD_ITEM) {#10}
LEFT JOIN PERFIL PE ON (PE.CD_PERFIL = IPE.CD_PERFIL) {#10}
INNER JOIN ITEMPRODUCAO IP ON (IP.CD_EMPRESA = O.CD_EMPRPROD {#10}
AND IP.CD_ITEM = O.CD_ITEM {#10}
AND IP.TP_PRODUCAO = O.TP_PRODUCAO {#10}
AND IP.NR_VERSAO = O.NR_VERSAO {#10}
AND IP.CD_MATERIAPRIMA = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN ORDEMPRODUCAO R ON (R.CD_EMPRESA = O.CD_EMPRORIG {#10}
AND R.NR_ORDEMPRODUCAO = O.NR_ORDEMORIG) {#10}
LEFT JOIN ITEM RI ON (RI.CD_ITEM = R.CD_ITEM) {#10}
WHERE O.CD_EMPRLOTEPROD = {Resultado}

tabPA​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO, O.DT_INICIOPRODUCAO, {#10} O.CD_EMPRPROD, O.CD_ITEM, O.TP_PRODUCAO, O.NR_VERSAO, O.NR_ORDEMPRODUCAO, {#10} CAST(O.NR_ORDEMORIG AS VARCHAR(10))||' '||RI.DS_ITEM||' - '||RI.CD_ITEM DS_ORIGEM, R.QT_PRODUZIDA QT_ORIGEM, {#10} O.CD_ITEM, CAST(O.CD_ITEM AS VARCHAR(10))||' - '||I.DS_ITEM DS_ITEM, {#10} I.SG_UNIDMED, I.SG_UNIDALT, O.QT_PRODUZIDA QT_PRODUCAO, {#10} CASE WHEN COALESCE(I.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST(O.QT_PRODUZIDA AS NUMERIC(15,5)) / I.PS_LIQUIDO END QTDE, {#10} O.DT_FIMPRODUCAO + I.NR_DIASVALIDADE DT_VALIDADE, O.DT_FIMPRODUCAO, {#10} IO.CD_MATERIAPRIMA, CAST(IO.CD_MATERIAPRIMA AS VARCHAR(10))||' - '||M.DS_ITEM DS_MATERIAPRIMA, {#10} M.SG_UNIDMED SG_UNIDMEDMP, M.SG_UNIDALT SG_UNIDALTMP, IO.QT_ITEMPRODUCAO {#10}
FROM ORDEMPRODUCAO O {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM) {#10}
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA {#10}
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO) {#10}
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN ORDEMPRODUCAO R ON (R.CD_EMPRESA = O.CD_EMPRORIG {#10}
AND R.NR_ORDEMPRODUCAO = O.NR_ORDEMORIG) {#10}
LEFT JOIN ITEM RI ON (RI.CD_ITEM = R.CD_ITEM) {#10}
WHERE O.CD_EMPRLOTEPROD = {Resultado}

Producao #3​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, O.CD_EMPRPROD, O.CD_ITEM, O.TP_PRODUCAO, O.NR_VERSAO, 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, IPE.CD_PERFIL, COALESCE(PE.DS_PERFIl,'SEM PERFIL')DS_PERFIl {#10}
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)
LEFT JOIN ITEMPERFIL IPE ON (IPE.CD_ITEM = M.CD_ITEM) {#10}
LEFT JOIN PERFIL PE ON (PE.CD_PERFIL = IPE.CD_PERFIL) {#10}
WHERE O.CD_EMPRESA = {iParametros}

Consulta​

SELECT O.NR_LOTEPRODUCAO, O.CD_EMPRLOTEPROD, I.ST_REVENDA, O.NR_ORDEMORIG
FROM ORDEMPRODUCAO O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM)
WHERE O.CD_EMPRESA = {iParametros[1]}
AND O.NR_ORDEMPRODUCAO = {iParametros[2]}

Text #1​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO, {#10} S.CD_SABOR, S.DS_SABOR||' - '||S.CD_SABOR DS_SABOR, {#10} CAST(O.NR_ORDEMORIG AS VARCHAR(10))||' '||RI.DS_ITEM||' - '||RI.CD_ITEM DS_ORIGEM, R.QT_PRODUZIDA QT_ORIGEM, {#10} MIN(O.DT_INICIOPRODUCAO) DT_INICIOPRODUCAO, {#10} IO.CD_MATERIAPRIMA, CAST(IO.CD_MATERIAPRIMA AS VARCHAR(10))||' - '||M.DS_ITEM DS_MATERIAPRIMA, {#10} M.SG_UNIDMED, M.SG_UNIDALT, SUM((IO.QT_ITEMPRODUCAO * SP.PC_SABOR) / 100) QT_ITEMPRODUCAO, {#10} SUM(CASE WHEN COALESCE(M.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST((IO.QT_ITEMPRODUCAO * SP.PC_SABOR) / 100 AS NUMERIC(15,5)) / M.PS_LIQUIDO END) QTDE, {#10} IPE.CD_PERFIL, COALESCE(PE.DS_PERFIl,'SEM PERFIL')DS_PERFIl {#10}
FROM ORDEMPRODUCAO O {#10}
LEFT JOIN ORDEMPRODUCAO R ON (R.CD_EMPRESA = O.CD_EMPRORIG {#10}
AND R.NR_ORDEMPRODUCAO = O.NR_ORDEMORIG) {#10}
LEFT JOIN ITEM RI ON (RI.CD_ITEM = R.CD_ITEM) {#10}
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA {#10}
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM) {#10}
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN ITEMPERFIL IPE ON (IPE.CD_ITEM = M.CD_ITEM) {#10}
LEFT JOIN PERFIL PE ON (PE.CD_PERFIL = IPE.CD_PERFIL) {#10}
INNER JOIN ITEMPRODUCAO IP ON (IP.CD_EMPRESA = O.CD_EMPRPROD {#10}
AND IP.CD_ITEM = O.CD_ITEM {#10}
AND IP.TP_PRODUCAO = O.TP_PRODUCAO {#10}
AND IP.NR_VERSAO = O.NR_VERSAO {#10}
AND IP.CD_MATERIAPRIMA = IO.CD_MATERIAPRIMA) {#10}
INNER JOIN SABORPRODUCAO SP ON (SP.CD_EMPRESA = O.CD_EMPRPROD {#10}
AND SP.CD_ITEM = O.CD_ITEM {#10}
AND SP.TP_PRODUCAO = O.TP_PRODUCAO {#10}
AND SP.NR_VERSAO = O.NR_VERSAO {#10}
AND SP.CD_MATERIAPRIMA = IO.CD_MATERIAPRIMA) {#10}
INNER JOIN SABOR S ON (S.CD_SABOR = SP.CD_SABOR) {#10}
WHERE O.CD_EMPRLOTEPROD = {Resultado[1] +#10}
AND O.NR_LOTEPRODUCAO = {Resultado[0] +#10}
AND IP.ST_ITEMPRODUCAO = 'S' {#10}
GROUP BY O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO, S.CD_SABOR, S.DS_SABOR, {#10} IO.CD_MATERIAPRIMA, M.DS_ITEM, M.SG_UNIDMED, M.SG_UNIDALT, {#10} O.NR_ORDEMORIG, RI.DS_ITEM, RI.CD_ITEM, R.QT_PRODUZIDA, IPE.CD_PERFIL, PE.DS_PERFIl {#10}
ORDER BY IPE.CD_PERFIL, DS_PERFIl, S.CD_SABOR, SUM(IO.QT_ITEMPRODUCAO) DESC

Text #2​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO, {#10} CAST(O.NR_ORDEMORIG AS VARCHAR(10))||' '||RI.DS_ITEM||' - '||RI.CD_ITEM DS_ORIGEM, R.QT_PRODUZIDA QT_ORIGEM, {#10} MIN(O.DT_INICIOPRODUCAO) DT_INICIOPRODUCAO, {#10} IO.CD_MATERIAPRIMA, CAST(IO.CD_MATERIAPRIMA AS VARCHAR(10))||' - '||M.DS_ITEM DS_MATERIAPRIMA, {#10} M.SG_UNIDMED, M.SG_UNIDALT, SUM(IO.QT_ITEMPRODUCAO) QT_ITEMPRODUCAO, {#10} SUM(CASE WHEN COALESCE(M.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST(IO.QT_ITEMPRODUCAO AS NUMERIC(15,5)) / M.PS_LIQUIDO END) QTDE, {#10} IPE.CD_PERFIL, COALESCE(PE.DS_PERFIl,'SEM PERFIL')DS_PERFIl {#10}
FROM ORDEMPRODUCAO O {#10}
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA {#10}
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM) {#10}
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN ITEMPERFIL IPE ON (IPE.CD_ITEM = M.CD_ITEM) {#10}
LEFT JOIN PERFIL PE ON (PE.CD_PERFIL = IPE.CD_PERFIL) {#10}
INNER JOIN ITEMPRODUCAO IP ON (IP.CD_EMPRESA = O.CD_EMPRPROD {#10}
AND IP.CD_ITEM = O.CD_ITEM {#10}
AND IP.TP_PRODUCAO = O.TP_PRODUCAO {#10}
AND IP.NR_VERSAO = O.NR_VERSAO {#10}
AND IP.CD_MATERIAPRIMA = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN ORDEMPRODUCAO R ON (R.CD_EMPRESA = O.CD_EMPRORIG {#10}
AND R.NR_ORDEMPRODUCAO = O.NR_ORDEMORIG) {#10}
LEFT JOIN ITEM RI ON (RI.CD_ITEM = R.CD_ITEM) {#10}
WHERE O.CD_EMPRLOTEPROD = {Resultado[1] +#10}
AND O.NR_LOTEPRODUCAO = {Resultado[0] +#10}
AND O.NR_ORDEMORIG = {Nulo(OrdemIni,}I{) +#10}
AND IP.ST_ITEMPRODUCAO = 'N' {#10}
GROUP BY O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO, {#10} IO.CD_MATERIAPRIMA, M.DS_ITEM, M.SG_UNIDMED, M.SG_UNIDALT, {#10} O.NR_ORDEMORIG, RI.DS_ITEM, RI.CD_ITEM, R.QT_PRODUZIDA, IPE.CD_PERFIL, PE.DS_PERFIl {#10}
ORDER BY IPE.CD_PERFIL, DS_PERFIl, SUM(IO.QT_ITEMPRODUCAO) DESC

Text #3​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_LOTEPRODUCAO, O.DT_INICIOPRODUCAO, {#10} O.CD_EMPRPROD, O.CD_ITEM, O.TP_PRODUCAO, O.NR_VERSAO, O.NR_ORDEMPRODUCAO, {#10} CAST(O.NR_ORDEMORIG AS VARCHAR(10))||' '||RI.DS_ITEM||' - '||RI.CD_ITEM DS_ORIGEM, R.QT_PRODUZIDA QT_ORIGEM, {#10} O.CD_ITEM, CAST(O.CD_ITEM AS VARCHAR(10))||' - '||I.DS_ITEM DS_ITEM, {#10} I.SG_UNIDMED, I.SG_UNIDALT, O.QT_PRODUZIDA QT_PRODUCAO, {#10} CASE WHEN COALESCE(I.PS_LIQUIDO,0) <= 0 THEN NULL ELSE CAST(O.QT_PRODUZIDA AS NUMERIC(15,5)) / I.PS_LIQUIDO END QTDE, {#10} O.DT_FIMPRODUCAO + I.NR_DIASVALIDADE DT_VALIDADE, O.DT_FIMPRODUCAO, {#10} IO.CD_MATERIAPRIMA, CAST(IO.CD_MATERIAPRIMA AS VARCHAR(10))||' - '||M.DS_ITEM DS_MATERIAPRIMA, {#10} M.SG_UNIDMED SG_UNIDMEDMP, M.SG_UNIDALT SG_UNIDALTMP, IO.QT_ITEMPRODUCAO {#10}
FROM ORDEMPRODUCAO O {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM) {#10}
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA {#10}
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO) {#10}
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN ORDEMPRODUCAO R ON (R.CD_EMPRESA = O.CD_EMPRORIG {#10}
AND R.NR_ORDEMPRODUCAO = O.NR_ORDEMORIG) {#10}
LEFT JOIN ITEM RI ON (RI.CD_ITEM = R.CD_ITEM) {#10}
WHERE O.CD_EMPRLOTEPROD = {Resultado[1] +#10}
AND O.NR_LOTEPRODUCAO = {Resultado[0] +#10}
AND O.NR_ORDEMORIG = {Nulo(OrdemIni,}I{) +#10}
ORDER BY O.CD_ITEM, IO.QT_ITEMPRODUCAO DESC

Text #4​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, O.CD_EMPRPROD, O.CD_ITEM, O.TP_PRODUCAO, O.NR_VERSAO, 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, IPE.CD_PERFIL, COALESCE(PE.DS_PERFIl,'SEM PERFIL')DS_PERFIl {#10}
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)
LEFT JOIN ITEMPERFIL IPE ON (IPE.CD_ITEM = M.CD_ITEM) {#10}
LEFT JOIN PERFIL PE ON (PE.CD_PERFIL = IPE.CD_PERFIL) {#10}
WHERE O.CD_EMPRESA = {iParametros[1]}
AND O.NR_ORDEMPRODUCAO = {iParametros[2]}
ORDER BY IPE.CD_PERFIL, DS_PERFIL

Tabelas Utilizadas​

TabelaUso
EMPRESAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMORDEMPRODreferenciada nas queries do layout
ITEMPERFILreferenciada nas queries do layout
ITEMPRODUCAOreferenciada nas queries do layout
LOTESEMENTEreferenciada nas queries do layout
ORDEMPRODUCAOreferenciada nas queries do layout
ORDEMPRODUCAOLOTEreferenciada nas queries do layout
PERFILreferenciada nas queries do layout
PRODUCAOreferenciada nas queries do layout
RETORNA_LINHASreferenciada nas queries do layout
SABORreferenciada nas queries do layout
SABORPRODUCAOreferenciada nas queries do layout
TAREFAITEMreferenciada nas queries do layout
TAREFAPRODUCAOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOP022/ULOP022.pas
  • DFM: source/LOP022/ULOP022.dfm
  • Package: source/LOP022/LOP022.dpk