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
| Tabela | Uso |
|---|---|
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MAQUINA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMSERVHORA | referenciada nas queries do layout |
ORDEMSERVICO | referenciada nas queries do layout |
ORDEMSERVITEM | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_ENDERECO | referenciada nas queries do layout |
ROMANEIO | referenciada nas queries do layout |
SERVICOITEM | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOB001/ULOB001.pas - DFM:
source/LOB001/ULOB001.dfm - Package:
source/LOB001/LOB001.dpk