LOS029 — Layout LOS029
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 (+11), filtrada por CD_EMPRESA, NR_ORDEMSERVICO, O, JO, CD_PESSOA, CD_ENDERECO (+15).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr OrdemServico
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);
SQL Base
Ordemservico
SELECT 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, '')|| '. Cidade: '||MUNICIPIO.DS_MUNICIPIO||'-'||MUNICIPIO.SG_ESTADO DS_ENDERECO, COALESCE(ED.NR_FONE,ED.NR_FAX) NR_FONE, ED.NR_CELULAR, 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.DS_OBSERVACAO, O.DS_ACESSORIOS, O.DS_TECNICA, 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, RO.O_NR_LINHA, 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, COALESCE(P.NM_PESSOA, ' ')||' - '||COALESCE(P.NM_FANTASIA, ' ') NM_RAZAOSOCIALFANTASIA, TOT.O_VL_TOTAL, TOT.O_VL_DESCONTO, TOT.O_VL_LIQUIDO
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)
LEFT JOIN RETORNA_LINHAS(2) RO ON (1=1)
LEFT JOIN VIEW_TOTLOS003(O.CD_EMPRESA, O.NR_ORDEMSERVICO) TOT ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA 1 NR_ORDEMSERVICO 102
SELECT ORDEMSERVITEM.CD_SERVICO, ITEM.DS_ITEM, ORDEMSERVITEM.QT_SERVICO, ORDEMSERVITEM.VL_UNITARIO, ORDEMSERVITEM.VL_TOTAL, ORDEMSERVITEM.VL_DESCONTO, ORDEMSERVITEM.VL_TOTAL - COALESCE(ORDEMSERVITEM.VL_DESCONTO,0) VL_LIQUIDO, ORDEMSERVITEM.CD_EMPRESA, ORDEMSERVITEM.NR_ORDEMSERVICO, ORDEMSERVITEM.DT_ABERTURA, ORDEMSERVITEM.NR_SERVICO
FROM ORDEMSERVITEM
INNER JOIN ITEM ON (ITEM.CD_ITEM = ORDEMSERVITEM.CD_SERVICO)
WHERE ORDEMSERVITEM.CD_EMPRESA = :CD_EMPRESA
AND ORDEMSERVITEM.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA 1 NR_ORDEMSERVICO
SELECT S.CD_EMPRESA, S.NR_ORDEMSERVICO, S.CD_ITEM, I.DS_ITEM, S.CD_TABPRECO, S.CD_MOVIMENTACAO, S.QT_SERVICOITEM, S.PS_SERVICOITEM, S.VL_UNITARIO, S.VL_TOTAL, S.VL_DESCONTO, (S.VL_TOTAL - COALESCE(S.VL_DESCONTO, 0)) VL_LIQUIDO, I.CD_FORNECEDOR1
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
ORDER BY S.CD_ITEM CD_EMPRESA 1 NR_ORDEMSERVICO
SELECT O.DT_ABERTURA, O.DT_FECHAMENTO, H.KM_INICIAL, H.KM_FINAL
FROM ORDEMSERVITEM O
LEFT JOIN ORDEMSERVHORA H ON (H.CD_EMPRESA = O.CD_EMPRESA
AND H.NR_ORDEMSERVICO = O.NR_ORDEMSERVICO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
AND O.NR_SERVICO = :NR_SERVICO CD_EMPRESA NR_ORDEMSERVICO NR_SERVICO
SELECT SUM(VL_TOTAL) VL_TOTAL, SUM(VL_DESCONTO) VL_DESCONTO, SUM(VL_LIQUIDO) VL_LIQUIDO
FROM (
SELECT COALESCE(SUM(VL_TOTAL),0) VL_TOTAL, COALESCE(SUM(VL_DESCONTO),0) VL_DESCONTO, COALESCE(SUM(VL_TOTAL),0) - COALESCE(SUM(VL_DESCONTO),0) VL_LIQUIDO
FROM ORDEMSERVITEM
WHERE CD_EMPRESA = :CD_EMPRESA
AND NR_ORDEMSERVICO = :NR_ORDEMSERVICO
UNION ALL
SELECT COALESCE(SUM(VL_TOTAL),0) VL_TOTAL, COALESCE(SUM(VL_DESCONTO),0) VL_DESCONTO, COALESCE(SUM(VL_TOTAL),0) - COALESCE(SUM(VL_DESCONTO),0) VL_LIQUIDO
FROM SERVICOITEM
WHERE CD_EMPRESA = :CD_EMPRESA
AND NR_ORDEMSERVICO = :NR_ORDEMSERVICO ) CD_EMPRESA 1 NR_ORDEMSERVICO
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 |
RETORNA_LINHAS | referenciada nas queries do layout |
SERVICOITEM | referenciada nas queries do layout |
VEICULO | referenciada nas queries do layout |
| [[VIEW_TOTLOS003]] | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS029/ULOS029.pas - DFM:
source/LOS029/ULOS029.dfm - Package:
source/LOS029/LOS029.dpk