Pular para o conteúdo principal

LOP021 — Layout LOP021

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 RETORNA_SALDOESTOQUE, com junção em ITEMORDEMPROD, EMPRESA, ITEM, SECAO, ITEMRECEITA, 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.CD_ITEM||' - '||I.DS_ITEM 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, O.DS_OBSERVACAO, S.CD_SECAO, COALESCE(S.DS_SECAO,'SEM SEÇÃO')DS_SECAO, (
SELECT O_QT_SALDO
FROM RETORNA_SALDOESTOQUE(O.CD_EMPRESA, IO.CD_MATERIAPRIMA, IO.CD_TIPOLOCAL, IO.CD_LOCAL, NULL))O_QT_SALDO, (
SELECT O_VL_CUSTO
FROM RETORNA_SALDOESTOQUE(O.CD_EMPRESA, IO.CD_MATERIAPRIMA, IO.CD_TIPOLOCAL, IO.CD_LOCAL, NULL))VL_CUSTOUNIT, (
SELECT O_VL_CUSTO
FROM RETORNA_SALDOESTOQUE(O.CD_EMPRESA, IO.CD_MATERIAPRIMA, IO.CD_TIPOLOCAL, IO.CD_LOCAL, NULL)) * IO.QT_ITEMPRODUCAO VL_TOTAL, IR.NR_REGISTRO, I.DS_NATUREZAFISICA, I.NR_UMMAX, I.NR_P205, I.NR_COT, I.NR_K2O, I.NR_TOTAL, I.NR_PH, I.NR_CTC, I.NR_CO, I.NR_CTC_C, I.NR_CRA, IR.DS_MANEJO, IR.DS_RECOMENDACAO
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 SECAO S ON (S.CD_SECAO = M.CD_SECAO)
LEFT JOIN ITEMRECEITA IR ON (IR.CD_ITEM = I.CD_ITEM)
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, {#10} O.CD_ITEM, I.CD_ITEM||' - '||I.DS_ITEM DS_ITEM, M.SG_UNIDMED, O.QT_PRODUZIDA, {#10} O.DT_INICIOPRODUCAO, O.DT_FIMPRODUCAO, O.TP_ORDEMPRODUCAO, {#10} IO.CD_MATERIAPRIMA, M.DS_ITEM DS_MATERIAPRIMA, {#10} IO.QT_ITEMPRODUCAO, IO.TP_DESPESA, O.DS_OBSERVACAO, S.CD_SECAO, COALESCE(S.DS_SECAO,'SEM SEÇÃO')DS_SECAO, {#10} RS.O_QT_SALDO, MOV.VL_CUSTO VL_CUSTOUNIT, (MOV.VL_CUSTO * IO.qt_itemproducao) VL_TOTAL, {#10} MAX(IR.NR_REGISTRO) NR_REGISTRO, MAX(IR.DS_MANEJO) DS_MANEJO, MAX(IR.DS_RECOMENDACAO) DS_RECOMENDACAO, {#10} I.DS_NATUREZAFISICA, I.NR_UMMAX, I.NR_P205, I.NR_COT, I.NR_K2O, I.NR_TOTAL, I.NR_PH, {#10} I.NR_CTC, I.NR_CO, I.NR_CTC_C, I.NR_CRA, {#10} (
SELECT LIST(LS.NR_DOCUMENTO, ', ') {#10}
FROM MOVESTOQUE MV {#10}
INNER JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = MV.CD_EMPRLOTE {#10}
AND LS.NR_LOTE = MV.NR_LOTE {#10}
AND LS.CD_ITEM = MV.CD_ITEM) {#10}
WHERE MV.CD_EMPRORDEMPROD = O.CD_EMPRESA {#10}
AND MV.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO {#10}
AND MV.CD_ITEM = O.CD_ITEM {#10}
AND MV.ST_CANCELAMENTO = 'N' {#10}
AND MV.QT_ESTOQUE > 0) NR_LOTES {#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}
AND IO.TP_DESPESA = 'M') {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN MOVESTOQUE MOV ON (MOV.CD_EMPRORDEMPROD = O.CD_EMPRESA {#10}
AND MOV.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO {#10}
AND MOV.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN secao s ON (S.cd_secao = M.cd_secao){#10}
LEFT JOIN ITEMRECEITA IR ON (IR.CD_ITEM = I.CD_ITEM){#10}
LEFT JOIN RETORNA_SALDOESTOQUE(O.CD_EMPRESA, IO.CD_MATERIAPRIMA, IO.CD_TIPOLOCAL, IO.CD_LOCAL, NULL) RS ON (1=1) {#10}
WHERE O.CD_EMPRESA = {iParametros}

Text​

SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, {#10} O.CD_ITEM, I.CD_ITEM||' - '||I.DS_ITEM DS_ITEM, M.SG_UNIDMED, O.QT_PRODUZIDA, {#10} O.DT_INICIOPRODUCAO, O.DT_FIMPRODUCAO, O.TP_ORDEMPRODUCAO, {#10} IO.CD_MATERIAPRIMA, M.DS_ITEM DS_MATERIAPRIMA, {#10} IO.QT_ITEMPRODUCAO, IO.TP_DESPESA, O.DS_OBSERVACAO, S.CD_SECAO, COALESCE(S.DS_SECAO,'SEM SEÇÃO')DS_SECAO, {#10} RS.O_QT_SALDO, MOV.VL_CUSTO VL_CUSTOUNIT, (MOV.VL_CUSTO * IO.qt_itemproducao) VL_TOTAL, {#10} MAX(IR.NR_REGISTRO) NR_REGISTRO, MAX(IR.DS_MANEJO) DS_MANEJO, MAX(IR.DS_RECOMENDACAO) DS_RECOMENDACAO, {#10} I.DS_NATUREZAFISICA, I.NR_UMMAX, I.NR_P205, I.NR_COT, I.NR_K2O, I.NR_TOTAL, I.NR_PH, {#10} I.NR_CTC, I.NR_CO, I.NR_CTC_C, I.NR_CRA, {#10} (
SELECT LIST(LS.NR_DOCUMENTO, ', ') {#10}
FROM MOVESTOQUE MV {#10}
INNER JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = MV.CD_EMPRLOTE {#10}
AND LS.NR_LOTE = MV.NR_LOTE {#10}
AND LS.CD_ITEM = MV.CD_ITEM) {#10}
WHERE MV.CD_EMPRORDEMPROD = O.CD_EMPRESA {#10}
AND MV.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO {#10}
AND MV.CD_ITEM = O.CD_ITEM {#10}
AND MV.ST_CANCELAMENTO = 'N' {#10}
AND MV.QT_ESTOQUE > 0) NR_LOTES {#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}
AND IO.TP_DESPESA = 'M') {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN ITEM M ON (M.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN MOVESTOQUE MOV ON (MOV.CD_EMPRORDEMPROD = O.CD_EMPRESA {#10}
AND MOV.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO {#10}
AND MOV.CD_ITEM = IO.CD_MATERIAPRIMA) {#10}
LEFT JOIN secao s ON (S.cd_secao = M.cd_secao){#10}
LEFT JOIN ITEMRECEITA IR ON (IR.CD_ITEM = I.CD_ITEM){#10}
LEFT JOIN RETORNA_SALDOESTOQUE(O.CD_EMPRESA, IO.CD_MATERIAPRIMA, IO.CD_TIPOLOCAL, IO.CD_LOCAL, NULL) RS ON (1=1) {#10}
WHERE O.CD_EMPRESA = {iParametros[1]}
AND O.NR_ORDEMPRODUCAO = {iParametros[2] + #10}
GROUP BY O.NR_ORDEMPRODUCAO, M.CD_SECAO, IO.QT_ITEMPRODUCAO, {#10} CD_EMPRESA, NM_EMPRESA, NR_ORDEMPRODUCAO, CD_ITEM, DS_ITEM, SG_UNIDMED, {#10} QT_PRODUZIDA, DT_INICIOPRODUCAO, DT_FIMPRODUCAO, TP_ORDEMPRODUCAO, CD_MATERIAPRIMA, {#10} DS_MATERIAPRIMA, QT_ITEMPRODUCAO, TP_DESPESA, DS_OBSERVACAO, CD_SECAO, DS_SECAO, {#10} O_QT_SALDO, VL_CUSTOUNIT, VL_TOTAL, DS_NATUREZAFISICA, NR_UMMAX, NR_P205, NR_COT, {#10} NR_K2O, NR_TOTAL, NR_PH, NR_CTC, NR_CO, NR_CTC_C, NR_CRA, NR_LOTES {#10}
ORDER BY O.NR_ORDEMPRODUCAO, M.CD_SECAO, IO.QT_ITEMPRODUCAO, {#10}CD_EMPRESA, NM_EMPRESA, NR_ORDEMPRODUCAO, CD_ITEM, DS_ITEM, SG_UNIDMED, {#10}QT_PRODUZIDA, DT_INICIOPRODUCAO, DT_FIMPRODUCAO, TP_ORDEMPRODUCAO, CD_MATERIAPRIMA, {#10}DS_MATERIAPRIMA, QT_ITEMPRODUCAO, TP_DESPESA, DS_OBSERVACAO, CD_SECAO, DS_SECAO, {#10}O_QT_SALDO, VL_CUSTOUNIT, VL_TOTAL, DS_NATUREZAFISICA, NR_UMMAX, NR_P205, NR_COT, {#10}NR_K2O, NR_TOTAL, NR_PH, NR_CTC, NR_CO, NR_CTC_C, NR_CRA, NR_LOTES

Tabelas Utilizadas​

TabelaUso
EMPRESAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMORDEMPRODreferenciada nas queries do layout
ITEMRECEITAreferenciada nas queries do layout
LOTESEMENTEreferenciada nas queries do layout
MOVESTOQUEreferenciada nas queries do layout
ORDEMPRODUCAOreferenciada nas queries do layout
RETORNA_SALDOESTOQUEreferenciada nas queries do layout
SECAOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOP021/ULOP021.pas
  • DFM: source/LOP021/ULOP021.dfm
  • Package: source/LOP021/LOP021.dpk