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
| Tabela | Uso |
|---|---|
CAMPOSFIXOS | referenciada nas queries do layout |
CORVEICULO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MODELOVEICULO | referenciada nas queries do layout |
MOVIMENTACAO | referenciada nas queries do layout |
OR | referenciada nas queries do layout |
ORCAMENTOPECA | referenciada nas queries do layout |
ORCAMENTOPECAITEM | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
RETORNA_MOVIMENTACAO | referenciada nas queries do layout |
RETORNA_VALORPARCELAMENTO | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
VEICULO | referenciada nas queries do layout |
VENDEDOR | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOR030/ULOR030.pas - DFM:
source/LOR030/ULOR030.dfm - Package:
source/LOR030/LOR030.dpk