Pular para o conteúdo principal

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​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
HABILITA_PESOQTDEreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
MAQUINAreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
MARCAVEICULOreferenciada nas queries do layout
MODELOMAQUINAreferenciada nas queries do layout
MODELOVEICULOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORCAMENTOreferenciada nas queries do layout
ORDEMSERVHORAreferenciada nas queries do layout
ORDEMSERVICOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
SERVICOITEMreferenciada nas queries do layout
SERVICOORCAMENTOreferenciada nas queries do layout
VEICULOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOS030/ULOS030.pas
  • DFM: source/LOS030/ULOS030.dfm
  • Package: source/LOS030/LOS030.dpk