LOR012 — Layout LOR012
Visão Geral
Layout de impressão da família LOR (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em ORCAMENTO, com junção em ITEMORCAMENTO, ITEM, MAQUINAORCAMENTO, PESSOA, EMPRESA, ENDERECOPESSOA (+3), filtrada por CD_EMPRESA, NR_ORCAMENTO, TP_ITEM, O, JO, MAQU (+6).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Orcamento
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);
SQL Base
Orcamento
SELECT /*CLIENTE*/ P.NR_CNPJCPF, P.CD_PESSOA, P.NM_PESSOA, EC.DS_ENDERECO||COALESCE(', '||EC.NR_ENDERECO,'')||COALESCE(COALESCE(' - '||EC.DS_BAIRRO, EC.DS_COMPLEMENTO),'') DS_ENDERECOCLIENTE, MC.DS_MUNICIPIO||' - '||MC.SG_ESTADO DS_MUNICIPIOCLIENTE, EC.DS_BAIRRO DS_BAIRROCLIENTE, EC.NR_INSCEST NR_NR_INSCESTCLIENTE , EC.NR_CEP CEPCLIENTE, EC.NR_FONE FONECLIENTE, EC.NR_FAX FAXCLIENTE,P.DS_EMAIL DS_EMAILCLIENTE, /*EMPRESA*/ PE.NR_CNPJCPF NR_CNPJCPFEMPRESA, PE.DS_EMAIL, PE.DS_SITE, O.CD_EMPRESA, E.NM_EMPRESA, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,'')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),'') DS_ENDERECO, O.DS_OBSERVACAO, EE.NR_FONE, EE.NR_FAX, EE.NR_CEP, EE.NR_INSCEST, O.NR_ORCAMENTO, O.DT_ORCAMENTO, O.DT_ENTREGA, O.DS_CONTATO, O.CD_VENDEDOR, V.NM_PESSOA NM_VENDEDOR, EV.NR_FONE NR_FONEVENDEDOR, EV.NR_CELULAR NR_CELULARVENDEDOR, M.NR_MAQUINA, M.DS_MAQUINA, M.DS_ESPECIFICACAO, M.VL_UNITARIO, M.VL_TOTAL, M.QT_MAQUINA, PM.DS_LOGOTIPO, O.VL_SERVICO, COALESCE((
SELECT SUM(COALESCE(IT.VL_TOTAL,0))
FROM ORCAMENTO OT
LEFT JOIN ITEMORCAMENTO IT ON (IT.CD_EMPRESA = OT.CD_EMPRESA
AND IT.NR_ORCAMENTO = OT.NR_ORCAMENTO)
LEFT JOIN ITEM I ON(I.CD_ITEM = IT.CD_ITEM)
WHERE OT.CD_EMPRESA = O.CD_EMPRESA
AND OT.NR_ORCAMENTO = O.NR_ORCAMENTO
AND OT.CD_EMPRESA = O.CD_EMPRESA
AND I.TP_ITEM = 'S'),0) VL_MAOOBRA, CASE C.ST_CONDPAGTO WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(O.DT_VENCIMENTO,'%d/%m/%Y') ELSE C.DS_CONDPAGTO END DS_CONDPAGTO, O.CD_CONDPAGTO, O.NR_DIASVALIDADE, O.NR_DIASENTREGA, O.DS_COMPLEMENTAR
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
INNER JOIN PESSOA P ON (O.CD_PESSOA = P.CD_PESSOA)
INNER JOIN EMPRESA E ON (O.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EC ON (EC.CD_PESSOA = P.CD_PESSOA
AND EC.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDERC
WHERE ENDERC.CD_PESSOA = EC.CD_PESSOA))
INNER JOIN MUNICIPIO MC ON (EC.CD_MUNICIPIO = MC.CD_MUNICIPIO)
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)
INNER JOIN CONDPAGTO C ON (O.CD_CONDPAGTO = C.CD_CONDPAGTO)
LEFT JOIN PESSOA V ON (O.CD_VENDEDOR = V.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EV ON (EV.CD_PESSOA = V.CD_PESSOA
AND EV.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDER
WHERE ENDER.CD_PESSOA = EV.CD_PESSOA))
LEFT JOIN PARMFATUR PM ON (PM.CD_EMPRESA = O.CD_EMPRESA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
ORDER BY M.NR_MAQUINA CD_EMPRESA 1 NR_ORCAMENTO 76
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORCAMENTO | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORCAMENTO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOR012/ULOR012.pas - DFM:
source/LOR012/ULOR012.dfm - Package:
source/LOR012/LOR012.dpk