Pular para o conteúdo principal

LOR030 — Layout LOR030

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 PESSOA, com junção em VEICULO, ORCAMENTOPECAITEM, RETORNA_DADOSCADASTRAIS, EMPRESA, CORVEICULO, ITEM (+5), filtrada por NR_PLACA, CD_MODELOVEICULO, CD_MARCAVEICULO, SG_ESTADO, JO, CD_EMPRESA (+8).

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Orçamento
// 3 - Path Servidor
// 4 - Visualiza -> V | Imprime -> I | -> GeraPDF PDF
]);

SQL Base​

tabRel​

SELECT N.CD_EMPRESA, E.NM_EMPRESA, EE.DS_ENDCOMPLETO DS_ENDEREMP, EE.DS_MUNICIPIOEND DS_MUNICEMP, EE.NR_TELEFONE NR_FONEEMP, EE.NR_CEP NR_CEPEMP, N.NR_ORCAMENTO, N.DT_ORCAMENTO, N.CD_PESSOA, COALESCE(P.NM_PESSOA, N.NM_PESSOA) NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, EE.NR_INSCEST NR_INSCRICAO, EP.DS_ENDCOMPLETO DS_ENDERECO, EE.NR_CNPJCPF NR_CNPJCPFEMP, N.DT_VALIDADEORC, N.NR_PLACA, VEI.NR_CHASSIS, VEI.NR_ANO, VEI.KM_ATUAL, VEI.NR_FROTA, COR.DS_CORVEICULO, EP.DS_MUNICIPIOEND DS_MUNICIPIO, COALESCE(EP.NR_TELEFONE, N.NR_FONE) NR_FONE, N.CD_VENDEDOR, PV.NM_PESSOA NM_VENDEDOR, IP.CD_ITEM, COALESCE(IP.DS_ITEM, I.DS_ITEM) DS_ITEM, IIF(T.TP_UNIDADE <> 'Q', I.SG_UNIDMED, COALESCE(I.SG_UNIDALT, I.SG_UNIDMED)) SG_UNIDMED, IP.VL_UNITARIO, IP.VL_TOTAL, IIF(T.TP_UNIDADE = 'Q', IP.QT_ITEM, COALESCE(IP.PS_ITEM, IP.QT_ITEM)) QT_ITEM, N.DS_OBSERVACAO, (
SELECT X.NM_PESSOA
FROM PESSOA X
INNER JOIN VEICULO VEIC ON(VEIC.CD_PESSOA = X.CD_PESSOA)
WHERE VEIC.NR_PLACA = N.NR_PLACA) NM_PROPRIETARIO, (
SELECT MODVEI.DS_MODELOVEICULO
FROM MODELOVEICULO MODVEI
WHERE ((MODVEI.CD_MODELOVEICULO = N.CD_MODELOVEICULO)
AND MODVEI.CD_MARCAVEICULO = N.CD_MARCAVEICULO)) DS_MODELOVEICULO, COALESCE(I.CD_FORNECEDOR1,'')||COALESCE(' - '||I.CD_FORNECEDOR2,'') CD_FORNECEDOR, CASE I.TP_ITEM WHEN 'S' THEN 'SERVIÇOS' ELSE 'PRODUTOS' END TIPO, PFT.DS_LOGOTIPO, CASE I.TP_ITEM WHEN 'S' THEN NULL ELSE I.NR_NCM END NR_NCM, IIF(EE.SG_ESTADO = EP.SG_ESTADO, M.CD_CFOD, M.CD_CFOF) CD_CFO
FROM ORCAMENTOPECA N
INNER JOIN ORCAMENTOPECAITEM IP ON (N.CD_EMPRESA = IP.CD_EMPRESA
AND N.NR_ORCAMENTO = IP.NR_ORCAMENTO)
LEFT JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, NULL) EP ON (1 = 1)
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA)
LEFT JOIN VEICULO VEI ON(VEI.NR_PLACA = N.NR_PLACA)
LEFT JOIN PESSOA PS ON(PS.CD_PESSOA = VEI.CD_PESSOA)
LEFT JOIN CORVEICULO COR ON(COR.CD_CORVEICULO = VEI.CD_CORVEICULO)
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PE.CD_PESSOA, NULL) EE ON (1 = 1)
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
LEFT JOIN VENDEDOR V ON (V.CD_VENDEDOR = N.CD_VENDEDOR)
LEFT JOIN PESSOA PV ON (PV.CD_PESSOA = V.CD_VENDEDOR)
LEFT JOIN TIPOCALCULO T ON (T.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
LEFT JOIN PARMFATUR PFT ON (PFT.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN RETORNA_MOVIMENTACAO('S', I.CD_GRUPO, I.CD_ITEM, I.CD_CONDFISCAL, EP.CD_CONDFISCAL, N.CD_CONDPAGTO, NULL) MOV ON (1=1)
LEFT JOIN MOVIMENTACAO M ON (M.CD_MOVIMENTACAO = COALESCE(MOV.O_CD_MOVIMENTACAO, IIF(I.TP_ITEM = 'S', PFT.CD_MOVSERVICO, PFT.CD_MOVSAIDA)))
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_ORCAMENTO = :NR_ORCAMENTO
ORDER BY IP.TP_ITEM DESC CD_EMPRESA 1 NR_ORCAMENTO 42 CD_EMPRESA "ORCAMENTOPECA"."CD_EMPRESA" NM_EMPRESA "EMPRESA"."NM_EMPRESA" DS_ENDEREMP "RETORNA_DADOSCADASTRAIS"."DS_ENDCOMPLETO" DS_MUNICEMP "RETORNA_DADOSCADASTRAIS"."DS_MUNICIPIOEND" NR_FONEEMP "RETORNA_DADOSCADASTRAIS"."NR_TELEFONE" NR_CEPEMP "RETORNA_DADOSCADASTRAIS"."NR_CEP" NR_ORCAMENTO "ORCAMENTOPECA"."NR_ORCAMENTO" DT_ORCAMENTO "ORCAMENTOPECA"."DT_ORCAMENTO" CD_PESSOA "ORCAMENTOPECA"."CD_PESSOA" NM_PESSOA NR_CNPJCPF "PESSOA"."NR_CNPJCPF" NR_CEP "RETORNA_DADOSCADASTRAIS"."NR_CEP" NR_INSCRICAO "RETORNA_DADOSCADASTRAIS"."NR_INSCEST" DS_ENDERECO "RETORNA_DADOSCADASTRAIS"."DS_ENDCOMPLETO" NR_CNPJCPFEMP "RETORNA_DADOSCADASTRAIS"."NR_CNPJCPF" DT_VALIDADEORC "ORCAMENTOPECA"."DT_VALIDADEORC" NR_PLACA "ORCAMENTOPECA"."NR_PLACA" NR_CHASSIS "VEICULO"."NR_CHASSIS" NR_ANO "VEICULO"."NR_ANO" KM_ATUAL "VEICULO"."KM_ATUAL" NR_FROTA "VEICULO"."NR_FROTA" DS_CORVEICULO "CORVEICULO"."DS_CORVEICULO" DS_MUNICIPIO "RETORNA_DADOSCADASTRAIS"."DS_MUNICIPIOEND" NR_FONE CD_VENDEDOR "ORCAMENTOPECA"."CD_VENDEDOR" NM_VENDEDOR "PESSOA"."NM_PESSOA" CD_ITEM "ORCAMENTOPECAITEM"."CD_ITEM" DS_ITEM SG_UNIDMED "ITEM"."SG_UNIDMED" VL_UNITARIO "ORCAMENTOPECAITEM"."VL_UNITARIO" VL_TOTAL "ORCAMENTOPECAITEM"."VL_TOTAL" QT_ITEM "ORCAMENTOPECAITEM"."QT_ITEM" DS_OBSERVACAO "ORCAMENTOPECA"."DS_OBSERVACAO" NM_PROPRIETARIO DS_MODELOVEICULO CD_FORNECEDOR TIPO DS_LOGOTIPO "PARMFATUR"."DS_LOGOTIPO"
SELECT VLP.O_NR_LINHA, CAST( 'S' AS VARCHAR(1))ST_MARCADO, VLP.O_DS_CONDICAO, VLP.O_VL_PARCELA
FROM RETORNA_VALORPARCELAMENTO(:CD_EMPRESA, :NR_ORCAMENTO, 30, :NR_PARCELAS) VLP CD_EMPRESA 1 NR_ORCAMENTO NR_PARCELAS O_NR_LINHA "RETORNA_VALORPARCELAMENTO"."O_NR_LINHA" ST_MARCADO O_DS_CONDICAO "RETORNA_VALORPARCELAMENTO"."O_DS_CONDICAO" O_VL_PARCELA "RETORNA_VALORPARCELAMENTO"."O_VL_PARCELA" #,0.00
INSERT INTO RETORNA_VALORPARCELAMENTO (ST_MARCADO)
VALUES (:ST_MARCADO)
UPDATE RETORNA_VALORPARCELAMENTO
SET ST_MARCADO = :ST_MARCADO
WHERE O_NR_LINHA = :OLD_O_NR_LINHA
DELETE FROM RETORNA_VALORPARCELAMENTO
WHERE O_NR_LINHA = :OLD_O_NR_LINHA
SELECT
FROM RETORNA_VALORPARCELAMENTO
WHERE O_NR_LINHA = :O_NR_LINHA
SELECT E.CD_EMPRESA, E.NM_EMPRESA, CAST ( 6 AS INTEGER) NR_PARCELAS
FROM EMPRESA E
WHERE E.CD_EMPRESA = :CD_EMPRESA CD_EMPRESA 1 CD_EMPRESA "EMPRESA"."CD_EMPRESA" NM_EMPRESA "EMPRESA"."NM_EMPRESA" NR_PARCELAS
INSERT INTO EMPRESA (CD_EMPRESA, NM_EMPRESA, NR_PARCELAS)
VALUES (:CD_EMPRESA, :NM_EMPRESA, :NR_PARCELAS)
UPDATE EMPRESA
SET CD_EMPRESA = :CD_EMPRESA, NM_EMPRESA = :NM_EMPRESA, NR_PARCELAS = :NR_PARCELAS
WHERE CD_EMPRESA = :OLD_CD_EMPRESA
DELETE FROM EMPRESA
WHERE CD_EMPRESA = :OLD_CD_EMPRESA
SELECT CD_EMPRESA, NM_EMPRESA
FROM EMPRESA
WHERE CD_EMPRESA = :CD_EMPRESA

tabParcelamentos​

{frmLOR030}

Consulta #1​

SELECT C.VL_CAMPO
FROM CAMPOSFIXOS C
WHERE C.CD_EMPRESA = 1
AND C.CD_MODULO = 'LOR030'
AND C.NM_CAMPO = 'NR_MAXPARCELA'

Consulta #2​

UPDATE
OR INSERT INTO CAMPOSFIXOS (CD_EMPRESA, CD_USUARIO, NM_TABELA ,CD_MODULO, NM_CAMPO,VL_CAMPO)
VALUES (1, 'ADMIN', 'LOR030', 'LOR030', 'NR_MAXPARCELA', {Nulo(frmLOR030.tabEmpresaNR_PARCELAS.AsString,}I{)}) MATCHING (CD_EMPRESA, NM_CAMPO)

Tabelas Utilizadas​

TabelaUso
CAMPOSFIXOSreferenciada nas queries do layout
CORVEICULOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
MODELOVEICULOreferenciada nas queries do layout
MOVIMENTACAOreferenciada nas queries do layout
ORreferenciada nas queries do layout
ORCAMENTOPECAreferenciada nas queries do layout
ORCAMENTOPECAITEMreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_MOVIMENTACAOreferenciada nas queries do layout
RETORNA_VALORPARCELAMENTOreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout
VEICULOreferenciada nas queries do layout
VENDEDORreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOR030/ULOR030.pas
  • DFM: source/LOR030/ULOR030.dfm
  • Package: source/LOR030/LOR030.dpk