LOP005 — Layout LOP005
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 ITEM, ORDEMPRODUCAOPEDIDO, PEDIDO, PESSOA, ORDEMPRODUCAOPEDIDOGRADE, LINHAGRADE (+5), filtrada por O, JO, CD_EMPRESA, NR_ORDEMPRODUCAO, CD_MATERIAPRIMA, CD_SUBGRUPO.
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
ORDEMPEDIDO
SELECT O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, S.CD_PESSOA, S.NM_PESSOA, P.NR_PEDIDO, I.CD_FORNECEDOR1, O.CD_ITEM, I.DS_ITEM, LG.DS_LINHA||' - '||CG.DS_COLUNA DS_GRADE, GP.QT_GRADE QT_GRADE
FROM ORDEMPRODUCAO O
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ORDEMPRODUCAOPEDIDO OP ON (OP.CD_EMPRESA = O.CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO
AND OP.CD_ITEM = O.CD_ITEM)
INNER JOIN PEDIDO P ON (P.CD_EMPRESA = OP.CD_EMPRPED
AND P.NR_PEDIDO = OP.NR_PEDIDO
AND P.TP_PEDIDO = OP.TP_PEDIDO)
INNER JOIN PESSOA S ON (S.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ORDEMPRODUCAOPEDIDOGRADE GP ON (GP.CD_EMPRESA = OP.CD_EMPRESA
AND GP.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO
AND GP.CD_EMPRPED = OP.CD_EMPRPED
AND GP.NR_PEDIDO = OP.NR_PEDIDO
AND GP.TP_PEDIDO = OP.TP_PEDIDO
AND GP.CD_ITEM = OP.CD_ITEM)
INNER JOIN LINHAGRADE LG ON (LG.CD_GRADE = GP.CD_GRADE
AND LG.NR_LINHA = GP.NR_LINHA)
INNER JOIN COLUNAGRADE CG ON (CG.CD_GRADE = GP.CD_GRADE
AND CG.NR_COLUNA = GP.NR_COLUNA)
WHERE COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA) = :CD_EMPRESA
AND COALESCE(O.NR_LOTEPRODUCAO,O.NR_ORDEMPRODUCAO) = :NR_ORDEM CD_EMPRESA NR_ORDEM
SELECT I.DS_ITEM||' <'||I.CD_ITEM||'> ' DS_ITEM, I.SG_UNIDMED, SUM(M.QT_ITEMPRODUCAO) QT_ITEMPRODUCAO, S.DS_SUBGRUPO
FROM ORDEMPRODUCAO O
INNER JOIN ITEMORDEMPROD M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO)
INNER JOIN ITEM I ON (M.CD_MATERIAPRIMA = I.CD_ITEM)
LEFT JOIN SUBGRUPO S ON (S.CD_SUBGRUPO = I.CD_SUBGRUPO)
WHERE COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA) = :CD_EMPRESA
AND COALESCE(O.NR_LOTEPRODUCAO,O.NR_ORDEMPRODUCAO) = :NR_ORDEM
GROUP BY I.DS_ITEM, I.CD_ITEM, I.SG_UNIDMED, S.DS_SUBGRUPO
ORDER BY S.DS_SUBGRUPO, I.DS_ITEM CD_EMPRESA 1 NR_ORDEM
SELECT FIRST 1 COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA) CD_EMPRESA, COALESCE(O.NR_LOTEPRODUCAO,O.NR_ORDEMPRODUCAO) NR_ORDEM, O.CD_EMPRESA, E.NM_EMPRESA, O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, O.DT_INICIOPRODUCAO
FROM ORDEMPRODUCAO O
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
SELECT I.CD_FORNECEDOR1, O.CD_ITEM, I.DS_ITEM, LG.DS_LINHA||' - '||CG.DS_COLUNA DS_GRADE, SUM(GP.QT_GRADE) QT_GRADE
FROM ORDEMPRODUCAO O
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ORDEMPRODUCAOGRADE GP ON (GP.CD_EMPRESA = O.CD_EMPRESA
AND GP.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO
AND GP.CD_ITEM = O.CD_ITEM)
INNER JOIN LINHAGRADE LG ON (LG.CD_GRADE = GP.CD_GRADE
AND LG.NR_LINHA = GP.NR_LINHA)
INNER JOIN COLUNAGRADE CG ON (CG.CD_GRADE = GP.CD_GRADE
AND CG.NR_COLUNA = GP.NR_COLUNA)
WHERE COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA) = :CD_EMPRESA
AND COALESCE(O.NR_LOTEPRODUCAO,O.NR_ORDEMPRODUCAO) = :NR_ORDEM
GROUP BY I.CD_FORNECEDOR1, O.CD_ITEM, I.DS_ITEM, LG.DS_LINHA, CG.DS_COLUNA
ORDER BY I.CD_FORNECEDOR1, LG.DS_LINHA, CG.DS_COLUNA CD_EMPRESA 1 NR_ORDEM
SELECT I.CD_FORNECEDOR1, O.CD_ITEM, I.DS_ITEM, LG.DS_LINHA||' - '||CG.DS_COLUNA DS_GRADE, SUM(GP.QT_GRADE) QT_GRADE
FROM ORDEMPRODUCAO O
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ORDEMPRODUCAOGRADE GP ON (GP.CD_EMPRESA = O.CD_EMPRESA
AND GP.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO
AND GP.CD_ITEM = O.CD_ITEM)
INNER JOIN LINHAGRADE LG ON (LG.CD_GRADE = GP.CD_GRADE
AND LG.NR_LINHA = GP.NR_LINHA)
INNER JOIN COLUNAGRADE CG ON (CG.CD_GRADE = GP.CD_GRADE
AND CG.NR_COLUNA = GP.NR_COLUNA)
INNER JOIN ITEMORDEMPROD M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO)
INNER JOIN ITEM MI ON (MI.CD_ITEM = M.CD_MATERIAPRIMA
AND MI.CD_SUBGRUPO = 104)
WHERE COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA) = :CD_EMPRESA
AND COALESCE(O.NR_LOTEPRODUCAO,O.NR_ORDEMPRODUCAO) = :NR_ORDEM
GROUP BY I.CD_FORNECEDOR1, O.CD_ITEM, I.DS_ITEM, LG.DS_LINHA, CG.DS_COLUNA
ORDER BY I.CD_FORNECEDOR1, LG.DS_LINHA, CG.DS_COLUNA CD_EMPRESA 1 NR_ORDEM
Consulta
SELECT NR_LOTEPRODUCAO, CD_EMPRLOTEPROD
FROM ORDEMPRODUCAO
WHERE CD_EMPRESA = {iParametros[1]}
AND NR_ORDEMPRODUCAO = {iParametros[2]}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
COLUNAGRADE | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORDEMPROD | referenciada nas queries do layout |
LINHAGRADE | referenciada nas queries do layout |
ORDEMPRODUCAO | referenciada nas queries do layout |
ORDEMPRODUCAOGRADE | referenciada nas queries do layout |
ORDEMPRODUCAOPEDIDO | referenciada nas queries do layout |
ORDEMPRODUCAOPEDIDOGRADE | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
SUBGRUPO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOP005/ULOP005.pas - DFM:
source/LOP005/ULOP005.dfm - Package:
source/LOP005/LOP005.dpk