LOR026 — Layout LOR026
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 MAQUINAORCAMENTO, PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, CONDPAGTO (+5), filtrada por CD_EMPRESA, NR_ORCAMENTO, JO, CD_PESSOA, CD_ENDERECO, CD_MUNICIPIO (+2).
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 N.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, N.NR_ORCAMENTO, N.DT_ORCAMENTO, N.DT_ENTREGA, N.CD_PESSOA, P.NM_PESSOA NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, PE.NR_CNPJCPF NR_CNPJEMPRESA, 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, EE.NR_INSCEST NR_INSCESTEMPRESA, coalesce(EP.NR_FONE, EP.NR_FAX) NR_FONE, case C.ST_CONDPAGTO when 'D' then 'Vencto.: ' || FORMATA_DATA(N.DT_VENCIMENTO, '%d/%m/%Y') else C.DS_CONDPAGTO end DS_CONDPAGTO, N.CD_CONDPAGTO, N.DT_VENCIMENTO, N.CD_VENDEDOR, V.NM_PESSOA || ' - ' || N.CD_VENDEDOR NM_VENDEDOR, N.DS_OBSERVACAO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, IP.CD_ITEM, I.CD_ITEM || ' - ' || I.DS_ITEM DS_ITEM, I.SG_UNIDMED, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.DS_ESPECIFICACAO, IP.VL_TOTAL - coalesce(IP.VL_DESCONTO, 0) VL_LIQUIDO, IP.QT_MAQUINA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FONEEMPRESA2, EE.NR_CELULAR NR_CELEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, PE.DS_SITE, N.DS_CONTATO, P.DS_EMAIL DS_EMAILPESSOA, PF.DS_LOGOTIPO, N.NR_DIASVALIDADE || ' Dias' DS_DIAS, EP.NR_CELULAR NR_CELPESSOA, PF.DS_MSGORCAMENTO, I.DS_IMAGEMEXTENSAO, I.BI_IMAGEMITEM, IP.DS_OBSERVACAO DS_OBSITEM, T.NM_EMPRESA NM_EMPRTERCEIRO, PT.NR_CNPJCPF NR_CNPJTERCEIRO, ET.DS_ENDERECO || coalesce(', ' || ET.NR_ENDERECO, ' ') || coalesce(coalesce(' - ' || ET.DS_BAIRRO, ET.DS_COMPLEMENTO), ' ') DS_ENDTERCEIRO, MT.DS_MUNICIPIO || ' - ' || MT.SG_ESTADO DS_MUNICTERC, coalesce(ET.NR_FONE, ET.NR_FAX) NR_FONETERC, ET.NR_CEP NR_CEPTERC, ET.NR_INSCEST NR_INSCESTTERC, PT.DS_EMAIL DS_EMAILTERC, T.CD_EMPRESA CD_EMPRTERCEIRO, IP.DS_MAQUINA,CP.ID, COALESCE(CP.NMCONTATO,'') || ' - ' || COALESCE(CP.NRTELEFONE,'')|| ' - ' || COALESCE(CP.DSEMAIL,'') NM_CONTATO
FROM ORCAMENTO N
INNER JOIN MAQUINAORCAMENTO IP on (N.CD_EMPRESA = IP.CD_EMPRESA
AND N.NR_ORCAMENTO = IP.NR_ORCAMENTO)
INNER JOIN PESSOA P on (N.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP on (N.CD_PESSOA = EP.CD_PESSOA
AND N.CD_ENDERECO = EP.CD_ENDERECO)
INNER JOIN MUNICIPIO MP on (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO)
INNER JOIN EMPRESA E on (N.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 O_CD_ENDERECO
FROM RETORNA_ENDERECO(EE.CD_PESSOA, null)))
INNER JOIN MUNICIPIO ME on (EE.CD_MUNICIPIO = ME.CD_MUNICIPIO)
INNER JOIN CONDPAGTO C on (N.CD_CONDPAGTO = C.CD_CONDPAGTO)
INNER JOIN ITEM I on (IP.CD_ITEM = I.CD_ITEM)
LEFT JOIN PESSOA V on (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F on (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
INNER JOIN PARMFATUR PF on (PF.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN EMPRESA T on (T.CD_PESSOA = N.CD_TERCEIRO)
LEFT JOIN PESSOA PT on (PT.CD_PESSOA = T.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA ET on (ET.CD_PESSOA = PT.CD_PESSOA
AND ET.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(ET.CD_PESSOA, null)))
LEFT JOIN MUNICIPIO MT on (ET.CD_MUNICIPIO = MT.CD_MUNICIPIO)
LEFT JOIN CONTATOPESSOA CP ON (CP.CD_PESSOA = N.CD_PESSOA
AND CP.ID = N.ID_CONTATO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORCAMENTO = :NR_ORCAMENTO CD_EMPRESA 1 NR_ORCAMENTO
SELECT N.CD_EMPRESA, E.NM_EMPRESA, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, PE.NR_CNPJCPF NR_CNPJEMP, N.NR_ORCAMENTO, P.NM_PESSOA, P.NR_CNPJCPF, CURRENT_DATE DT_ATUAL, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ')||COALESCE(' '||EP.DS_BAIRRO,' ')||COALESCE(' '||EP.DS_COMPLEMENTO,' ') DS_ENDERECO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, N.DT_VENCIMENTO, SUM(IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0)) VL_TOTAL, (
SELECT O_VALOR
FROM VALOR_EXTENSO(SUM(IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0)))) VL_EXTENSO
FROM ORCAMENTO N
INNER JOIN ITEMORCAMENTO IP ON (N.CD_EMPRESA = IP.CD_EMPRESA
AND N.NR_ORCAMENTO = IP.NR_ORCAMENTO)
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA
AND N.CD_ENDERECO = EP.CD_ENDERECO)
INNER JOIN MUNICIPIO MP ON (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO)
INNER JOIN EMPRESA E ON (N.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)
INNER JOIN CONDPAGTO C ON (N.CD_CONDPAGTO = C.CD_CONDPAGTO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORCAMENTO = :NR_ORCAMENTO
GROUP BY N.CD_EMPRESA, E.NM_EMPRESA, ME.DS_MUNICIPIO, ME.SG_ESTADO, PE.NR_CNPJCPF, N.NR_ORCAMENTO, P.NM_PESSOA, P.NR_CNPJCPF, EP.DS_ENDERECO, EP.NR_ENDERECO, EP.DS_BAIRRO, EP.DS_COMPLEMENTO, MP.DS_MUNICIPIO, MP.SG_ESTADO, EP.NR_FONE, EP.NR_FAX, N.DT_VENCIMENTO CD_EMPRESA 1 NR_ORCAMENTO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
CONTATOPESSOA | 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 |
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 |
RETORNA_ENDERECO | referenciada nas queries do layout |
VALOR_EXTENSO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOR026/ULOR026.pas - DFM:
source/LOR026/ULOR026.dfm - Package:
source/LOR026/LOR026.dpk