LOR013 — Layout LOR013
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, EMPRESA, MUNICIPIO, CONDPAGTO (+11), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_FORMAPAGTO, CD_EMPRESA (+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 V.NM_PESSOA DS_TERCEIRO, O.CD_EMPRESA, E.NM_EMPRESA, 'CNPJ: '||PE.NR_CNPJCPF NR_CNPJCPF, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,'') DS_ENDERECO, COALESCE(COALESCE(EE.DS_BAIRRO, EE.DS_COMPLEMENTO),'') DS_BAIRRO, 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, PE.DS_EMAIL, PE.DS_SITE, EP.DS_ENDERECO||COALESCE(' - '||EP.NR_ENDERECO,'')||COALESCE(' - '||EP.DS_BAIRRO||' - Cep: '||EP.NR_CEP,'') DS_ENDERECOCLI, P.NR_CNPJCPF NR_CNPJCPFCLI ,EP.NR_FONE NR_FONECLI, EP.DS_CONTATO DS_CONTATOCLI, MC.DS_MUNICIPIO DS_MUNICIPIOCLI, O.DS_COMPLEMENTAR, O.DS_OBSERVACAO, M.DS_MAQUINA,M.QT_ALTURA, M.QT_LARGURA, (M.QT_ALTURA * M.QT_LARGURA) QT_MT_QUADRADO,(M.VL_UNITARIO / COALESCE(NULLIF((M.QT_ALTURA * M.QT_LARGURA),0),1)) VL_MT_QUADRADO , PV.NM_PESSOA DS_VENDEDOR, O.DS_CONTATO, P.CD_PESSOA, P.CD_PESSOA||' - '||P.NM_PESSOA NM_PESSOA , O.NR_DIASVALIDADE, O.NR_DIASENTREGA, O.CD_VENDEDOR, V.NM_PESSOA NM_VENDEDOR, M.NR_MAQUINA, M.DS_MAQUINA, M.DS_ESPECIFICACAO, M.VL_UNITARIO, M.VL_TOTAL VL_TOTAL, M.QT_MAQUINA, M.VL_DESCONTO, M.VL_TOTAL - COALESCE(M.VL_DESCONTO,0) VL_LIQUIDO, 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, FP.DS_FORMAPAGTO, PARMFATUR.DS_LOGOTIPO, LIN.O_NR_LINHA , P.NM_FANTASIA NM_FANTASIACLI , PE.NM_FANTASIA NM_FANTASIAEMP, PV.NM_FANTASIA NM_FANTASIAV
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 ENDERECOPESSOA EP ON (O.CD_PESSOA = EP.CD_PESSOA
AND O.CD_ENDERECO = EP.CD_ENDERECO)
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 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))
LEFT JOIN PESSOA PV ON (PV.CD_PESSOA = O.CD_VENDEDOR)
INNER JOIN MUNICIPIO ME ON (EE.CD_MUNICIPIO = ME.CD_MUNICIPIO)
INNER JOIN MUNICIPIO MC ON (EP.CD_MUNICIPIO = MC.CD_MUNICIPIO)
INNER JOIN CONDPAGTO C ON (O.CD_CONDPAGTO = C.CD_CONDPAGTO)
INNER JOIN FORMAPAGTO FP ON (FP.CD_FORMAPAGTO = O.CD_FORMAPAGTO)
INNER JOIN PARMFATUR ON (PARMFATUR.CD_EMPRESA = O.CD_EMPRESA)
LEFT JOIN PESSOA V ON (O.CD_TERCEIRO = V.CD_PESSOA)
LEFT JOIN RETORNA_LINHAS(3) LIN ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
ORDER BY LIN.O_NR_LINHA, M.NR_MAQUINA CD_EMPRESA NR_ORCAMENTO
SELECT O.CD_EMPRESA, O.NR_ORCAMENTO, O.NR_MAQUINA, O.CD_ITEM, ITEM.DS_ITEM, ITEM.CD_GRUPO, ITEM.SG_UNIDMED, ITEM.SG_UNIDALT, ITEM.PS_LIQUIDO, ITEM.PS_EMBALAGEM, ITEM.CD_CONDFISCAL, ITEM.CD_TIPOCALCULO, CALC.FT_CALCULO, CALC.TP_CALCULO, CALC.TP_UNIDADE, O.CD_MOVIMENTACAO, MOV.DS_MOVIMENTACAO, O.CD_TABCOMPRA, T.DS_TABCOMPRA, O.PS_ORCAMENTO, O.QT_ORCAMENTO, O.VL_UNITARIO, O.VL_TOTAL, O.VL_VENDA, IT.VL_PRECO, O.DT_REGISTRO, O.QT_HORAS, U.TP_UNIDMED, O.PS_FORMULA, O.QT_FORMULA, (
SELECT V_VL_TOTAL
FROM CALCULA_VALOR(O.CD_ITEM, O.PS_ORCAMENTO, O.QT_ORCAMENTO, O.VL_VENDA, 'U')) VL_UNITVENDA , CASE WHEN CALC.TP_UNIDADE = 'P' THEN O.PS_ORCAMENTO ELSE O.QT_ORCAMENTO END QTDE
FROM ITEMORCAMENTO O
INNER JOIN ITEM ON (O.CD_ITEM = ITEM.CD_ITEM)
INNER JOIN TIPOCALCULO CALC ON (ITEM.CD_TIPOCALCULO = CALC.CD_TIPOCALCULO)
INNER JOIN MOVIMENTACAO MOV ON (O.CD_MOVIMENTACAO = MOV.CD_MOVIMENTACAO)
INNER JOIN UNIDMED U ON (U.SG_UNIDMED = ITEM.SG_UNIDMED)
LEFT JOIN TABCOMPRA T ON (O.CD_TABCOMPRA = T.CD_TABCOMPRA)
LEFT JOIN ITEMTABCOMPRA IT ON (O.CD_TABCOMPRA = IT.CD_TABCOMPRA
AND O.CD_ITEM = IT.CD_ITEM)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
AND O.NR_MAQUINA = :NR_MAQUINA
ORDER BY O.CD_EMPRESA, O.NR_ORCAMENTO, O.NR_MAQUINA, O.CD_ITEM CD_EMPRESA NR_ORCAMENTO NR_MAQUINA
SELECT O.CD_EMPRESA, O.NR_ORCAMENTO, O.NR_MAQUINA, O.CD_ITEM, I.DS_ITEM, I.CD_GRUPO, O.CD_MATERIAPRIMA, I.SG_UNIDMED, I.SG_UNIDALT, I.PS_LIQUIDO, I.PS_EMBALAGEM, I.CD_CONDFISCAL, I.CD_TIPOCALCULO, CALC.FT_CALCULO, CALC.TP_CALCULO, CALC.TP_UNIDADE, O.PS_MATERIAPRIMA, O.QT_MATERIAPRIMA, O.VL_UNITARIO, O.VL_TOTAL, O.VL_VENDA, O.DT_REGISTRO, U.TP_UNIDMED, R.O_QT_SALDO, CASE WHEN PO.TP_CALCULO = 'A' THEN IC.VL_PRECO ELSE R.O_VL_CUSTO END O_VL_CUSTO
FROM MATERIAPRIMAORCAMENTO O
INNER JOIN ITEM I ON (O.CD_MATERIAPRIMA = I.CD_ITEM)
INNER JOIN TIPOCALCULO CALC ON (I.CD_TIPOCALCULO = CALC.CD_TIPOCALCULO)
INNER JOIN UNIDMED U ON (U.SG_UNIDMED = I.SG_UNIDMED)
LEFT JOIN RETORNA_SALDOESTOQUE(O.CD_EMPRESA, O.CD_MATERIAPRIMA, NULL, NULL, NULL) R ON(1 = 1)
LEFT JOIN PARMORCAMENTO PO ON (PO.CD_EMPRESA = O.CD_EMPRESA)
LEFT JOIN PARMFATUR PF ON (PF.CD_EMPRESA = O.CD_EMPRESA)
LEFT JOIN ITEMTABCOMPRA IC ON (IC.CD_ITEM = I.CD_ITEM
AND IC.CD_TABCOMPRA = PF.CD_TABCOMPRA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
AND O.NR_MAQUINA = :NR_MAQUINA
AND O.CD_ITEM = :CD_ITEM
ORDER BY O.CD_MATERIAPRIMA CD_EMPRESA NR_ORCAMENTO NR_MAQUINA CD_ITEM
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CALCULA_VALOR | referenciada nas queries do layout |
CONDPAGTO | 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 |
ITEMTABCOMPRA | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MATERIAPRIMAORCAMENTO | referenciada nas queries do layout |
MOVIMENTACAO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORCAMENTO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PARMORCAMENTO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_LINHAS | referenciada nas queries do layout |
RETORNA_SALDOESTOQUE | referenciada nas queries do layout |
TABCOMPRA | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
UNIDMED | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOR013/ULOR013.pas - DFM:
source/LOR013/ULOR013.dfm - Package:
source/LOR013/LOR013.dpk