LOR002 — Layout LOR002
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 CALCULA_VALOR, com junção em CALCULA_IMPOSTOORCAMENTO, MAQUINAORCAMENTO, ITEM, MARCA, NCM, IMPOSTOMOV (+10), filtrada por CD_EMPRESA, NR_ORCAMENTO, MAQU, JO, PS_MAQU, QT_MAQU (+13).
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 CD_EMPRESA, NM_EMPRESA, NR_CNPJCPF, ST_CALCULAIMPOSTO, O_VL_TOTAL, O_PC_IMPOSTO, O_VL_IPI, DS_ENDERECO, DS_MUNICIPIO, NR_FONE, NR_FAX, NR_CEP, NR_INSCEST, NR_ORCAMENTO, DT_ORCAMENTO, DT_ENTREGA, DS_EMAIL, DS_CONTATO, CD_PESSOA, NM_PESSOA, DS_EMAILCLI, CD_VENDEDOR, NM_VENDEDOR, DS_OBSERVACAO, NR_MAQUINA, DS_MAQUINA, DS_ESPECIFICACAO, VL_UNITARIO, VL_TOTAL, VL_TOTALTABPRECO, QT_MAQUINA, PS_MAQUINA, COALESCE(PS_MAQUINA, QT_MAQUINA) PS_QT_MAQUINA, DS_LOGOTIPO, DS_CONDPAGTO, CD_CONDPAGTO, NR_DIASVALIDADE, NR_DIASENTREGA, NR_CPF, NR_EST, DS_ENDCOMPLETO, NR_FONECLI,DS_PAGTOFRETE, CD_ITEM, DS_MARCA, VL_LIQUIDO, VL_DESCONTO, SG_UNIDMED, (VL_TOTAL - coalesce(VL_DESCONTO, 0)) VL_TOTLIQUIDO, DS_EMAILVENDEDOR, NR_PARCELAS, (VL_TOTALTABPRECO/NULLIF(NR_PARCELAS,0)) VL_PARCELATABPRECO, (VL_TOTAL/NULLIF(NR_PARCELAS,0)) VL_PARCELATOTAL
FROM(
SELECT DISTINCT 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, v.DS_EMAIL DS_EMAILVENDEDOR, O.DS_OBSERVACAO, M.NR_MAQUINA, M.DS_MAQUINA, M.DS_ESPECIFICACAO, M.VL_UNITARIO, CAST((
SELECT cv.V_VL_TOTAL
FROM calcula_valor(m.cd_item, m.ps_maquina, m.qt_maquina, COALESCE(ITP.VL_PRECO, M.VL_UNITARIO,0), 'T') cv) AS DOM_NUMERIC15_2) VL_TOTALTABPRECO, CAST( (
SELECT cv.V_VL_TOTAL
FROM calcula_valor(m.cd_item, m.ps_maquina, m.qt_maquina, m.vl_unitario, 'T') cv) AS DOM_NUMERIC15_2) VL_TOTAL, M.QT_MAQUINA, M.PS_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, 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, CAST((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(cv.V_VL_TOTAL) - SUM(COALESCE(M.VL_DESCONTO,0))
FROM MAQUINAORCAMENTO M --calcula valor
LEFT JOIN calcula_valor(m.cd_item, m.ps_maquina, m.qt_maquina, m.vl_unitario, 'T') cv on 1 = 1
WHERE M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO) ELSE (
SELECT SUM(cv.V_VL_TOTAL) - SUM(COALESCE(M.VL_DESCONTO,0))
FROM MAQUINAORCAMENTO M --calcula valor
LEFT JOIN calcula_valor(m.cd_item, m.ps_maquina, m.qt_maquina, m.vl_unitario, 'T') cv on 1 = 1
WHERE M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO) END) AS DOM_NUMERIC15_2) VL_LIQUIDO, M.VL_DESCONTO, I.SG_UNIDMED, (
SELECT COALESCE(MAX(CP.NR_PARCELA), 1)
FROM CONDPARCELA CP
WHERE CP.CD_CONDPAGTO = O.CD_CONDPAGTO) NR_PARCELAS
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 ITEMTABPRECO ITP ON (ITP.CD_TABPRECO = M.CD_TABPRECO
AND ITP.CD_ITEM = M.CD_ITEM)
LEFT JOIN CONDPARCELA CP ON (CP.CD_CONDPAGTO = O.CD_CONDPAGTO)
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
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO
ORDER BY M.NR_MAQUINA CD_EMPRESA 1 NR_ORCAMENTO 76
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CALCULA_IMPOSTOORCAMENTO | referenciada nas queries do layout |
CALCULA_VALOR | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
CONDPARCELA | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
IMPOSTOMOV | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMTABPRECO | 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 |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOR002/ULOR002.pas - DFM:
source/LOR002/ULOR002.dfm - Package:
source/LOR002/LOR002.dpk