LOP016 — Layout LOP016
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 ORDEMPRODUCAOPEDIDO, EMPRESA, PESSOA, RETORNA_DADOSCADASTRAIS, MUNICIPIO, ITEMORDEMPROD (+15), filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, DOM_, DT_, O, JO (+23).
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
tabProducao #1
SELECT DISTINCT O.NR_LOTEPRODUCAO, COALESCE(ORP.NR_ORDEMPRODUCAO, O.NR_ORDEMPRODUCAO) NR_ORDEMLOTE, --EMPRESA-- O.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, PE.NR_CNPJCPF NR_CNPJEMPRESA, EE.NR_INSCEST NR_INSCESTEMPRESA, EE.NR_INSCMUN NR_INSCMUNEMPRESA, PE.DS_SITE DS_SITEEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, EE.DS_ENDERECO DS_ENDEMPRESA, EE.NR_ENDERECO NR_ENDEMPRESA, EE.NR_CEP NR_CEPEMPRESA, EE.DS_BAIRRO DS_BAIRROEMPRESA, EE.DS_COMPLEMENTO DS_COMPEMPRESA, ME.DS_MUNICIPIO DS_MUNEMPRESA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, PARM.DS_LOGOTIPO, --PRODUTO-- COALESCE(IOR.CD_ITEM,I.CD_ITEM) CD_ITEM, COALESCE(IOR.DS_ITEM,I.DS_ITEM) DS_ITEM, COALESCE(IOR.SG_UNIDMED, I.SG_UNIDMED) SG_UNIDMED, COALESCE(MAO.DS_MARCA, MA.DS_MARCA)DS_MARCA, COALESCE(IOR.CD_GRADE,I.CD_GRADE) CD_GRADE, COALESCE(GAO.DS_GRADE, GA.DS_GRADE) DS_GRADE, COALESCE(ORP.QT_PRODUZIDA, O.QT_PRODUZIDA) QT_ITEM , MO.DS_ESPECIFICACAO DS_OBSERVACAOPROD, COALESCE(IOR.CD_CODIGOBARRA, I.CD_CODIGOBARRA) CD_CODIGOBARRA, COALESCE(IOR.CD_FORNECEDOR1, I.CD_FORNECEDOR1) CD_FORNECEDOR1, COALESCE(COALESCE(IOR.PS_LIQUIDOEMB,0) + COALESCE(IOR.PS_EMBALAGEM,0), COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0)) PS_ITEM, (COALESCE(ORP.QT_PRODUZIDA, O.QT_PRODUZIDA) * COALESCE(COALESCE(IOR.PS_LIQUIDOEMB,0) + COALESCE(IOR.PS_EMBALAGEM,0), COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0))) PS_TOTITEM, COALESCE(IOR.DS_ESPECIFICACAO, I.DS_ESPECIFICACAO) DS_OBSERVACAO, PP.NR_PEDIDO, case PP.TP_PAGTOFRETE WHEN '1' THEN 'Remetente - CIF' WHEN '2' THEN 'Destinatário - FOB' WHEN '3' THEN 'Outros' END TP_PAGTOFRETE, PPP.NM_PESSOA NM_PESSOAPED, PPP.CD_PESSOA CD_PESSOAPED, PPP.NR_CNPJCPF NR_CNPJCPFPED, PPP.DS_EMAIL DS_EMAILPED, EPP.DS_ENDERECO DS_ENDPESPED, EPP.NR_ENDERECO NR_ENDPESPED, EPP.NR_CEP NR_CEPPESPED, EPP.DS_BAIRRO DS_BAIRROPESPED, EPP.DS_COMPLEMENTO DS_COMPPESPED, MPP.DS_MUNICIPIO DS_MUNPESPED, EPP.NR_FONE NR_FONEPESPED, EPP.NR_FAX NR_FAXPESPED, PP.NR_PEDIDO NR_PEDIDO, PPV.CD_PESSOA||' - '||PPV.NM_PESSOA NM_VENDPED, ORP.NR_ORDEMPRODUCAO NR_ORDEMPED, MPP.SG_ESTADO, --RODAPÉ (DADOS DO PEDIDO)-- PP.CD_CONDPAGTO CD_CONDPAGTOPED, CAP.DS_CONDPAGTO DS_CONDPAGTOPED, PARM.DS_MSGPEDIDO DS_MENSAGEMPED, RDCP.DS_ENDCOMPLETO DS_ENDCOBRANCAPED, RDEP.DS_ENDCOMPLETO DS_ENDENTREGAPED, FPP.DS_FORMAPAGTO DS_FORMAPAGTOPED, CAST((
SELECT COUNT (OPPP.NR_PEDIDO)
FROM ORDEMPRODUCAO ORPP
LEFT JOIN ORDEMPRODUCAOPEDIDO OPPP ON (OPPP.CD_EMPRESA = ORPP.CD_EMPRESA
AND OPPP.NR_ORDEMPRODUCAO = ORPP.NR_ORDEMPRODUCAO)
WHERE ORPP.CD_EMPRESA = ORP.CD_EMPRESA
AND ORPP.NR_ORDEMPRODUCAO = ORP.NR_ORDEMPRODUCAO ) AS DOM_INTEGER) QT_PEDIDOS, O.CD_USUARIO||' - '||US.NM_USUARIO CD_USUARIO, O.DT_REGISTRO, O.DT_INICIOPRODUCAO, RLOP.O_DS_LOTE NR_LOTES
FROM ORDEMPRODUCAO O
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS (PE.CD_PESSOA, NULL) EE ON (1=1)
LEFT JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO)
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
LEFT JOIN USUARIO US ON (US.CD_USUARIO = O.CD_USUARIO) --ORCAMENTO--
LEFT JOIN MAQUINAORCAMENTO MO ON (MO.CD_EMPRESA = O.CD_EMPRESA
AND MO.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO) --PEDIDOS DO LOTE DE PRODUCAO--
LEFT JOIN ORDEMPRODUCAO ORP ON (ORP.CD_EMPRLOTEPROD = O.CD_EMPRLOTEPROD
AND ORP.NR_LOTEPRODUCAO = O.NR_LOTEPRODUCAO)
LEFT JOIN ORDEMPRODUCAOPEDIDO OPP ON (OPP.CD_EMPRESA = ORP.CD_EMPRESA
AND OPP.NR_ORDEMPRODUCAO = ORP.NR_ORDEMPRODUCAO)
LEFT JOIN PEDIDO PP ON (PP.CD_EMPRESA = OPP.CD_EMPRPED
AND PP.NR_PEDIDO = OPP.NR_PEDIDO
AND PP.TP_PEDIDO = OPP.TP_PEDIDO)
LEFT JOIN ITEMPEDIDO IPP ON (IPP.CD_EMPRESA = PP.CD_EMPRESA
AND IPP.NR_PEDIDO = PP.NR_PEDIDO
AND IPP.CD_ITEM = ORP.CD_ITEM)
LEFT JOIN PESSOA PPP ON (PPP.CD_PESSOA = PP.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EPP ON (PP.CD_PESSOA = EPP.CD_PESSOA
AND PP.CD_ENDERECO = EPP.CD_ENDERECO)
LEFT JOIN MUNICIPIO MPP ON (MPP.CD_MUNICIPIO = EPP.CD_MUNICIPIO)
LEFT JOIN PESSOA PPV ON (PPV.CD_PESSOA = PP.CD_VENDEDOR)
LEFT JOIN CONDPAGTO CAP ON (CAP.CD_CONDPAGTO = PP.CD_CONDPAGTO)
LEFT JOIN FORMAPAGTO FPP ON (FPP.CD_FORMAPAGTO = PP.CD_FORMAPAGTO)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PP.CD_PESSOA,'B') RDCP ON (1 = 1)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PP.CD_PESSOA,'E') RDEP ON (1 = 1)
LEFT JOIN RETORNA_LOTEORDEMPROD(coalesce(ORP.CD_EMPRPROD, o.CD_EMPRPROD), coalesce(ORP.NR_ORDEMPRODUCAO, o.NR_ORDEMPRODUCAO), COALESCE(ORP.CD_ITEM, O.CD_ITEM)) RLOP ON (1=1)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = O.CD_EMPRESA) --ITEM ORDEM PRODUCAO--
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN MARCA MA ON (MA.CD_MARCA = I.CD_MARCA)
LEFT JOIN GRADE GA ON (GA.CD_GRADE = I.CD_GRADE) --ITEM ORDEM PRODUCAO DO LOTE--
LEFT JOIN ITEM IOR ON (ORP.CD_ITEM = IOR.CD_ITEM)
LEFT JOIN MARCA MAO ON (MAO.CD_MARCA = IOR.CD_MARCA)
LEFT JOIN GRADE GAO ON (GAO.CD_GRADE = IOR.CD_GRADE)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO --
AND IO.TP_DESPESA = 'M' CD_EMPRESA NR_ORDEMPRODUCAO
SELECT O.CD_MATERIAPRIMA, I.DS_ITEM DS_MATPRIMA, O.QT_ITEMPRODUCAO, RLOP.O_DS_LOTE NR_LOTES, O.CD_EMPRESA, O.NR_ORDEMPRODUCAO NR_ORDEMLOTE
FROM ITEMORDEMPROD O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_MATERIAPRIMA)
LEFT JOIN RETORNA_LOTEORDEMPROD(O.CD_EMPRESA, O.NR_ORDEMPRODUCAO, O.CD_MATERIAPRIMA) RLOP ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE CD_EMPRESA 1 NR_ORDEMLOTE
SELECT O.CD_ITEM, O.QT_GRADE, L.DS_LINHA, C.DS_COLUNA, G.DS_GRADE
FROM ORDEMPRODUCAOGRADE O
INNER JOIN GRADE G ON (G.CD_GRADE = O.CD_GRADE)
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = G.CD_GRADE
AND L.NR_LINHA = O.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = G.CD_GRADE
AND C.NR_COLUNA = O.NR_COLUNA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE CD_EMPRESA 1 NR_ORDEMLOTE
SELECT O.CD_MATERIAPRIMA, I.DS_ITEM DS_MATPRIMA, O.QT_ITEMPRODUCAO
FROM ITEMORDEMPROD O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_MATERIAPRIMA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE CD_EMPRESA 1 NR_ORDEMLOTE
SELECT O.CD_ITEM, O.QT_GRADE, L.DS_LINHA, C.DS_COLUNA, G.DS_GRADE
FROM ORDEMPRODUCAOGRADE O
INNER JOIN GRADE G ON (G.CD_GRADE = O.CD_GRADE)
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = G.CD_GRADE
AND L.NR_LINHA = O.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = G.CD_GRADE
AND C.NR_COLUNA = O.NR_COLUNA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE CD_EMPRESA 1 NR_ORDEMLOTE
SELECT LS.CD_ITEM, LS.QT_LOTE, LS.NR_LOTE, LS.DT_FABRICACAO, LS.DT_VALIDADE, LS.NR_DOCUMENTO
FROM ITEMORDEMPROD O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_MATERIAPRIMA)
INNER JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = O.CD_EMPRESA
AND LS.CD_ITEM = O.CD_MATERIAPRIMA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMLOTE
AND O.CD_MATERIAPRIMA = :CD_MATERIAPRIMA
AND LS.QT_LOTE > 0
AND LS.DT_VALIDADE >= CURRENT_DATE
ORDER BY LS.DT_VALIDADE CD_EMPRESA 1 NR_ORDEMLOTE CD_MATERIAPRIMA
tabProducao #2
{frmLOP016}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
COLUNAGRADE | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
GRADE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORDEMPROD | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
LINHAGRADE | referenciada nas queries do layout |
LOTESEMENTE | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MARCA | 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 |
PARMFATUR | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
RETORNA_LOTEORDEMPROD | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOP016/ULOP016.pas - DFM:
source/LOP016/ULOP016.dfm - Package:
source/LOP016/LOP016.dpk