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
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MAQUINA | referenciada nas queries do layout |
MARCA | referenciada nas queries do layout |
MODELOMAQUINA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMSERVHORA | referenciada nas queries do layout |
ORDEMSERVICO | referenciada nas queries do layout |
ORDEMSERVICOVENDEDOR | referenciada nas queries do layout |
ORDEMSERVITEM | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
SERVICOITEM | referenciada nas queries do layout |
VENDEDOR | referenciada 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