Pular para o conteúdo principal

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​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMORCAMENTOreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORCAMENTOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOR012/ULOR012.pas
  • DFM: source/LOR012/ULOR012.dfm
  • Package: source/LOR012/LOR012.dpk