Pular para o conteúdo principal

LOS016 — Layout LOS016

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 CURRENT_DATE, com junção em PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, SESSAO, USUARIO (+2), filtrada por CD_PESSOA, JO, CD_EMPRESA, NR_ORDEMSERVICO.

Chamada​

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

SQL Base​

Orcamento​

SELECT CASE EXTRACT(WEEKDAY
FROM CURRENT_DATE) WHEN '0' THEN 'Domingo' WHEN '1' THEN 'Segunda-Feira' WHEN '2' THEN 'Terça-Feira' WHEN '3' THEN 'Quarta-Feira' WHEN '4' THEN 'Quinta-Feira' WHEN '5' THEN 'Sexta-Feira' ELSE 'Sabado' END DT_SEMANAEMISSAO, OS.NR_ORDEMSERVICO, OS.DT_EMISSAO, OS.DT_ENTREGA, U.NM_USUARIO, OS.DT_VENCIMENTO, 'X' ST_NORNAL, P.CD_PESSOA||' - '||P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'') NM_PESSOA, COALESCE(EP.NR_FONE,'')||COALESCE(' / '||EP.NR_FAX,'')||COALESCE(' / '||EP.NR_CELULAR,'') NR_FONE, COALESCE(EP.DS_ENDERECO,'')||COALESCE(', '||EP.NR_ENDERECO,'')||COALESCE(' '||EP.DS_BAIRRO,'')|| COALESCE('. '||MP.DS_MUNICIPIO,'')||COALESCE(' - '||MP.SG_ESTADO,'') DS_ENDERECOPESSOA, ' '||OS.DS_OBSERVACAO DS_OBSERVACAO, OS.DS_CONTATO, P.DT_CADASTRO, E.NM_EMPRESA, RED.NM_PESSOA DS_EQUIPE, (
SELECT FIRST 1 CT.NMCONTATO
FROM CONTATOPESSOA CT
WHERE CT.CD_PESSOA = P.CD_PESSOA) NM_CONTATO, (
SELECT FIRST 1 TC.NM_PESSOA
FROM ORDEMSERVHORA HR
LEFT JOIN PESSOA TC ON(TC.CD_PESSOA = HR.CD_EMPRESA)
WHERE HR.CD_EMPRESA = OS.CD_EMPRESA
AND HR.NR_ORDEMSERVICO = OS.NR_ORDEMSERVICO
ORDER BY HR.DT_REGISTRO DESC, HR.NR_SEQUENCIA DESC) NM_TECNICO, SUBSTRING(P.DS_OBSERVACAO
FROM 1 FOR 5000 ) DS_OBSPESSOA, SUBSTRING(P.DS_OBSFINANCEIRO
FROM 1 FOR 5000) DS_OBSFINANCEIRO
FROM ORDEMSERVICO OS
INNER JOIN PESSOA P ON(P.CD_PESSOA = OS.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EP ON(EP.CD_PESSOA = P.CD_PESSOA
AND EP.CD_ENDERECO = OS.CD_ENDERECO)
LEFT JOIN MUNICIPIO MP ON(MP.CD_MUNICIPIO = EP.CD_MUNICIPIO)
INNER JOIN EMPRESA E ON(E.CD_EMPRESA = P.CD_EMPRCADASTRO)
INNER JOIN SESSAO SE ON (SE.NR_CONEXAO = CURRENT_CONNECTION)
INNER JOIN USUARIO U ON(U.CD_USUARIO = SE.CD_USUARIO)
LEFT JOIN PESSOA RED ON(RED.CD_PESSOA = EP.CD_REDESPACHO)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA 1 NR_ORDEMSERVICO 87
SELECT FIRST 4 I.DS_ITEM
FROM ORDEMSERVICO O
INNER JOIN ORDEMSERVITEM OI ON(OI.CD_EMPRESA = O.CD_EMPRESA
AND OI.NR_ORDEMSERVICO = O.NR_ORDEMSERVICO)
INNER JOIN ITEM I ON(I.CD_ITEM = OI.CD_SERVICO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA 1 NR_ORDEMSERVICO 87

Tabelas Utilizadas​

TabelaUso
CONTATOPESSOAreferenciada nas queries do layout
CURRENT_DATEreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMSERVHORAreferenciada nas queries do layout
ORDEMSERVICOreferenciada nas queries do layout
ORDEMSERVITEMreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
SESSAOreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOS016/ULOS016.pas
  • DFM: source/LOS016/ULOS016.dfm
  • Package: source/LOS016/LOS016.dpk