LOR020 — Layout LOR020
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 (+7), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_EMPRESA, CD_ITEM (+4).
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 S.DS_SECAO, N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJCPFEMP, EE.NR_INSCEST NR_INSCESTEMP, 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, PE.DS_SITE DS_SITEEMP, PE.DS_EMAIL DS_EMAILEMP, EE.NR_FONE NR_FONEEMP, EE.NR_FAX NR_FAXEMP, EE.NR_CEP NR_CEPEMP, N.NR_ORCAMENTO NR_PEDIDO, N.DT_ORCAMENTO DT_PEDIDO, N.DT_ENTREGA, N.NR_DIASENTREGA, N.CD_PESSOA, COALESCE(P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' - '||P.CD_PESSOA,N.DS_PESSOA) NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, N.DS_CONTATO, CASE N.TP_PAGTOFRETE WHEN '1' THEN 'CIF' WHEN '2' THEN 'FOB' ELSE 'Outros' END TP_PAGTOFRETE, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') ||COALESCE(COALESCE(' - '||EP.DS_BAIRRO, EP.DS_COMPLEMENTO),' ') DS_ENDERECO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, EP.NR_FONE, EP.NR_FAX, 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, COALESCE(V.NM_PESSOA||' - '||N.CD_VENDEDOR, 'RESPONSÁVEL') NM_VENDEDOR, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, IP.NR_MAQUINA, IP.NR_ORCAMENTO, IP.CD_ITEM, IP.DS_MAQUINA DS_ITEM, COALESCE(I.SG_UNIDMED,'UN') SG_UNIDMED, IP.VL_UNITARIO, IP.VL_TOTAL, IP.VL_TOTAL VL_LIQUIDO, CASE WHEN TRIM(IP.DS_ESPECIFICACAO) IS NULL THEN NULL WHEN TRIM(IP.DS_ESPECIFICACAO) = '' THEN NULL ELSE 'Especificação: '||IP.DS_ESPECIFICACAO END AS DS_OBSITEM, IP.QT_MAQUINA QTDE, IP.QT_MAQUINA QT_PEDIDA, PARM.DS_LOGOTIPO, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, PARM.DS_LOGOTIPO, NC.NR_NCM
FROM ORCAMENTO N
INNER JOIN MAQUINAORCAMENTO IP ON (N.CD_EMPRESA = IP.CD_EMPRESA
AND N.NR_ORCAMENTO = IP.NR_ORCAMENTO)
LEFT JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA
AND N.CD_ENDERECO = EP.CD_ENDERECO)
LEFT 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)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
INNER JOIN NCM NC ON (NC.NR_NCM = I.NR_NCM)
LEFT JOIN SECAO S ON (S.CD_SECAO = I.CD_SECAO)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORCAMENTO = :NR_ORCAMENTO
ORDER BY IP.NR_MAQUINA, S.DS_SECAO, I.CD_ITEM CD_EMPRESA 1 NR_ORCAMENTO
SELECT S.DS_SECAO, IP.CD_ITEM, I.DS_ITEM,IP.VL_UNITARIO, IP.VL_TOTAL, IP.VL_UNITARIO, IP.QT_ORCAMENTO, IP.PS_ORCAMENTO, CASE tp.TP_UNIDADE WHEN 'Q' THEN IP.QT_ORCAMENTO ELSE IP.PS_ORCAMENTO END QTDE, CASE tp.TP_UNIDADE WHEN 'Q' THEN H.SG_QTDE ELSE H.SG_PESO END SG_UNIDMED, CASE WHEN TRIM(IP.DS_ESPECIFICACAO) IS NULL THEN NULL WHEN TRIM(IP.DS_ESPECIFICACAO) = '' THEN NULL ELSE 'Especificação: '||IP.DS_ESPECIFICACAO END AS DS_ESPECIFICACAO
FROM ITEMORCAMENTO IP
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
INNER JOIN TIPOCALCULO TP ON (TP.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
LEFT JOIN HABILITA_PESOQTDE(I.CD_ITEM) H ON (1=1)
LEFT JOIN SECAO S ON (S.CD_SECAO = I.CD_SECAO)
WHERE IP.CD_EMPRESA = :CD_EMPRESA
AND IP.NR_ORCAMENTO = :NR_ORCAMENTO
AND IP.NR_MAQUINA = :NR_MAQUINA
ORDER BY IP.NR_MAQUINA, S.DS_SECAO CD_EMPRESA 1 NR_ORCAMENTO NR_MAQUINA
SELECT CASE WHEN S.DS_SECAO IS NULL THEN CASE WHEN SM.DS_SECAO IS NULL THEN 'Sem Seção' ELSE SM.DS_SECAO END ELSE S.DS_SECAO END DS_SECAO, IP.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, IP.VL_UNITARIO, IP.VL_TOTAL, IP.VL_UNITARIO, IP.QT_ORCAMENTO, IP.PS_ORCAMENTO, IP.QT_ORCAMENTO QTDE, CASE WHEN TRIM(IP.DS_ESPECIFICACAO) IS NULL THEN NULL WHEN TRIM(IP.DS_ESPECIFICACAO) = '' THEN NULL ELSE 'Especificação: '||IP.DS_ESPECIFICACAO END AS DS_ESPECIFICACAO, IP.NR_MAQUINA, MO.DS_MAQUINA, MO.CD_ITEM CD_MAQUINA, MO.QT_MAQUINA, CASE WHEN TRIM(MO.DS_OBSERVACAO) IS NULL THEN NULL WHEN TRIM(MO.DS_OBSERVACAO) = '' THEN NULL ELSE 'Especificação: '||MO.DS_ESPECIFICACAO END AS DS_ESPECIFMAQUINA
FROM ITEMORCAMENTO IP
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
LEFT JOIN SECAO S ON (S.CD_SECAO = I.CD_SECAO)
INNER JOIN MAQUINAORCAMENTO MO ON (IP.CD_EMPRESA = MO.CD_EMPRESA
AND IP.NR_MAQUINA = MO.NR_MAQUINA
AND IP.NR_ORCAMENTO = MO.NR_ORCAMENTO)
LEFT JOIN ITEM IM ON (MO.CD_ITEM = IM.CD_ITEM)
LEFT JOIN SECAO SM ON (IM.CD_SECAO = SM.CD_SECAO)
WHERE IP.CD_EMPRESA = :CD_EMPRESA
AND IP.NR_ORCAMENTO = :NR_ORCAMENTO --AND S.CD_SECAO <> 4 --AND S.DS_SECAO IS NOT NULL
ORDER BY DS_SECAO, IP.NR_MAQUINA CD_EMPRESA 1 NR_ORCAMENTO
SELECT O.CD_ITEM, ITEM.DS_ITEM, O.QT_ORCAMENTO, O.PS_ORCAMENTO, O.VL_UNITARIO, O.VL_TOTAL, ITEM.SG_UNIDMED
FROM ITEMFICHAREGRA O
INNER JOIN ITEM ON (O.CD_ITEM = ITEM.CD_ITEM)
INNER JOIN TIPOCALCULO CALC ON (ITEM.CD_TIPOCALCULO = CALC.CD_TIPOCALCULO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
AND O.NR_MAQUINA = :NR_MAQUINA
ORDER BY O.NR_MAQUINA, O.CD_ITEM CD_EMPRESA 1 NR_ORCAMENTO NR_MAQUINA
SELECT S.DS_SECAO, N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJCPFEMP, EE.NR_INSCEST NR_INSCESTEMP, 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, PE.DS_SITE DS_SITEEMP, PE.DS_EMAIL DS_EMAILEMP, EE.NR_FONE NR_FONEEMP, EE.NR_FAX NR_FAXEMP, EE.NR_CEP NR_CEPEMP, N.NR_ORCAMENTO NR_PEDIDO, N.DT_ORCAMENTO DT_PEDIDO, N.DT_ENTREGA, N.NR_DIASENTREGA, N.CD_PESSOA, COALESCE(P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' - '||P.CD_PESSOA,N.DS_PESSOA) NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, N.DS_CONTATO, CASE N.TP_PAGTOFRETE WHEN '1' THEN 'CIF' WHEN '2' THEN 'FOB' ELSE 'Outros' END TP_PAGTOFRETE, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') ||COALESCE(COALESCE(' - '||EP.DS_BAIRRO, EP.DS_COMPLEMENTO),' ') DS_ENDERECO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, EP.NR_FONE, EP.NR_FAX, 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, COALESCE(V.NM_PESSOA||' - '||N.CD_VENDEDOR, 'RESPONSAVEL') NM_VENDEDOR, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, IP.NR_MAQUINA, IP.NR_ORCAMENTO, IP.CD_ITEM, IP.DS_MAQUINA DS_ITEM, COALESCE(I.SG_UNIDMED,'UN') SG_UNIDMED, IP.VL_UNITARIO, IP.VL_TOTAL, IP.VL_TOTAL VL_LIQUIDO, CASE WHEN TRIM(IP.DS_ESPECIFICACAO) IS NULL THEN NULL WHEN TRIM(IP.DS_ESPECIFICACAO) = '' THEN NULL ELSE 'Especificação: '||IP.DS_ESPECIFICACAO END AS DS_OBSITEM, IP.QT_MAQUINA QTDE, IP.QT_MAQUINA QT_PEDIDA, PARM.DS_LOGOTIPO, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO
FROM ORCAMENTO N
INNER JOIN MAQUINAORCAMENTO IP ON (N.CD_EMPRESA = IP.CD_EMPRESA
AND N.NR_ORCAMENTO = IP.NR_ORCAMENTO)
LEFT JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA
AND N.CD_ENDERECO = EP.CD_ENDERECO)
LEFT 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)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
LEFT JOIN SECAO S ON (S.CD_SECAO = I.CD_SECAO)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORCAMENTO = :NR_ORCAMENTO
ORDER BY IP.NR_MAQUINA, S.DS_SECAO, I.CD_ITEM CD_EMPRESA 1 NR_ORCAMENTO
SELECT CASE WHEN S.DS_SECAO IS NULL THEN CASE WHEN SM.DS_SECAO IS NULL THEN 'Sem Seção' ELSE SM.DS_SECAO END ELSE S.DS_SECAO END DS_SECAO, IP.CD_ITEM, I.DS_ITEM, CASE TP.TP_UNIDADE WHEN 'Q' THEN H.SG_QTDE ELSE H.SG_PESO END SG_UNIDMED, IP.VL_UNITARIO, IP.VL_TOTAL, IP.VL_UNITARIO, IP.QT_ORCAMENTO, IP.PS_ORCAMENTO, CASE TP.TP_UNIDADE WHEN 'Q' THEN IP.QT_ORCAMENTO ELSE IP.PS_ORCAMENTO END QTDE, CASE WHEN TRIM(IP.DS_ESPECIFICACAO) IS NULL THEN NULL WHEN TRIM(IP.DS_ESPECIFICACAO) = '' THEN NULL ELSE 'Especificação: '||IP.DS_ESPECIFICACAO END AS DS_ESPECIFICACAO, IP.NR_MAQUINA, MO.DS_MAQUINA, MO.CD_ITEM CD_MAQUINA, MO.QT_MAQUINA, CASE WHEN TRIM(MO.DS_OBSERVACAO) IS NULL THEN NULL WHEN TRIM(MO.DS_OBSERVACAO) = '' THEN NULL ELSE 'Especificação: '||MO.DS_ESPECIFICACAO END AS DS_ESPECIFMAQUINA
FROM ITEMORCAMENTO IP
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
INNER JOIN TIPOCALCULO TP ON (TP.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
LEFT JOIN HABILITA_PESOQTDE(i.CD_ITEM) h on (1=1)
LEFT JOIN SECAO S ON (S.CD_SECAO = I.CD_SECAO)
INNER JOIN MAQUINAORCAMENTO MO ON (IP.CD_EMPRESA = MO.CD_EMPRESA
AND IP.NR_MAQUINA = MO.NR_MAQUINA
AND IP.NR_ORCAMENTO = MO.NR_ORCAMENTO)
LEFT JOIN ITEM IM ON (MO.CD_ITEM = IM.CD_ITEM)
LEFT JOIN SECAO SM ON (IM.CD_SECAO = SM.CD_SECAO)
WHERE IP.CD_EMPRESA = :CD_EMPRESA
AND IP.NR_ORCAMENTO = :NR_ORCAMENTO
AND IP.NR_MAQUINA = :NR_MAQUINA --
AND S.CD_SECAO <> 4
ORDER BY IP.NR_MAQUINA, DS_SECAO, IP.NR_MAQUINA CD_EMPRESA 1 NR_ORCAMENTO NR_MAQUINA
SELECT O.NR_ITEMFICHA, O.CD_ITEM, I.DS_ITEM, O.QT_ORCAMENTO, O.QT_COMPRIMENTO, O.QT_ALTURA, O.QT_BAINHA
FROM ITEMFICHAORCAMENTO O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
AND O.NR_MAQUINA = :NR_MAQUINA
ORDER BY O.NR_ITEMFICHA CD_EMPRESA 1 NR_ORCAMENTO NR_MAQUINA
SELECT O.CD_ITEM, I.DS_ITEM, O.QT_ORCAMENTO, O.PS_ORCAMENTO, O.VL_UNITARIO, O.VL_TOTAL, HPQ.SG_QTDE, HPQ.SG_PESO
FROM ITEMFICHAREGRA O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM)
LEFT JOIN HABILITA_PESOQTDE(I.CD_ITEM) HPQ ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
AND O.NR_MAQUINA = :NR_MAQUINA
AND I.CD_SECAO = :CD_SECAO
ORDER BY O.NR_SEQUENCIA CD_EMPRESA 1 NR_ORCAMENTO NR_MAQUINA CD_SECAO
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 |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMFICHAORCAMENTO | referenciada nas queries do layout |
ITEMFICHAREGRA | referenciada nas queries do layout |
ITEMORCAMENTO | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NCM | referenciada nas queries do layout |
ORCAMENTO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
SECAO | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOR020/ULOR020.pas - DFM:
source/LOR020/ULOR020.dfm - Package:
source/LOR020/LOR020.dpk