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
| Tabela | Uso |
|---|---|
CALCULA_IMPOSTOORCAMENTO | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
CONDPARCELA | referenciada nas queries do layout |
CST | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
GRADE | referenciada nas queries do layout |
GRUPO | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MARCA | referenciada nas queries do layout |
MOVIMENTACAO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
OBSFISCAL | referenciada nas queries do layout |
ORCAMENTO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PESSOAFISICA | referenciada nas queries do layout |
REGIAOCOMERCIAL | referenciada nas queries do layout |
RETORNA_CONDPAGORCAMENTO | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
RETORNA_PRECOITEM | referenciada nas queries do layout |
SUBGRUPO | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOR023/ULOR023.pas - DFM:
source/LOR023/ULOR023.dfm - Package:
source/LOR023/LOR023.dpk