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
| Tabela | Uso |
|---|---|
CONTATOPESSOA | referenciada nas queries do layout |
CURRENT_DATE | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMSERVHORA | referenciada nas queries do layout |
ORDEMSERVICO | referenciada nas queries do layout |
ORDEMSERVITEM | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
SESSAO | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS016/ULOS016.pas - DFM:
source/LOS016/ULOS016.dfm - Package:
source/LOS016/LOS016.dpk