Pular para o conteúdo principal

LOR037 — Layout LOR037

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, PESSOA, ITEM, TIPOCALCULO, MARCA, GRADE (+16), 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, --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
SELECT DISTINCT N.NR_ORCAMENTO, I.CD_ITEM, COALESCE(I.DS_ITEM, MA.DS_MAQUINA) DS_ITEM, CASE TC.TP_UNIDADE WHEN 'P' THEN MA.PS_MAQUINA ELSE MA.QT_MAQUINA END QT_ITEM, MA.VL_UNITARIO, MA.VL_TOTAL, MA.DS_ESPECIFICACAO
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)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORCAMENTO = :NR_ORCAMENTO
GROUP BY N.CD_EMPRESA, N.NR_ORCAMENTO, I.CD_ITEM, DS_ITEM, QT_ITEM, MA.VL_UNITARIO, MA.VL_TOTAL, MA.DS_ESPECIFICACAO
ORDER BY N.CD_EMPRESA, I.CD_ITEM, DS_ITEM, QT_ITEM, MA.VL_UNITARIO, MA.VL_TOTAL, MA.DS_ESPECIFICACAO CD_EMPRESA 1 NR_ORCAMENTO
SELECT DISTINCT I.CD_ITEM, COALESCE(I.DS_ITEM, MA.DS_MAQUINA) DS_ITEM, CASE TC.TP_UNIDADE WHEN 'P' THEN MA.PS_MAQUINA ELSE MA.QT_MAQUINA END QT_ITEM, MA.VL_UNITARIO, MA.VL_TOTAL, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, N.CD_CONDPAGTO, C.DS_CONDPAGTO
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)
INNER JOIN CONDPAGTO C ON (N.CD_CONDPAGTO = C.CD_CONDPAGTO)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORCAMENTO = :NR_ORCAMENTO
GROUP BY N.CD_EMPRESA, I.CD_ITEM, DS_ITEM, QT_ITEM, MA.VL_UNITARIO, MA.VL_TOTAL, MA.DS_OBSERVACAO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, N.CD_CONDPAGTO, C.DS_CONDPAGTO
ORDER BY N.CD_EMPRESA, I.CD_ITEM, DS_ITEM, QT_ITEM, MA.VL_UNITARIO, MA.VL_TOTAL, MA.DS_OBSERVACAO CD_EMPRESA 1 NR_ORCAMENTO

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
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/LOR037/ULOR037.pas
  • DFM: source/LOR037/ULOR037.dfm
  • Package: source/LOR037/LOR037.dpk