LOP008 — Layout LOP008
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, TAREFAITEM, LINHAGRADE, COLUNAGRADE (+4), filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, TP_DESPESA, JO, NR_TAREFA, CD_ITEM (+2).
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 , 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 L.DS_LINHA||' '||C.DS_COLUNA DS_LINHA, N.QT_GRADE
FROM ORDEMPRODUCAOGRADE N
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = N.CD_GRADE
AND L.NR_LINHA = N.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = N.CD_GRADE
AND C.NR_COLUNA = N.NR_COLUNA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
AND N.CD_ITEM = :CD_ITEM
ORDER BY L.NR_LINHA, C.NR_COLUNA CD_EMPRESA 1 NR_ORDEMPRODUCAO CD_ITEM
SELECT P.NR_PEDIDO, S.CD_PESSOA||' - '||S.NM_PESSOA||COALESCE(' - '||S.NM_FANTASIA,'') NM_PESSOA, SE.DS_ENDERECO||COALESCE(', '||SE.NR_ENDERECO,'')||COALESCE(' '||SE.DS_BAIRRO,'') DS_ENDERECO, SM.DS_MUNICIPIO||' - '||SM.SG_ESTADO DS_MUNICIPIO, P.DS_OBSERVACAO, COALESCE(SE.NR_FONE, SE.NR_FAX) NR_FONE, P.DT_ENTREGA, P.NR_PEDIDOFOR
FROM ORDEMPRODUCAOPEDIDO OP
INNER JOIN PEDIDO P ON (P.CD_EMPRESA = OP.CD_EMPRPED
AND P.TP_PEDIDO = OP.TP_PEDIDO
AND P.NR_PEDIDO = OP.NR_PEDIDO)
INNER JOIN PESSOA S ON (S.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA SE ON (SE.CD_PESSOA = P.CD_PESSOA
AND SE.CD_ENDERECO = P.CD_ENDERECO)
INNER JOIN MUNICIPIO SM ON (SM.CD_MUNICIPIO = SE.CD_MUNICIPIO)
WHERE OP.CD_EMPRESA = :CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO 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.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, 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, COALESCE(I.CD_FORNECEDOR1,I.CD_FORNECEDOR2) CD_FORNECEDOR, I.DS_ESPECIFICACAO, PROD.DS_RECEITA
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 PRODUCAO PROD ON (PROD.CD_EMPRESA = O.CD_EMPRPROD
AND PROD.CD_ITEM = O.CD_ITEM
AND PROD.TP_PRODUCAO = O.TP_PRODUCAO
AND PROD.NR_VERSAO = O.NR_VERSAO)
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.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, 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, COALESCE(I.CD_FORNECEDOR1,I.CD_FORNECEDOR2) CD_FORNECEDOR, I.DS_ESPECIFICACAO, PROD.DS_RECEITA
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 PRODUCAO PROD ON (PROD.CD_EMPRESA = O.CD_EMPRPROD
AND PROD.CD_ITEM = O.CD_ITEM
AND PROD.TP_PRODUCAO = O.TP_PRODUCAO
AND PROD.NR_VERSAO = O.NR_VERSAO)
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.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, 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, COALESCE(I.CD_FORNECEDOR1,I.CD_FORNECEDOR2) CD_FORNECEDOR, I.DS_ESPECIFICACAO, PROD.DS_RECEITA
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 PRODUCAO PROD ON (PROD.CD_EMPRESA = O.CD_EMPRPROD
AND PROD.CD_ITEM = O.CD_ITEM
AND PROD.TP_PRODUCAO = O.TP_PRODUCAO
AND PROD.NR_VERSAO = O.NR_VERSAO)
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.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, 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, COALESCE(I.CD_FORNECEDOR1,I.CD_FORNECEDOR2) CD_FORNECEDOR, I.DS_ESPECIFICACAO, PROD.DS_RECEITA
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 PRODUCAO PROD ON (PROD.CD_EMPRESA = O.CD_EMPRPROD
AND PROD.CD_ITEM = O.CD_ITEM
AND PROD.TP_PRODUCAO = O.TP_PRODUCAO
AND PROD.NR_VERSAO = O.NR_VERSAO)
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 |
|---|---|
COLUNAGRADE | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORDEMPROD | referenciada nas queries do layout |
LINHAGRADE | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMPRODUCAO | referenciada nas queries do layout |
ORDEMPRODUCAOGRADE | referenciada nas queries do layout |
ORDEMPRODUCAOPEDIDO | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PRODUCAO | referenciada nas queries do layout |
TAREFAITEM | referenciada nas queries do layout |
TAREFAPRODUCAO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOP008/ULOP008.pas - DFM:
source/LOP008/ULOP008.dfm - Package:
source/LOP008/LOP008.dpk