LOS030 — Layout LOS030
Visão Geral
Layout de impressão da família LOS (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em SERVICOORCAMENTO, com junção em MAQUINAORCAMENTO, EMPRESA, PESSOA, ENDERECOPESSOA, MUNICIPIO, ITEM (+12), filtrada por CD_EMPRESA, NR_ORCAMENTO, NR_MAQUINA, NR_MAQU, O, JO (+6).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Orcamento
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
// 5 - Máquinas da Ordem de Serviço
// 6 - Abertura ou Fechamento
]);
SQL Base
Ordem
SELECT O.CD_EMPRESA, E.NM_EMPRESA, P.NR_CNPJCPF, N.DS_ENDERECO||COALESCE(', '||N.NR_ENDERECO,'')||COALESCE(' - '||COALESCE(' - '||N.DS_BAIRRO, N.DS_COMPLEMENTO),'') DS_ENDERECO, U.DS_MUNICIPIO||' - '||U.SG_ESTADO DS_MUNICIPIO, N.NR_FONE, N.NR_FAX, N.NR_CEP, N.NR_INSCEST, O.NR_ORCAMENTO, O.DT_ORCAMENTO, O.NR_DIASENTREGA, P.DS_EMAIL, O.DS_CONTATO, P.CD_PESSOA, P.NM_PESSOA, O.DT_ENTREGA, M.NR_MAQUINA, M.DS_MAQUINA, M.DS_ESPECIFICACAO, M.DT_INISERVICO, M.DT_FIMSERVICO, M.QT_MAQUINA, M.VL_TOTAL, M.DS_OBSERVACAO, (
SELECT SUM(S.VL_TOTAL)
FROM SERVICOORCAMENTO S
WHERE S.CD_EMPRESA = O.CD_EMPRESA
AND S.NR_ORCAMENTO = O.NR_ORCAMENTO
AND S.NR_MAQUINA = M.NR_MAQUINA) VL_SERVICO
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
INNER JOIN EMPRESA E ON (O.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA P ON (O.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA N ON (N.CD_PESSOA = O.CD_PESSOA
AND N.CD_ENDERECO = O.CD_ENDERECO)
INNER JOIN MUNICIPIO U ON (U.CD_MUNICIPIO = N.CD_MUNICIPIO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO CD_EMPRESA 1 NR_ORCAMENTO 68
SELECT DISTINCT IT.DS_ITEM||' - '||IT.CD_ITEM DS_ITEM, P.NM_PESSOA NM_TECNICO, COALESCE(O.QT_SERVICO, O.PS_SERVICO) QT_SERVICO, O.VL_UNITARIO, O.VL_TOTAL, IT.SG_UNIDMED, IT.SG_UNIDALT, (
SELECT V_TIPO
FROM HABILITA_PESOQTDE(IT.CD_ITEM)) TIPO
FROM SERVICOORCAMENTO O
INNER JOIN ITEM IT ON (O.CD_ITEM = IT.CD_ITEM)
LEFT JOIN PESSOA P ON (P.CD_PESSOA = O.CD_PESSOA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
AND O.NR_MAQUINA = :NR_MAQUINA
ORDER BY IT.DS_ITEM CD_EMPRESA 1 NR_ORCAMENTO 68 NR_MAQUINA
SELECT SI.DS_ITEM DS_OBSITEM, ITEM.DS_ITEM, SI.QT_SERVICOITEM, O.CD_EMPRESA, O.NR_ORDEMSERVICO, O.CD_PESSOA, P.NM_PESSOA, P.NR_CNPJCPF, ED.DS_BAIRRO, ED.DS_COMPLEMENTO, ED.DS_ENDERECO||COALESCE(', '||ED.NR_ENDERECO, '') DS_ENDERECO, MUNICIPIO.DS_MUNICIPIO||'-'||MUNICIPIO.SG_ESTADO DS_MUNICIPIO, COALESCE(ED.NR_FONE,ED.NR_FAX) NR_FONE, ED.NR_CELULAR, ED.NR_FAX, O.NR_SERIEMAQUINA||' - '||MAQUINA.DS_MAQUINA NR_SERIEMAQUINA, MAQUINA.DS_MAQUINA, MAQUINA.DS_MODELO, O.DT_EMISSAO, O.CD_FORMAPAGTO, FORMAPAGTO.DS_FORMAPAGTO, O.CD_CONDPAGTO, CONDPAGTO.DS_CONDPAGTO, O.DT_VENCIMENTO, O.DT_ENTREGA, O.DS_OBSERVACAO, O.DS_ACESSORIOS, O.DS_TECNICA,-- OS.DT_INICIO DT_INISERVICO, CASE O.ST_ORDEMSERVICO WHEN 'A' THEN 'Aberta' ELSE 'Fechada' END DS_STATUS, PARM.DS_LOGOTIPO, O.DS_TECNICA DS_LAUDO, MAQUINA.DS_CODIGO, E.NM_EMPRESA, RE.NR_FONE NR_FONEEMP, O.DS_CONTATO, MARCA.DS_MARCA, MD.DS_MODELO, MAQUINA.DS_VOLTAGEM, O.NR_FROTA,-- V.NR_FROTA NR_FROTAVEICULO, --MO.DS_MODELOVEICULO, MA.DS_MARCAVEICULO, (
SELECT FIRST 1 OS.DT_INICIO
FROM ORDEMSERVHORA OS
WHERE OS.CD_EMPRESA = O.CD_EMPRESA
AND OS.NR_ORDEMSERVICO = O.NR_ORDEMSERVICO) DT_INISERVICO, (
SELECT FIRST 1 PT.NM_PESSOA
FROM ORDEMSERVHORA S
INNER JOIN PESSOA PT ON (PT.CD_PESSOA = S.CD_PESSOA)
WHERE S.CD_EMPRESA = O.CD_EMPRESA
AND S.NR_ORDEMSERVICO = O.NR_ORDEMSERVICO) NM_TECNICO, COALESCE(P.NM_PESSOA, ' ')||' - '||COALESCE(P.NM_FANTASIA, ' ') NM_RAZAOSOCIALFANTASIA
FROM ORDEMSERVICO O
INNER JOIN PESSOA P ON (P.CD_PESSOA = O.CD_PESSOA)
INNER JOIN ENDERECOPESSOA ED ON (ED.CD_PESSOA = O.CD_PESSOA
AND ED.CD_ENDERECO = O.CD_ENDERECO)
INNER JOIN MUNICIPIO ON (MUNICIPIO.CD_MUNICIPIO = ED.CD_MUNICIPIO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) --
LEFT JOIN ORDEMSERVHORA OS ON (OS.CD_EMPRESA = O.CD_EMPRESA --
AND OS.NR_ORDEMSERVICO = O.NR_ORDEMSERVICO)
LEFT JOIN SERVICOITEM SI ON (SI.CD_EMPRESA = O.CD_EMPRESA
AND SI.NR_ORDEMSERVICO = O.NR_ORDEMSERVICO)
INNER JOIN ITEM ON (ITEM.CD_ITEM = SI.CD_ITEM) --
LEFT JOIN VEICULO V ON (V.NR_PLACA = OS.NR_PLACA) --
LEFT JOIN MARCAVEICULO MA ON (MA.CD_MARCAVEICULO = V.CD_MARCAVEICULO) --
LEFT JOIN MODELOVEICULO MO ON (MO.CD_MARCAVEICULO = V.CD_MARCAVEICULO
AND -- MO.CD_MODELOVEICULO = V.CD_MODELOVEICULO)
LEFT JOIN RETORNA_DADOSCADASTRAIS (E.CD_PESSOA, NULL) RE ON (1=1)
LEFT JOIN MAQUINA ON (MAQUINA.NR_SERIEMAQUINA = O.NR_SERIEMAQUINA)
LEFT JOIN MARCA ON (MARCA.CD_MARCA = MAQUINA.CD_MARCA)
LEFT JOIN MODELOMAQUINA MD ON (MD.CD_MODELO = MAQUINA.CD_MODELO)
LEFT JOIN FORMAPAGTO ON (FORMAPAGTO.CD_FORMAPAGTO = O.CD_FORMAPAGTO)
LEFT JOIN CONDPAGTO ON (CONDPAGTO.CD_CONDPAGTO = O.CD_CONDPAGTO)
LEFT JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = O.CD_EMPRESA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA 1 NR_ORDEMSERVICO 102
SELECT O.CD_EMPRESA, E.NM_EMPRESA, P.NR_CNPJCPF, N.DS_ENDERECO||COALESCE(', '||N.NR_ENDERECO,'')||COALESCE(' - '||COALESCE(' - '||N.DS_BAIRRO, N.DS_COMPLEMENTO),'') DS_ENDERECO, U.DS_MUNICIPIO||' - '||U.SG_ESTADO DS_MUNICIPIO, N.NR_FONE, N.NR_FAX, N.NR_CEP, N.NR_INSCEST, O.NR_ORCAMENTO, O.DT_ORCAMENTO, O.NR_DIASENTREGA, P.DS_EMAIL, O.DS_CONTATO, P.CD_PESSOA, P.NM_PESSOA, O.DT_ENTREGA, M.NR_MAQUINA, M.DS_MAQUINA, M.DS_ESPECIFICACAO, M.DT_INISERVICO, M.DT_FIMSERVICO, M.QT_MAQUINA, M.DS_OBSERVACAO
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
INNER JOIN EMPRESA E ON (O.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA P ON (O.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA N ON (N.CD_PESSOA = O.CD_PESSOA
AND N.CD_ENDERECO = O.CD_ENDERECO)
INNER JOIN MUNICIPIO U ON (U.CD_MUNICIPIO = N.CD_MUNICIPIO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO CD_EMPRESA 1 NR_ORCAMENTO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MAQUINA | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MARCA | referenciada nas queries do layout |
MARCAVEICULO | referenciada nas queries do layout |
MODELOMAQUINA | referenciada nas queries do layout |
MODELOVEICULO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORCAMENTO | referenciada nas queries do layout |
ORDEMSERVHORA | referenciada nas queries do layout |
ORDEMSERVICO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
SERVICOITEM | referenciada nas queries do layout |
SERVICOORCAMENTO | referenciada nas queries do layout |
VEICULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS030/ULOS030.pas - DFM:
source/LOS030/ULOS030.dfm - Package:
source/LOS030/LOS030.dpk