LOR028 — Layout LOR028
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 MAQUINAORCAMENTO, com junção em CALCULA_IMPOSTOORCAMENTO, ITEM, MARCA, NCM, IMPOSTOMOV, PESSOA (+10), filtrada por CD_EMPRESA, NR_ORCAMENTO, MAQU, O, JO, CD_ITEM (+10).
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 distinct PE.NM_PESSOA NM_PESSOAEMPRESA, O.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF, PO.ST_CALCULAIMPOSTO, CASE WHEN IPI.O_VL_TOTAL>=0
AND PO.ST_CALCULAIMPOSTO = 'S'then IPI.O_VL_TOTAL ELSE 0 END O_VL_TOTAL, CASE WHEN IPI.O_PC_IMPOSTO>=0
AND PO.ST_CALCULAIMPOSTO = 'S'then IPI.O_PC_IMPOSTO ELSE 0 END O_PC_IMPOSTO, CASE WHEN IPI.O_VL_IPI>=0
AND PO.ST_CALCULAIMPOSTO = 'S'then IPI.O_VL_IPI ELSE 0 END O_VL_IPI, 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, PE.DS_EMAIL, O.DS_CONTATO, P.CD_PESSOA, P.NM_PESSOA, P.DS_EMAIL DS_EMAILCLI, O.CD_VENDEDOR, V.NM_PESSOA NM_VENDEDOR, O.DS_OBSERVACAO, M.NR_MAQUINA, M.DS_MAQUINA, M.DS_ESPECIFICACAO, M.VL_UNITARIO, M.VL_TOTAL, M.QT_MAQUINA, PM.DS_LOGOTIPO, 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, X.NR_CNPJCPF NR_CPF, X.NR_INSCEST NR_EST, X.DS_ENDCOMPLETO, X.NR_FONE NR_FONECLI, X.DS_CONTATO DS_CONTATOPESSOA, CASE WHEN O.TP_PAGTOFRETE = 1 THEN 'Remetente - CIF' WHEN O.TP_PAGTOFRETE = 2 THEN 'Destinatário - FOB' WHEN O.TP_PAGTOFRETE = 3 THEN 'Outros' END DS_PAGTOFRETE, I.CD_ITEM, MA.DS_MARCA, CASE WHEN PO.ST_CALCULAIMPOSTO = 'S' THEN (
SELECT SUM(COALESCE(EEE.O_VL_TOTAL,0))
FROM MAQUINAORCAMENTO M
LEFT JOIN CALCULA_IMPOSTOORCAMENTO(M.CD_EMPRESA, M.NR_ORCAMENTO, M.NR_MAQUINA) EEE ON (1=1)
WHERE M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO) + (
SELECT SUM(COALESCE(M.VL_TOTAL,0))
FROM MAQUINAORCAMENTO M
WHERE M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO) ELSE (
SELECT SUM(COALESCE(M.VL_TOTAL,0))
FROM MAQUINAORCAMENTO M
WHERE M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO) END VL_LIQUIDO, M.VL_DESCONTO, I.SG_UNIDMED , ME.DS_MUNICIPIO ||', '|| D.O_DS_DATA DT_EXTENSO
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
LEFT JOIN ITEM I ON (I.CD_ITEM = M.CD_ITEM)
LEFT JOIN MARCA MA ON (MA.CD_MARCA = I.CD_MARCA)
LEFT JOIN NCM ON (I.NR_NCM = NCM.NR_NCM)
LEFT JOIN IMPOSTOMOV IM ON(IM.CD_EMPRESA = M.CD_EMPRESA
AND IM.CD_MOVIMENTACAO = M.CD_MOVIMENTACAO)
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 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)
LEFT JOIN PARMFATUR PM ON (PM.CD_EMPRESA = O.CD_EMPRESA)
LEFT JOIN PARMORCAMENTO PO ON ( PO.CD_EMPRESA = O.CD_EMPRESA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(P.CD_PESSOA, NULL) X ON (1 = 1)
LEFT JOIN CALCULA_IMPOSTOORCAMENTO(O.CD_EMPRESA, O.NR_ORCAMENTO, M.NR_MAQUINA)IPI ON (1 = 1)
LEFT JOIN DATA_EXTENSO(CURRENT_DATE) D ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
ORDER BY M.NR_MAQUINA CD_EMPRESA 1 NR_ORCAMENTO 76
SELECT M.DS_ESPECIFICACAO , M.NR_MAQUINA, M.DS_MAQUINA , I.NR_NCM, N.DS_NCM, S.O_DS_ESPECIFICACAO, /* CASE WHEN N.PC_IPI IS NULL THEN '0% - ISENTO' ELSE (
SELECT X.O_DS_VALOR||'%'
FROM FORMATA_VALOR2(N.PC_IPI) X) END PC_IPI, */ O.NR_DIASENTREGA, CASE WHEN O.TP_PAGTOFRETE = 1 THEN 'Remetente - CIF' WHEN O.TP_PAGTOFRETE = 2 THEN 'Destinatário - FOB' WHEN O.TP_PAGTOFRETE = 3 THEN 'Outros' END DS_PAGTOFRETE , CASE C.ST_CONDPAGTO WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(O.DT_VENCIMENTO,'%d/%m/%Y') ELSE C.DS_CONDPAGTO END DS_CONDPAGTO, F.DS_FORMAPAGTO, M.VL_UNITARIO, G.O_PC_ICMS, G.O_VL_ICMS, /* (M.VL_UNITARIO * COALESCE(G.O_PC_ICMS,0) / 100) VL_ICMS , CASE WHEN N.PC_IPI IS NULL THEN 'ISENTO' ELSE (
SELECT 'R$ '|| X.O_DS_VALOR
FROM FORMATA_VALOR2((M.VL_UNITARIO * COALESCE(N.PC_IPI,0) / 100)) X) END VL_IPI , */ GG.O_PC_IMPOSTO, CASE WHEN GG.O_PC_IMPOSTO = 0.00 THEN '0,00% - ISENTO' ELSE (
SELECT X.O_DS_VALOR||'%'
FROM FORMATA_VALOR2(GG.O_PC_IMPOSTO) X) END PC_IPI, GG.O_VL_IPI , M.VL_TOTAL
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
INNER JOIN ITEM I ON (I.CD_ITEM = M.CD_ITEM)
INNER JOIN NCM N ON (N.NR_NCM = I.NR_NCM)
LEFT JOIN SEPARA_ESPECIFICACAO(O.CD_EMPRESA, O.NR_ORCAMENTO, M.NR_MAQUINA) S ON (1=1)
LEFT JOIN CALCULA_IMPOSTOORCAMENTO(O.CD_EMPRESA, O.NR_ORCAMENTO, M.NR_MAQUINA) G ON (1=1)
LEFT JOIN CALCULA_IMPOSTOORCAMENTO(O.CD_EMPRESA, O.NR_ORCAMENTO, M.NR_MAQUINA) GG ON (1=1)
INNER JOIN CONDPAGTO C ON (O.CD_CONDPAGTO = C.CD_CONDPAGTO)
INNER JOIN FORMAPAGTO F ON (O.CD_FORMAPAGTO = F.CD_FORMAPAGTO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
AND M.NR_MAQUINA = :NR_MAQUINA
ORDER BY M.NR_MAQUINA CD_EMPRESA 1 NR_ORCAMENTO 76 NR_MAQUINA
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CALCULA_IMPOSTOORCAMENTO | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
DATA_EXTENSO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
| [[FORMATA_VALOR2]] | referenciada nas queries do layout |
IMPOSTOMOV | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MARCA | 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 |
PARMORCAMENTO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
SEPARA_ESPECIFICACAO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOR028/ULOR028.pas - DFM:
source/LOR028/ULOR028.dfm - Package:
source/LOR028/LOR028.dpk