LOS031 — Layout LOS031
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 ORDEMSERVICO, com junção em ORDEMSERVITEM, PESSOA, ENDERECOPESSOA, MUNICIPIO, PESSOAFISICA, EMPRESA (+7), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_EMPRESA (+5).
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
OrdemServico
SELECT OS.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJEMP, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ') DS_ENDEREMP, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, EE.NR_INSCEST NR_INSCEMP, PE.DS_EMAIL, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, EE.NR_FAX NR_FAXEMP, OS.CD_PESSOA, P.CD_PESSOA||' - '||P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'') NM_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'') NM_PESSOA2, P.NR_CNPJCPF, EP.NR_CEP, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') DS_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, COALESCE(EP.NR_INSCEST, PF.NR_RG) NR_INSCEST , COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, CASE C.ST_CONDPAGTO WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(OS.DT_VENCIMENTO,'%d/%m/%Y') ELSE C.DS_CONDPAGTO END DS_CONDPAGTO, OS.CD_CONDPAGTO, OS.NR_ORDEMSERVICO, OS.DT_EMISSAO, OS.HR_EMISSAO, OS.DT_VENCIMENTO, OS.DT_ENTREGA, OS.CD_VENDEDOR, OS.CD_VENDEDOR||' - '||V.NM_PESSOA NM_VENDEDOR, OS.CD_FORMAPAGTO, F.DS_FORMAPAGTO, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, OSI.CD_SERVICO, I.DS_ITEM, I.SG_UNIDMED, OSI.VL_UNITARIO, COALESCE(OSI.VL_DESCONTO,0) VL_DESCONTO, OSI.VL_TOTAL, OSI.VL_TOTAL - COALESCE(OSI.VL_DESCONTO,0) VL_LIQUIDO, OSI.QT_SERVICO, ME.DS_MUNICIPIO||', '||DE.O_DS_DATA DT_EXTENSO, REV.O_NM_VENDEDORES, OS.DS_OBSERVACAO DS_OCORRENCIA, OS.DS_TECNICA
FROM ORDEMSERVICO OS
LEFT JOIN ORDEMSERVITEM OSI ON (OSI.NR_ORDEMSERVICO = OS.NR_ORDEMSERVICO
AND OSI.CD_EMPRESA = OS.CD_EMPRESA)
INNER JOIN PESSOA P ON (P.CD_PESSOA = OS.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = OS.CD_PESSOA
AND EP.CD_ENDERECO = OS.CD_ENDERECO)
INNER JOIN MUNICIPIO MP ON (MP.CD_MUNICIPIO = EP.CD_MUNICIPIO)
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = OS.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PE.CD_PESSOA
AND EE.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDER
WHERE ENDER.CD_PESSOA = EE.CD_PESSOA))
INNER JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO)
INNER JOIN CONDPAGTO C ON (C.CD_CONDPAGTO = OS.CD_CONDPAGTO)
LEFT JOIN ITEM I ON (I.CD_ITEM = OSI.CD_SERVICO)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = OS.CD_EMPRESA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = OS.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = OS.CD_FORMAPAGTO)
LEFT JOIN DATA_EXTENSO(CURRENT_DATE) DE ON (1=1)
LEFT JOIN RETORNA_VENDEDORESORDEMSERV(OS.CD_EMPRESA, OS.NR_ORDEMSERVICO) REV ON (1=1)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
UNION
SELECT OS.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJEMP, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ') DS_ENDEREMP, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, EE.NR_INSCEST NR_INSCEMP, PE.DS_EMAIL, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, EE.NR_FAX NR_FAXEMP, OS.CD_PESSOA, P.CD_PESSOA||' - '||P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'') NM_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'') NM_PESSOA2, P.NR_CNPJCPF, EP.NR_CEP, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') DS_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, COALESCE(EP.NR_INSCEST, PF.NR_RG) NR_INSCEST , COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, CASE C.ST_CONDPAGTO WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(OS.DT_VENCIMENTO,'%d/%m/%Y') ELSE C.DS_CONDPAGTO END DS_CONDPAGTO, OS.CD_CONDPAGTO, OS.NR_ORDEMSERVICO, OS.DT_EMISSAO, OS.HR_EMISSAO, OS.DT_VENCIMENTO, OS.DT_ENTREGA, OS.CD_VENDEDOR, OS.CD_VENDEDOR||' - '||V.NM_PESSOA NM_VENDEDOR, OS.CD_FORMAPAGTO, F.DS_FORMAPAGTO, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, SI.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, SI.VL_UNITARIO, COALESCE(SI.VL_DESCONTO,0) VL_DESCONTO, SI.VL_TOTAL, SI.VL_TOTAL - COALESCE(SI.VL_DESCONTO,0) VL_LIQUIDO, SI.QT_SERVICOITEM, ME.DS_MUNICIPIO||', '||DE.O_DS_DATA DT_EXTENSO, REV.O_NM_VENDEDORES, OS.DS_OBSERVACAO DS_OCORRENCIA, OS.DS_TECNICA
FROM ORDEMSERVICO OS
LEFT JOIN SERVICOITEM SI ON (SI.NR_ORDEMSERVICO = OS.NR_ORDEMSERVICO
AND SI.CD_EMPRESA = OS.CD_EMPRESA)
INNER JOIN PESSOA P ON (P.CD_PESSOA = OS.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = OS.CD_PESSOA
AND EP.CD_ENDERECO = OS.CD_ENDERECO)
INNER JOIN MUNICIPIO MP ON (MP.CD_MUNICIPIO = EP.CD_MUNICIPIO)
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = OS.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PE.CD_PESSOA
AND EE.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDER
WHERE ENDER.CD_PESSOA = EE.CD_PESSOA))
INNER JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO)
INNER JOIN CONDPAGTO C ON (C.CD_CONDPAGTO = OS.CD_CONDPAGTO)
LEFT JOIN ITEM I ON (I.CD_ITEM = SI.CD_ITEM)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = OS.CD_EMPRESA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = OS.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = OS.CD_FORMAPAGTO)
LEFT JOIN DATA_EXTENSO(CURRENT_DATE) DE ON (1=1)
LEFT JOIN RETORNA_VENDEDORESORDEMSERV(OS.CD_EMPRESA, OS.NR_ORDEMSERVICO) REV ON (1=1)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA NR_ORDEMSERVICO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
DATA_EXTENSO | 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 |
MUNICIPIO | 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 |
PESSOAFISICA | referenciada nas queries do layout |
RETORNA_VENDEDORESORDEMSERV | referenciada nas queries do layout |
SERVICOITEM | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS031/ULOS031.pas - DFM:
source/LOS031/ULOS031.dfm - Package:
source/LOS031/LOS031.dpk