Pular para o conteúdo principal

LOS003 — Layout LOS003

Visão Geral​

Layout de impressão da família LOS (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.

Descrição​

Consulta baseada em ORDEMSERVICO, com junção em PESSOA, ENDERECOPESSOA, MUNICIPIO, PARMFATUR, MAQUINA, MODELOMAQUINA (+6), filtrada por CD_EMPRESA, NR_ORDEMSERVICO, O, JO, CD_ITEM.

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Ordemservico
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);

SQL Base​

Ordemservico​

SELECT O.CD_EMPRESA, O.NR_ORDEMSERVICO, O.CD_PESSOA, PE.NM_PESSOA, PE.NR_CNPJCPF, EP.DS_BAIRRO, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO, '') ||COALESCE(' '||EP.DS_COMPLEMENTO,'')||COALESCE(' ' ||EP.DS_BAIRRO,'')||' '||MU.DS_MUNICIPIO||'-'||MU.SG_ESTADO DS_ENDERECO, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, EP.NR_CELULAR, O.NR_SERIEMAQUINA, M.DS_MAQUINA, P.DS_LOGOTIPO, O.DT_EMISSAO, O.CD_FORMAPAGTO, F.DS_FORMAPAGTO, O.CD_CONDPAGTO, C.DS_CONDPAGTO, O.DT_VENCIMENTO, O.DS_OBSERVACAO, O.DS_ACESSORIOS, O.DS_TECNICA, CASE O.ST_ORDEMSERVICO WHEN 'A' THEN 'ABERTA' ELSE 'FECHADA' END DS_STATUS, M.CD_MODELO, MM.DS_MODELO, M.CD_MARCA, MC.DS_MARCA, M.DS_VOLTAGEM, PE.NM_FANTASIA, PE.NM_PESSOA||' - '||PE.NM_FANTASIA NM_PESSOAFANT, PE.NM_FANTASIA||' - '||PE.NM_PESSOA NM_FANTPESSOA, O.HR_EMISSAO, PV.CD_PESSOA CD_VENDEDOR, PV.NM_PESSOA NM_VENDEDOR, O.TP_ORDEMSERVICO TP_ORDEM, O.TP_PRIORIDADE, O.DT_ENTREGA, O.DS_CONTATO, O.DS_DEFEITO, O.NR_ORDEMBLOCO NR_BLOCO, PE.DS_EMAIL, EP.NR_INSCEST, M.NR_PLACA, M.DS_MODELO DS_DESCRICAOMODELO, M.CD_PRODUTO CD_PRODUTOMAQUINA, I.DS_ITEM DS_PRODUTOMAQUINA, M.DS_TIPO, M.DS_CODIGO CD_MAQUINA, M.NR_SERIEMOTOR1, M.NR_SERIEMOTOR2,M.DT_FABRICACAO, M.DT_EMISSAO DT_EMISSAOMAQUINA, M.DS_OBSERVACAO DS_OBSMAQUINA, TOT.O_VL_TOTAL, TOT.O_VL_DESCONTO, TOT.O_VL_LIQUIDO
FROM ORDEMSERVICO O
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = O.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = O.CD_PESSOA
AND EP.CD_ENDERECO = O.CD_ENDERECO)
LEFT JOIN PESSOA PV ON (PV.CD_PESSOA = O.CD_VENDEDOR)
INNER JOIN MUNICIPIO MU ON (MU.CD_MUNICIPIO = EP.CD_MUNICIPIO)
INNER JOIN PARMFATUR P ON (P.CD_EMPRESA = O.CD_EMPRESA)
LEFT JOIN MAQUINA M ON (M.NR_SERIEMAQUINA = O.NR_SERIEMAQUINA)
LEFT JOIN MODELOMAQUINA MM ON (MM.CD_MODELO = M.CD_MODELO)
LEFT JOIN MARCA MC ON (MC.CD_MARCA = M.CD_MARCA)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = O.CD_FORMAPAGTO)
LEFT JOIN CONDPAGTO C ON (C.CD_CONDPAGTO = O.CD_CONDPAGTO)
LEFT JOIN ITEM I ON (I.CD_ITEM = M.CD_PRODUTO)
LEFT JOIN VIEW_TOTLOS003(O.CD_EMPRESA, O.NR_ORDEMSERVICO) TOT ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA 1 NR_ORDEMSERVICO 102
SELECT O.CD_SERVICO, I.DS_ITEM, O.DT_ABERTURA, O.DT_FECHAMENTO, O.QT_SERVICO, O.VL_UNITARIO, O.VL_DESCONTO, O.VL_TOTAL, (O.VL_TOTAL - COALESCE(VL_DESCONTO, 0)) VL_LIQUIDO, O.NR_SERVICO, O.CD_EMPRESA, O.NR_ORDEMSERVICO
FROM ORDEMSERVITEM O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_SERVICO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA 1 NR_ORDEMSERVICO 102
SELECT S.CD_EMPRESA, S.NR_ORDEMSERVICO, S.CD_ITEM, I.DS_ITEM, S.CD_TABPRECO, S.CD_MOVIMENTACAO, S.QT_SERVICOITEM, S.PS_SERVICOITEM, S.VL_UNITARIO, S.VL_TOTAL, S.VL_DESCONTO, (S.VL_TOTAL - COALESCE(S.VL_DESCONTO, 0)) VL_LIQUIDO
FROM SERVICOITEM S
INNER JOIN ITEM I ON (I.CD_ITEM = S.CD_ITEM)
WHERE S.CD_EMPRESA = :CD_EMPRESA
AND S.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
ORDER BY S.CD_ITEM CD_EMPRESA 1 NR_ORDEMSERVICO
SELECT P.NM_PESSOA NM_TECNICO
FROM ORDEMSERVHORA OSH
INNER JOIN PESSOA P ON (P.CD_PESSOA = OSH.CD_PESSOA)
WHERE OSH.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
AND OSH.CD_EMPRESA = :CD_EMPRESA
AND OSH.NR_SERVICO = :NR_SERVICO
AND OSH.CD_SERVICO = :CD_SERVICO NR_ORDEMSERVICO CD_EMPRESA NR_SERVICO CD_SERVICO
SELECT P.NM_PESSOA NM_VENDEDOSERV
FROM ORDEMSERVICOVENDEDOR OSV
INNER JOIN VENDEDOR V ON (V.CD_VENDEDOR = OSV.CD_VENDEDOR)
INNER JOIN PESSOA P ON (P.CD_PESSOA = V.CD_VENDEDOR)
WHERE OSV.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
AND OSV.CD_EMPRESA = :CD_EMPRESA
AND OSV.CD_ITEM = :CD_SERVICO
AND OSV.TP_ITEM = 'SV' NR_ORDEMSERVICO CD_EMPRESA CD_SERVICO
SELECT P.NM_PESSOA NM_VENDEDORPRODUTO
FROM ORDEMSERVICOVENDEDOR OSV
INNER JOIN VENDEDOR V ON (V.CD_VENDEDOR = OSV.CD_VENDEDOR)
INNER JOIN PESSOA P ON (P.CD_PESSOA = V.CD_VENDEDOR)
WHERE OSV.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
AND OSV.CD_EMPRESA = :CD_EMPRESA
AND OSV.CD_ITEM = :CD_ITEM
AND OSV.TP_ITEM = 'PC' NR_ORDEMSERVICO CD_EMPRESA CD_ITEM
SELECT P.NM_PESSOA NM_VENDEDORPROD
FROM SERVICOITEM SI
INNER JOIN PESSOA P ON (P.CD_PESSOA = SI.CD_VENDEDOR)
WHERE SI.CD_EMPRESA = :CD_EMPRESA
AND SI.CD_ITEM = :CD_ITEM
AND SI.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA CD_ITEM NR_ORDEMSERVICO
SELECT SUM(VL_TOTAL) VL_TOTAL, SUM(VL_DESCONTO) VL_DESCONTO, SUM(VL_LIQUIDO) VL_LIQUIDO
FROM (
SELECT COALESCE(SUM(VL_TOTAL),0) VL_TOTAL, COALESCE(SUM(VL_DESCONTO),0) VL_DESCONTO, COALESCE(SUM(VL_TOTAL),0) - COALESCE(SUM(VL_DESCONTO),0) VL_LIQUIDO
FROM ORDEMSERVITEM
WHERE CD_EMPRESA = :CD_EMPRESA
AND NR_ORDEMSERVICO = :NR_ORDEMSERVICO
UNION ALL
SELECT COALESCE(SUM(VL_TOTAL),0) VL_TOTAL, COALESCE(SUM(VL_DESCONTO),0) VL_DESCONTO, COALESCE(SUM(VL_TOTAL),0) - COALESCE(SUM(VL_DESCONTO),0) VL_LIQUIDO
FROM SERVICOITEM
WHERE CD_EMPRESA = :CD_EMPRESA
AND NR_ORDEMSERVICO = :NR_ORDEMSERVICO ) CD_EMPRESA 1 NR_ORDEMSERVICO

Tabelas Utilizadas​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
MAQUINAreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
MODELOMAQUINAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMSERVHORAreferenciada nas queries do layout
ORDEMSERVICOreferenciada nas queries do layout
ORDEMSERVICOVENDEDORreferenciada nas queries do layout
ORDEMSERVITEMreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
SERVICOITEMreferenciada nas queries do layout
VENDEDORreferenciada nas queries do layout
[[VIEW_TOTLOS003]]referenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOS003/ULOS003.pas
  • DFM: source/LOS003/ULOS003.dfm
  • Package: source/LOS003/LOS003.dpk