Pular para o conteúdo principal

LOR023 — Layout LOR023

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 MOVIMENTACAO, OBSFISCAL, PESSOA, ITEM, TIPOCALCULO, MARCA (+17), filtrada por CD_EMPRESA, NR_ORCAMENTO.

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 --EMPRESA-- N.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, PE.NR_CNPJCPF NR_CNPJEMPRESA, EE.NR_INSCEST NR_INSCESTEMPRESA, EE.NR_INSCMUN NR_INSCMUNEMPRESA, PE.DS_SITE DS_SITEEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, EE.DS_ENDERECO DS_ENDEMPRESA, EE.NR_ENDERECO NR_ENDEMPRESA, EE.NR_CEP NR_CEPEMPRESA, EE.DS_BAIRRO DS_BAIRROEMPRESA, EE.DS_COMPLEMENTO DS_COMPEMPRESA, ME.DS_MUNICIPIO DS_MUNEMPRESA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, EE.NR_CELULAR NR_CELULAREMPRESA, --CLIENTE-- P.NM_PESSOA, P.CD_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, EP.DS_ENDERECO DS_ENDPESSOA, EP.NR_ENDERECO NR_ENDPESSOA, EP.NR_CEP NR_CEPPESSOA, EP.DS_BAIRRO DS_BAIRROPESSOA, EP.DS_COMPLEMENTO DS_COMPPESSOA, MP.DS_MUNICIPIO DS_MUNPESSOA, EP.NR_FONE, EP.NR_FAX, PA.DS_LOGOTIPO, P.NM_FANTASIA NM_FANTASIACLIENTE, EP.NR_INSCEST NR_INSCESTCLIENTE, EP.NR_CELULAR NR_CELULARCLIENTE, PF.NR_RG NR_RGCLIENTE, RC.DS_REGIAOCOMERCIAL DS_REGIAOCOMERCIALCLIENTE, --NOTA-- N.NR_ORCAMENTO NR_DOCUMENTO, N.DT_ORCAMENTO DT_DOCUMENTO, N.DT_REGISTRO HR_DOCUMENTO, N.CD_VENDEDOR, V.CD_PESSOA||' - '||V.NM_PESSOA NM_VENDEDOR, (
SELECT FIRST 1 MOVI.DS_NATUREZA
FROM MAQUINAORCAMENTO MO
INNER JOIN MOVIMENTACAO MOVI ON (MOVI.CD_MOVIMENTACAO = MO.CD_MOVIMENTACAO)
WHERE MO.CD_EMPRESA = N.CD_EMPRESA
AND MO.NR_ORCAMENTO = N.NR_ORCAMENTO
ORDER BY MO.NR_MAQUINA) DS_NATUREZA, N.DT_ENTREGA, N.NR_DIASENTREGA, N.NR_DIASVALIDADE, N.CD_TERCEIRO CD_PRESTADOR, PT.NM_PESSOA NM_PRESTADOR, N.DS_OBSERVACAO DS_OBSORCAMENTO, CASE N.TP_PAGTOFRETE WHEN '1' THEN 'Remetente - CIF' WHEN '2' THEN 'Destinatário - FOB' WHEN '3' THEN 'Frete Pago Acima de 1500,00' ELSE 'Frete Pago Acima de 2420,00' END TP_PAGTOFRETE, ET.DS_ENDERECO DS_ENDERECOENTREGA, N.DS_PROPOSTA, N.DS_CONTATO, --PRODUTO-- I.CD_ITEM, COALESCE(I.DS_ITEM, MA.DS_MAQUINA) DS_ITEM, I.SG_UNIDMED, M.DS_MARCA, I.CD_GRADE, G.DS_GRADE, CASE TC.TP_UNIDADE WHEN 'P' THEN MA.PS_MAQUINA ELSE MA.QT_MAQUINA END QT_ITEM, RP.O_VL_PRECO VL_PRECO, MA.PS_MAQUINA, MA.QT_MAQUINA, MA.VL_UNITARIO, MA.VL_TOTAL, MA.DS_OBSERVACAO DS_OBSERVACAOPROD, I.DS_ESPECIFICACAO DS_OBSERVACAO, I.CD_CODIGOBARRA, I.CD_FORNECEDOR1, COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0) PS_ITEM, CAST((COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) * CASE TC.TP_UNIDADE WHEN 'P' THEN MA.PS_MAQUINA ELSE MA.QT_MAQUINA END AS DOM_NUMERIC15_3) PS_ITEMTOTAL, SUM(CI.O_VL_TOTAL) VL_IMPOSTO, MA.VL_DESCONTO VL_DESCITEM, MA.CD_CODBARRAS CD_CODIGOBARRABALANCA, MA.NR_MAQUINA NR_SEQITEM, GP.DS_GRUPO, SG.DS_SUBGRUPO, I.NR_NCM, MOV.CD_CST, CS.DS_CST, MOV.CD_CFOD, MOV.CD_CFOF, MOV.DS_MOVIMENTACAO, RP.O_DS_TABPRECO, I.SG_UNIDALT, CASE TC.TP_UNIDADE WHEN 'Q' THEN MA.PS_MAQUINA ELSE MA.QT_MAQUINA END QT_UNIDALTITEM, CAST(((MA.VL_DESCONTO * 100) / MA.VL_TOTAL) AS DOM_NUMERIC15_2) PC_DESCONTO, MA.DS_ESPECIFICACAO DS_ESPECITEMORCAMENTO, --RODAPÉ-- N.CD_CONDPAGTO, C.DS_CONDPAGTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, PA.DS_MENSAGEM, SUM(MA.VL_TOTAL) - SUM(COALESCE(MA.VL_DESCONTO, 0)) VL_ORCAMENTOLIQUIDO, SUM(MA.VL_TOTAL) VL_ORCAMENTO, SUM(COALESCE(MA.VL_DESCONTO, 0)) VL_DESCONTO, SUM(MA.QT_MAQUINA) QT_TOTAL, SUM(MA.PS_MAQUINA) PS_TOTAL, RDC.DS_ENDCOMPLETO DS_ENDCOBRANCA, RDE.DS_ENDCOMPLETO DS_ENDENTREGA, (
SELECT FIRST 1 OBSF.DS_OBSNF
FROM MAQUINAORCAMENTO MO
INNER JOIN MOVIMENTACAO MOVI ON (MOVI.CD_MOVIMENTACAO = MO.CD_MOVIMENTACAO)
LEFT JOIN OBSFISCAL OBSF ON (OBSF.CD_OBSFISCAL = MOVI.CD_OBSFISCAL)
WHERE MO.CD_EMPRESA = N.CD_EMPRESA
AND MO.NR_ORCAMENTO = N.NR_ORCAMENTO
ORDER BY MO.NR_MAQUINA) DS_OBSNF, RCP.O_DS_CONDPAGTO DS_PARCELAS, --USUÁRIO-- CAST(:NM_USUARIO AS DOM_VARCHAR60) NM_USUARIO
FROM ORCAMENTO N
INNER JOIN PESSOA P ON (P.CD_PESSOA = N.CD_PESSOA)
INNER JOIN MAQUINAORCAMENTO MA ON (MA.CD_EMPRESA = N.CD_EMPRESA
AND MA.NR_ORCAMENTO = N.NR_ORCAMENTO)
LEFT JOIN ITEM I ON (I.CD_ITEM = MA.CD_ITEM)
LEFT JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
LEFT JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA)
LEFT JOIN GRADE G ON (G.CD_GRADE = I.CD_GRADE)
INNER JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA
AND N.CD_ENDERECO = EP.CD_ENDERECO)
INNER 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 PARMFATUR PA ON (PA.CD_EMPRESA = N.CD_EMPRESA)
INNER JOIN MOVIMENTACAO MOV ON (MOV.CD_MOVIMENTACAO = MA.CD_MOVIMENTACAO)
LEFT JOIN CONDPARCELA CP ON (CP.CD_CONDPAGTO = C.CD_CONDPAGTO)
LEFT JOIN CST CS ON (CS.CD_CST = MOV.CD_CST)
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'B') RDC ON (1 = 1)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'E') RDE ON (1 = 1)
LEFT JOIN RETORNA_PRECOITEM(N.CD_EMPRESA, MA.CD_TABPRECO, MA.CD_ITEM, CURRENT_DATE, N.CD_CONDPAGTO, N.DT_VENCIMENTO) RP ON (1 = 1)
LEFT JOIN CALCULA_IMPOSTOORCAMENTO(N.CD_EMPRESA, N.NR_ORCAMENTO, COALESCE(MA.CD_ITEM, -1)) CI ON (1 = 1)
LEFT JOIN REGIAOCOMERCIAL RC ON (RC.CD_REGIAOCOMERCIAL = EP.CD_REGIAOCOMERCIAL)
LEFT JOIN PESSOA PT ON (PT.CD_PESSOA = N.CD_TERCEIRO)
LEFT JOIN ENDERECOPESSOA ET ON (ET.CD_PESSOA = N.CD_PESSOA
AND ET.CD_ENDERECO = N.CD_ENDENTREGA)
LEFT JOIN GRUPO GP ON (GP.CD_GRUPO = I.CD_GRUPO)
LEFT JOIN SUBGRUPO SG ON (SG.CD_SUBGRUPO = I.CD_SUBGRUPO)
LEFT JOIN RETORNA_CONDPAGORCAMENTO(N.CD_EMPRESA, N.NR_ORCAMENTO) RCP ON (1 = 1)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORCAMENTO = :NR_ORCAMENTO
GROUP BY N.CD_EMPRESA, PE.NM_PESSOA, PE.NM_FANTASIA, PE.NR_CNPJCPF, EE.NR_INSCEST, EE.NR_INSCMUN, PE.DS_SITE, PE.DS_EMAIL, EE.DS_ENDERECO, EE.NR_ENDERECO, EE.NR_CEP, EE.DS_BAIRRO, EE.DS_COMPLEMENTO, ME.DS_MUNICIPIO, P.NM_PESSOA, P.CD_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, EP.DS_ENDERECO, EP.NR_ENDERECO, EP.NR_CEP, EP.DS_BAIRRO, EP.DS_COMPLEMENTO, MP.DS_MUNICIPIO, EP.NR_FONE, EP.NR_FAX, N.NR_ORCAMENTO, N.DT_ORCAMENTO, N.DT_REGISTRO, V.CD_PESSOA, V.NM_PESSOA, I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, M.DS_MARCA, I.CD_GRADE, G.DS_GRADE, CASE TC.TP_UNIDADE WHEN 'P' THEN MA.PS_MAQUINA ELSE MA.QT_MAQUINA END, MA.PS_MAQUINA, MA.QT_MAQUINA, RP.O_VL_PRECO, MA.VL_UNITARIO, MA.VL_TOTAL, MA.DS_OBSERVACAO , I.DS_ESPECIFICACAO, I.CD_CODIGOBARRA, I.CD_FORNECEDOR1, I.PS_LIQUIDOEMB, I.PS_EMBALAGEM, N.CD_CONDPAGTO, C.DS_CONDPAGTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, PA.DS_MENSAGEM, RDC.DS_ENDCOMPLETO, RDE.DS_ENDCOMPLETO, EE.NR_FONE, EE.NR_FAX, PA.DS_LOGOTIPO, MA.VL_DESCONTO, MA.CD_CODBARRAS, N.CD_VENDEDOR, NR_CELULAREMPRESA, NM_FANTASIACLIENTE, NR_INSCESTCLIENTE, NR_CELULARCLIENTE, NR_RGCLIENTE, DS_REGIAOCOMERCIALCLIENTE, N.DT_ENTREGA, N.NR_DIASENTREGA, N.NR_DIASVALIDADE, CAST(:NM_USUARIO AS DOM_VARCHAR60), N.CD_TERCEIRO, PT.NM_PESSOA, N.DS_OBSERVACAO, CASE N.TP_PAGTOFRETE WHEN '1' THEN 'Remetente - CIF' WHEN '2' THEN 'Destinatário - FOB' WHEN '3' THEN 'Frete Pago Acima de 1500,00' ELSE 'Frete Pago Acima de 2420,00' END, ET.DS_ENDERECO, MA.NR_MAQUINA, GP.DS_GRUPO, SG.DS_SUBGRUPO, I.NR_NCM, MOV.CD_CST, CS.DS_CST, MOV.CD_CFOD, MOV.CD_CFOF, MOV.DS_MOVIMENTACAO, RP.O_DS_TABPRECO, I.SG_UNIDALT, CASE TC.TP_UNIDADE WHEN 'Q' THEN MA.PS_MAQUINA ELSE MA.QT_MAQUINA END, MA.DS_ESPECIFICACAO, N.DS_PROPOSTA, N.DS_CONTATO, MA.DS_MAQUINA, RCP.O_DS_CONDPAGTO
ORDER BY MA.NR_MAQUINA NM_USUARIO CD_EMPRESA 1 NR_ORCAMENTO NM_USUARIO

Tabelas Utilizadas​

TabelaUso
CALCULA_IMPOSTOORCAMENTOreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
CONDPARCELAreferenciada nas queries do layout
CSTreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
GRADEreferenciada nas queries do layout
GRUPOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
MOVIMENTACAOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
OBSFISCALreferenciada nas queries do layout
ORCAMENTOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PESSOAFISICAreferenciada nas queries do layout
REGIAOCOMERCIALreferenciada nas queries do layout
RETORNA_CONDPAGORCAMENTOreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_PRECOITEMreferenciada nas queries do layout
SUBGRUPOreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOR023/ULOR023.pas
  • DFM: source/LOR023/ULOR023.dfm
  • Package: source/LOR023/LOR023.dpk