Pular para o conteúdo principal

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​

TabelaUso
CALCULA_IMPOSTOORCAMENTOreferenciada nas queries do layout
CALCULA_VALORreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
CONDPARCELAreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
IMPOSTOMOVreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMTABPRECOreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NCMreferenciada nas queries do layout
ORCAMENTOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PARMORCAMENTOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOR002/ULOR002.pas
  • DFM: source/LOR002/ULOR002.dfm
  • Package: source/LOR002/LOR002.dpk