Pular para o conteúdo principal

LOR033 — Layout LOR033

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, ITEM (+3), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_EMPRESA, CD_VENDEDOR (+1).

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 O.CD_EMPRESA, E.NM_EMPRESA, PEMP.NM_PESSOA RAZAO_SOCIAL, PEMP.NR_CNPJCPF CNPJCPF_EMP, pcli.NR_CNPJCPF CNPJCPF_CLI, EPCLI.DS_ENDERECO||COALESCE(', Nº '||EPCLI.NR_ENDERECO,'')|| COALESCE(' ('||EPCLI.DS_COMPLEMENTO,'')|| COALESCE(') - Bairro: '||EPCLI.DS_BAIRRO,'')END_CLIENTE, MCLI.DS_MUNICIPIO||' - '||MCLI.SG_ESTADO MUN_CLI, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,'')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),'') DS_ENDERECO, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICIPIO, EE.NR_FONE, EE.NR_FAX, EE.NR_CEP, EE.NR_INSCEST, O.NR_ORCAMENTO, O.DT_ORCAMENTO, O.DT_ENTREGA, PEMP.DS_EMAIL, O.DS_CONTATO, PCLI.CD_PESSOA, COALESCE(PCLI.NM_PESSOA, O.DS_PESSOA)||COALESCE(' Fone: '||EPCLI.NR_FONE,'') NM_PESSOA, COALESCE(PCLI.NM_PESSOA, O.DS_PESSOA) NM_CLI, O.NR_DIASVALIDADE, O.NR_DIASENTREGA, O.CD_VENDEDOR, V.NM_PESSOA NM_VENDEDOR, M.NR_MAQUINA, M.DS_MAQUINA, M.DS_ESPECIFICACAO DS_ESPECIFICACAO, M.CD_ITEM, I.NR_NCM, I.CD_FORNECEDOR1, MA.DS_MARCA, M.VL_UNITARIO, Coalesce(M.VL_UNITARIO,0) - (Coalesce(M.VL_DESCONTO,0) / M.QT_MAQUINA) VL_UNIT_LIQ, M.QT_MAQUINA, M.VL_TOTAL, M.VL_TOTAL - M.VL_DESCONTO VL_TOT_LIQ, /* CASE WHEN (M.VL_UNITARIO * M.QT_MAQUINA) <> M.VL_TOTAL THEN M.VL_TOTAL + Coalesce(M.VL_DESCONTO,0) ELSE M.VL_TOTAL END VL_TOTAL, CASE WHEN (M.VL_UNITARIO * M.QT_MAQUINA) <> M.VL_TOTAL THEN M.VL_TOTAL ELSE M.VL_TOTAL - Coalesce(M.VL_DESCONTO,0) END VL_TOT_LIQ, */ M.VL_DESCONTO, 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, PARMFATUR.DS_LOGOTIPO, COALESCE(O.DS_OBSERVACAO,'')||COALESCE(' '||PARMFATUR.DS_MSGPEDIDO,'') DS_OBSERVACAO, M.QT_ALTURA, M.QT_LARGURA, CASE WHEN I.tp_item = 'S' THEN 'Serviço' ELSE 'Produto' end DS_TIPO
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
LEFT JOIN PESSOA PCLI ON (O.CD_PESSOA = PCLI.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EPCLI ON (O.CD_PESSOA = EPCLI.CD_PESSOA
AND O.CD_ENDERECO = EPCLI.CD_ENDERECO)
LEFT JOIN MUNICIPIO MCLI ON (EPCLI.CD_MUNICIPIO = MCLI.CD_MUNICIPIO)
INNER JOIN EMPRESA E ON (O.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA PEMP ON (E.CD_PESSOA = PEMP.CD_PESSOA)
INNER JOIN ITEM I ON ( I.CD_ITEM = M.CD_ITEM)
INNER JOIN MARCA MA ON (MA.CD_MARCA = I.CD_MARCA)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PEMP.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)
INNER JOIN PARMFATUR ON (PARMFATUR.CD_EMPRESA = O.CD_EMPRESA)
LEFT JOIN PESSOA V ON (O.CD_VENDEDOR = V.CD_PESSOA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
ORDER BY I.TP_ITEM DESC, 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
MAQUINAORCAMENTOreferenciada nas queries do layout
MARCAreferenciada 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/LOR033/ULOR033.pas
  • DFM: source/LOR033/ULOR033.dfm
  • Package: source/LOR033/LOR033.dpk