LOS015 — Layout LOS015
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 SERVICOITEM, com junção em PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, MAQUINA, CONDPAGTO (+2), filtrada por NR_ORDEMSERVICO, CD_EMPRESA, OS, JO, CD_PESSOA, CD_ENDERECO (+7).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Ordem de Serviço
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);
SQL Base
Orcamento
SELECT OS.CD_EMPRESA, E.NM_EMPRESA, 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, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, OS.DS_OBSERVACAO, OS.NR_SERIEMAQUINA, OS.NR_ORDEMSERVICO, OS.DT_EMISSAO, OS.DT_ENTREGA, OS.CD_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' - '||P.CD_PESSOA NM_PESSOA, 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, EP.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.DT_VENCIMENTO, OS.CD_VENDEDOR, V.NM_PESSOA||' - '||OS.CD_VENDEDOR NM_VENDEDOR, OS.CD_FORMAPAGTO, F.DS_FORMAPAGTO, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, PARM.DS_LOGOTIPO, COALESCE(OS.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, COALESCE((
SELECT SUM(OSI.VL_DESCONTO)
FROM SERVICOITEM OSI
WHERE OS.NR_ORDEMSERVICO = OSI.NR_ORDEMSERVICO
AND OS.CD_EMPRESA = OSI.CD_EMPRESA),0) + COALESCE((
SELECT SUM(SI.VL_DESCONTO)
FROM ORDEMSERVITEM SI
WHERE OS.NR_ORDEMSERVICO = SI.NR_ORDEMSERVICO
AND OS.CD_EMPRESA = SI.CD_EMPRESA),0) VL_TOTDESCONTO, COALESCE((
SELECT SUM(OSI.VL_TOTAL)
FROM SERVICOITEM OSI
WHERE OS.NR_ORDEMSERVICO = OSI.NR_ORDEMSERVICO
AND OS.CD_EMPRESA = OSI.CD_EMPRESA),0) + COALESCE((
SELECT SUM(SI.VL_TOTAL)
FROM ORDEMSERVITEM SI
WHERE OS.NR_ORDEMSERVICO = SI.NR_ORDEMSERVICO
AND OS.CD_EMPRESA = SI.CD_EMPRESA),0) VL_ORDEMSERVICO, COALESCE((
SELECT SUM(OSI.VL_TOTAL - COALESCE(OSI.VL_DESCONTO,0))
FROM SERVICOITEM OSI
WHERE OS.NR_ORDEMSERVICO = OSI.NR_ORDEMSERVICO
AND OS.CD_EMPRESA = OSI.CD_EMPRESA),0) + COALESCE((
SELECT SUM(SI.VL_TOTAL - COALESCE(SI.VL_DESCONTO,0))
FROM ORDEMSERVITEM SI
WHERE OS.NR_ORDEMSERVICO = SI.NR_ORDEMSERVICO
AND OS.CD_EMPRESA = SI.CD_EMPRESA),0) VL_TOTLIQUIDO
FROM ORDEMSERVICO OS
INNER JOIN PESSOA P ON (OS.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (OS.CD_PESSOA = EP.CD_PESSOA
AND OS.CD_ENDERECO = EP.CD_ENDERECO)
INNER JOIN MUNICIPIO MP ON (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO)
INNER JOIN EMPRESA E ON (OS.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.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 (EE.CD_MUNICIPIO = ME.CD_MUNICIPIO)
LEFT JOIN MAQUINA MAQ ON(MAQ.NR_SERIEMAQUINA = OS.NR_SERIEMAQUINA)
LEFT JOIN CONDPAGTO C ON (OS.CD_CONDPAGTO = C.CD_CONDPAGTO)
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)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_ORDEMSERVICO = :NR_PEDIDO CD_EMPRESA 1 NR_PEDIDO 1
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 |
MAQUINA | 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 |
SERVICOITEM | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS015/ULOS015.pas - DFM:
source/LOS015/ULOS015.dfm - Package:
source/LOS015/LOS015.dpk