Pular para o conteúdo principal

LOB001 — Layout LOB001

Visão Geral​

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

Descrição​

Consulta baseada em ROMANEIO, com junção em EMPRESA, PESSOA, RETORNA_ENDERECO, ENDERECOPESSOA, MUNICIPIO, ITEM (+1), filtrada por CD_EMPRESA, NR_ROMANEIO, JO, CD_ITEM, NR_ORDEMSERVICO, O (+8).

Chamada​

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

SQL Base​

tabOBRA​

SELECT E.CD_EMPRESA, E.NM_EMPRESA, EPE.DS_ENDERECO||','||COALESCE(EPE.NR_ENDERECO,'Sem N°')||' - '||COALESCE(EPE.DS_BAIRRO,'Sem Bairro')||COALESCE(' ('||EPE.DS_COMPLEMENTO||')','') DS_ENDERECO, EPE.NR_ENDERECO, EPE.NR_CEP, EPE.NR_FONE, EPE.NR_FAX, PE.NR_CNPJCPF, EPE.NR_INSCEST, PC.CD_PESSOA, PC.NM_PESSOA, EPC.DS_ENDERECO||','||COALESCE(EPC.NR_ENDERECO,'Sem N°')||' - '||COALESCE(EPC.DS_BAIRRO,'Sem Bairro')||COALESCE(' ('||EPC.DS_COMPLEMENTO||')','') DS_ENDERECOCLI, EPC.NR_ENDERECO NR_ENDERECOCLI, EPC.NR_CEP NR_CEPCLI, EPC.NR_FONE NR_FONECLI, EPC.NR_FAX NR_FAXCLI, PC.NR_CNPJCPF NR_CNPJCPFCLI, R.DS_OBSERVACAO, M.CD_MUNICIPIO, M.DS_MUNICIPIO||' - '||M.SG_ESTADO DS_MUNICIPIOCLI, R.VL_CONTRATO, R.NR_CONTRATOOBRA, CASE WHEN R.ST_ROMANEIO = 'M' THEN 'Aguardando Material' WHEN R.ST_ROMANEIO = 'A' THEN 'Em Andamento' WHEN R.ST_ROMANEIO = 'F' THEN 'Fechada' WHEN R.ST_ROMANEIO = 'V' THEN 'Válida' ELSE 'Cancelada' END ST_ROMANEIO, CAST(R.DT_ROMANEIO + CAST(COALESCE(R.HR_ROMANEIO,'00:00:00')AS TIME) AS TIMESTAMP) DT_ROMANEIO, R.DT_PREVISTA, R.DS_OBSROMANEIO DS_OBSESPECIFICACAO, R.NR_ROMANEIO, ME.CD_MUNICIPIO CD_MUNICIPIOEMP, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICIPIOEMP
FROM ROMANEIO R
INNER JOIN EMPRESA E ON(E.CD_EMPRESA = R.CD_EMPRESA)
INNER JOIN PESSOA PE ON(PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_ENDERECO(E.CD_PESSOA, NULL) REE ON(1=1)
INNER JOIN ENDERECOPESSOA EPE ON(EPE.CD_ENDERECO = REE.O_CD_ENDERECO
AND EPE.CD_PESSOA = E.CD_PESSOA)
INNER JOIN MUNICIPIO ME ON(ME.CD_MUNICIPIO = EPE.CD_MUNICIPIO)
INNER JOIN PESSOA PC ON(PC.CD_PESSOA = R.CD_PESSOA)
LEFT JOIN RETORNA_ENDERECO(PC.CD_PESSOA, NULL) REC ON(1=1)
INNER JOIN ENDERECOPESSOA EPC ON(EPC.CD_ENDERECO = REC.O_CD_ENDERECO
AND EPC.CD_PESSOA = R.CD_PESSOA)
INNER JOIN MUNICIPIO M ON(M.CD_MUNICIPIO = EPC.CD_MUNICIPIO)
WHERE R.CD_EMPRESA = :CD_EMPRESA
AND R.NR_ROMANEIO = :NR_ROMANEIO CD_EMPRESA NR_ROMANEIO
SELECT S.CD_ITEM, I.DS_ITEM, S.CD_MOVIMENTACAO, S.CD_TABPRECO, S.CD_VENDEDOR, S.QT_SERVICOITEM, S.PS_SERVICOITEM, S.VL_UNITARIO, S.VL_TOTAL, S.VL_DESCONTO
FROM SERVICOITEM S
INNER JOIN ITEM I ON (I.CD_ITEM = S.CD_ITEM)
WHERE S.CD_EMPRESA = :CD_EMPRESA
AND S.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA NR_ORDEMSERVICO
SELECT O.CD_SERVICO, I.DS_ITEM, O.CD_MOVIMENTACAO, O.CD_TABPRECO, O.DT_ABERTURA, O.DT_FECHAMENTO, O.QT_SERVICO, O.VL_UNITARIO, O.VL_TOTAL, O.VL_DESCONTO, O.CD_EMPRESA, O.NR_ORDEMSERVICO
FROM ORDEMSERVITEM O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_SERVICO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA NR_ORDEMSERVICO
SELECT OS.CD_EMPRESA, OS.NR_ORDEMSERVICO, CASE OS.ST_ORDEMSERVICO WHEN 'A' THEN 'Aberta' WHEN 'B' THEN 'Bloqueada' WHEN 'F' THEN 'Fechada' WHEN 'G' THEN 'Gerado Pedido' else 'Cancelada' END DS_STATUS, OS.NR_SERIEMAQUINA, M.DS_MAQUINA
FROM ORDEMSERVICO OS
LEFT JOIN MAQUINA M ON (M.NR_SERIEMAQUINA = OS.NR_SERIEMAQUINA)
WHERE OS.CD_EMPRESAROMANEIO = :CD_EMPRESAROMANEIO
AND OS.NR_ROMANEIO = :NR_ROMANEIO CD_EMPRESAROMANEIO NR_ROMANEIO
SELECT OH.CD_PESSOA, P.NM_PESSOA, OH.DT_INICIO, OH.DT_FIM, OH.QT_HORAS
FROM ORDEMSERVHORA OH
LEFT JOIN PESSOA P ON (P.CD_PESSOA = OH.CD_PESSOA)
WHERE OH.CD_EMPRESA = :CD_EMPRESA
AND OH.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
AND OH.CD_SERVICO = :CD_SERVICO CD_EMPRESA NR_ORDEMSERVICO CD_SERVICO

Tabelas Utilizadas​

TabelaUso
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
MAQUINAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMSERVHORAreferenciada nas queries do layout
ORDEMSERVICOreferenciada nas queries do layout
ORDEMSERVITEMreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_ENDERECOreferenciada nas queries do layout
ROMANEIOreferenciada nas queries do layout
SERVICOITEMreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOB001/ULOB001.pas
  • DFM: source/LOB001/ULOB001.dfm
  • Package: source/LOB001/LOB001.dpk