LOS037 — Layout LOS037
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 ORDEMSERVHORA, com junção em PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, VEICULO, MARCAVEICULO (+10), filtrada por CD_EMPRESA, NR_ORDEMSERVICO, ST_ORDEMSERVICO, O, JO, CD_PESSOA (+17).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Orcamento
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
// 5 - Origem
// 6 -
]);
SQL Base
tabORDEMLOCACAO
SELECT O.CD_EMPRESA, O.NR_ORDEMSERVICO, O.ST_ORDEMSERVICO, O.DT_EMISSAO, O.DT_ENTREGA DT_PREVISTA, O.DT_FECHAMENTO, O.DT_VENCIMENTO, O.CD_PESSOA, P.NM_PESSOA, P.NR_CNPJCPF, ED.DS_BAIRRO, ED.DS_COMPLEMENTO, ED.DS_ENDERECO||COALESCE(', '||ED.NR_ENDERECO, '')||COALESCE(', '||ED.DS_BAIRRO,'')|| '. Cidade: '||MUNICIPIO.DS_MUNICIPIO||'-'||MUNICIPIO.SG_ESTADO DS_ENDERECO, COALESCE(ED.NR_FONE,ED.NR_FAX,'')||COALESCE(' Cel.:'||ED.NR_CELULAR,'') NR_FONES, O.CD_FORMAPAGTO, FORMAPAGTO.DS_FORMAPAGTO, O.CD_CONDPAGTO, CONDPAGTO.DS_CONDPAGTO, --Maquina O.NR_SERIEMAQUINA||' - '||MAQUINA.DS_MAQUINA NR_SERIEMAQUINA, MAQUINA.DS_MAQUINA DS_EQUIPAMENTO, MAQUINA.DS_MODELO, MAQUINA.NR_PLACA, V.NR_ANO, MAQUINA.DS_MAQUINA, O.DS_OBSERVACAO, O.DS_ACESSORIOS, O.DS_TECNICA DS_LAUDOTEC, O.DS_DEFEITO DS_PROBLEMA, CASE O.ST_ORDEMSERVICO WHEN 'A' THEN 'Aberta' WHEN 'F' THEN 'Fechada' ELSE 'Bloqueada' END DS_STATUS, PARM.DS_LOGOTIPO, MAQUINA.DS_CODIGO, E.NM_EMPRESA, RE.NR_FONE NR_FONEEMP, RE.DS_ENDERECO||COALESCE(', Nº '||RE.nr_endereco,'') DS_ENDERECOEMP, RE.DS_BAIRRO||RE.DS_MUNICIPIO DS_BAIRROMEMP, RE.DS_BAIRRO DS_BAIRROEMP, RE.DS_MUNICIPIO DS_MUNICIPIOEMP, RE.DS_EMAIL DS_EMAILEMP, RE.DS_SITE DS_SITEEMP, 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 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, CASE O.ST_ORDEMSERVICO WHEN 'A' THEN 'Comprovante de Recebimento' WHEN 'F' THEN 'Comprovante de Entrega' END DS_VIACLIENTE, IIF(O.ST_ORDEMSERVICO = 'A', CAST(O.DT_EMISSAO AS DOM_TIMESTAMP), O.DT_FECHAMENTO) DT_VIACLIENTE
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 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 NR_ORDEMSERVICO
SELECT 'Serviços' DS_TIPO, OSS.CD_SERVICO, ITEM.DS_ITEM, OSS.QT_SERVICO QT_QTDE, OSS.VL_UNITARIO, OSS.VL_TOTAL, OSS.VL_DESCONTO, OSS.VL_TOTAL - COALESCE( OSS.VL_DESCONTO,0) VL_LIQUIDO
FROM ORDEMSERVITEM OSS
INNER JOIN ITEM ON (ITEM.CD_ITEM = OSS.CD_SERVICO)
WHERE OSS.CD_EMPRESA = :CD_EMPRESA
AND OSS.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
UNION ALL
SELECT 'Peças' DS_TIPO, S.CD_ITEM, I.DS_ITEM, IIF(TP.TP_UNIDADE = 'P', COALESCE(S.PS_SERVICOITEM, S.QT_SERVICOITEM), COALESCE(S.QT_SERVICOITEM, S.PS_SERVICOITEM))QT_QTDE, S.VL_UNITARIO, S.VL_TOTAL, S.VL_DESCONTO, (S.VL_TOTAL - COALESCE(S.VL_DESCONTO, 0)) VL_LIQUIDO
FROM SERVICOITEM S
INNER JOIN ITEM I ON (I.CD_ITEM = S.CD_ITEM)
INNER JOIN TIPOCALCULO TP on (TP.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
WHERE S.CD_EMPRESA = :CD_EMPRESA
AND S.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA NR_ORDEMSERVICO CD_EMPRESA NR_ORDEMSERVICO
Consulta
SELECT O.ST_ORDEMSERVICO
FROM ORDEMSERVICO O
WHERE O.CD_EMPRESA = {Nulo(iParametros[1],}I{)}
AND O.NR_ORDEMSERVICO = {Nulo(iParametros[2],}I{)}
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 |
ITEM | referenciada nas queries do layout |
MAQUINA | 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 |
ORDEMSERVHORA | referenciada nas queries do layout |
ORDEMSERVICO | referenciada nas queries do layout |
ORDEMSERVITEM | 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 |
TIPOCALCULO | referenciada nas queries do layout |
VEICULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS037/ULOS037.pas - DFM:
source/LOS037/ULOS037.dfm - Package:
source/LOS037/LOS037.dpk