Pular para o conteúdo principal

LOT002 — Layout LOT002

Visão Geral​

Layout de impressão da família LOT (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.

Descrição​

Consulta baseada em LOTEPRODUCAO, com junção em ITEM, LOTEPRODUCAOMP, USUARIO, PESSOA, PARMFATUR, ITEMPEDIDO (+1), filtrada por CD_EMPRESA, NR_LOTE, CD_ITEM.

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Lote
// 3 - Cd Item
// 4 - Path Servidor
// 5 - Visualiza -> V ou Imprime -> I
]);

SQL Base​

Pedido​

SELECT L.CD_EMPRESA, 'ALUMINIO' DS_MATERIAL, L.NR_LOTE, L.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED UNIDADE , L.QT_PRODUCAO, LM.CD_MATERIAPRIMA, IM.DS_ITEM DS_MATERIAPRIMA, LM.QT_MATERIAPRIMA, CASE WHEN (L.NR_LOTEORIGEM IS NULL
OR L.NR_LOTEORIGEM = -1) THEN 'PA' ELSE 'SA' END DS_TPLOTE, I.SG_UNIDMED, IM.SG_UNIDMED SG_UNIDMEDMATPRIMA, L.DT_LOTE, UF.CD_USUARIO, COALESCE(PUF.NM_PESSOA, UF.NM_USUARIO) NM_USUARIOFECHAMENTO, L.DT_FECHAMENTO, L.CD_USUARIOLANCTO, COALESCE(PUA.NM_PESSOA, UA.NM_USUARIO) NM_USUARIOABERTURA, L.DS_OBSERVACAO, PF.DS_LOGOTIPO, L.NR_CARRO, CASE WHEN L.TP_RUA CONTAINING 'R1A' THEN 'X' ELSE '' END ST_RUA1A, CASE WHEN L.TP_RUA CONTAINING 'R1B' THEN 'X' ELSE '' END ST_RUA1B, CASE WHEN L.TP_RUA CONTAINING 'R1C' THEN 'X' ELSE '' END ST_RUA1C, CASE WHEN L.TP_RUA CONTAINING 'R1D' THEN 'X' ELSE '' END ST_RUA1D, CASE WHEN L.TP_RUA CONTAINING 'R2A' THEN 'X' ELSE '' END ST_RUA2A, CASE WHEN L.TP_RUA CONTAINING 'R2B' THEN 'X' ELSE '' END ST_RUA2B, CASE WHEN L.TP_RUA CONTAINING 'R2C' THEN 'X' ELSE '' END ST_RUA2C, CASE WHEN L.TP_RUA CONTAINING 'R2D' THEN 'X' ELSE '' END ST_RUA2D, CASE WHEN L.TP_RUA CONTAINING 'R3A' THEN 'X' ELSE '' END ST_RUA3A, CASE WHEN L.TP_RUA CONTAINING 'R3B' THEN 'X' ELSE '' END ST_RUA3B, CASE WHEN L.TP_RUA CONTAINING 'R3C' THEN 'X' ELSE '' END ST_RUA3C, CASE WHEN L.TP_RUA CONTAINING 'R3D' THEN 'X' ELSE '' END ST_RUA3D, CASE L.ST_PRIORIDADE WHEN 'A' THEN 'Amarelo' WHEN 'V' THEN 'Verde' WHEN 'B' THEN 'Vermelho' WHEN 'S' THEN 'Sem Prioridade' END DS_ST_PRIORIDADE
FROM LOTEPRODUCAO L
INNER JOIN ITEM I ON (I.CD_ITEM = L.CD_ITEM)
INNER JOIN LOTEPRODUCAOMP LM ON (LM.CD_EMPRESA = L.CD_EMPRESA
AND LM.NR_LOTE = L.NR_LOTE
AND LM.CD_ITEM = L.CD_ITEM)
INNER JOIN ITEM IM ON (IM.CD_ITEM = LM.CD_MATERIAPRIMA)
LEFT JOIN USUARIO UA ON (UA.CD_USUARIO = L.CD_USUARIOLANCTO)
LEFT JOIN PESSOA PUA ON (PUA.CD_PESSOA = UA.CD_PESSOA)
LEFT JOIN USUARIO UF ON (UF.CD_USUARIO = L.CD_USUARIOFECHAMENTO)
LEFT JOIN PESSOA PUF ON (PUF.CD_PESSOA = UF.CD_PESSOA)
INNER JOIN PARMFATUR PF ON (L.CD_EMPRESA = PF.CD_EMPRESA)
WHERE L.CD_EMPRESA = :CD_EMPRESA
AND L.NR_LOTE = :NR_LOTE
AND L.CD_ITEM = :CD_ITEM
ORDER BY LM.CD_MATERIAPRIMA CD_EMPRESA 1 NR_LOTE CD_ITEM
SELECT P.CD_EMPRESA, P.CD_PESSOA, P.NR_PEDIDO, P.TP_PEDIDO, P.DT_ENTREGA,CP.NR_LOTE
FROM PEDIDO P
INNER JOIN ITEMPEDIDO IP ON (IP.CD_EMPRESA = P.CD_EMPRESA
AND IP.NR_PEDIDO = P.NR_PEDIDO
AND IP.TP_PEDIDO = P.TP_PEDIDO)
INNER JOIN CONTROLEPRODUCAO CP ON (IP.CD_EMPRESA = CP.CD_EMPRESA
AND IP.NR_PEDIDO = CP.NR_PEDIDO
AND IP.TP_PEDIDO = CP.TP_PEDIDO
AND IP.CD_ITEM = CP.CD_ITEM
AND CP.TP_CONTROLE = 'P'
AND CP.ST_CONTROLE = 'N')
WHERE P.TP_PEDIDO = 'S'
AND P.CD_EMPRESA = :CD_EMPRESA
AND CP.NR_LOTE = :NR_LOTE
AND IP.CD_ITEM = :CD_ITEM
AND P.DT_ENTREGA is not null
AND P.ST_PEDIDO IN ('N', 'P') CD_EMPRESA NR_LOTE CD_ITEM

Tabelas Utilizadas​

TabelaUso
CONTROLEPRODUCAOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
LOTEPRODUCAOreferenciada nas queries do layout
LOTEPRODUCAOMPreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOT002/ULOT002.pas
  • DFM: source/LOT002/ULOT002.dfm
  • Package: source/LOT002/LOT002.dpk