Pular para o conteúdo principal

LOS034 — Layout LOS034

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 EMPRESA, PESSOA, RETORNA_DADOSCADASTRAIS, MAQUINA, ITEM, filtrada por CD_EMPRESA, NR_ORDEMSERVICO, OSI, JO, CD_ITEM.

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout da Nota Fiscal
// 1 - Cod Empresa
// 2 - Nr Pedido
// 3 - Tp Pedido
// 4 - Path Servidor
// 5 - Visualiza -> V ou Imprime -> I
// 6 - Usuario
]);

SQL Base​

tabOS​

SELECT OS.CD_EMPRESA, OS.NR_ORDEMSERVICO, OS.DT_EMISSAO, SUBSTRING(OS.DS_OBSERVACAO
FROM 1 FOR 5000) DS_OBSERVACAO, OS.NR_SERIEMAQUINA, M.DS_MAQUINA, M.DS_MODELO, --EMPRESA CASE WHEN OS.ST_ORDEMSERVICO = 'A' THEN 'Aberta' WHEN OS.ST_ORDEMSERVICO = 'F' THEN 'Fechada' WHEN OS.ST_ORDEMSERVICO = 'C' THEN 'Cancelada' WHEN OS.ST_ORDEMSERVICO = 'P' THEN 'Gerado Pedido' END DS_SITUACAO, PE.NM_PESSOA EMP_NM_PESSOA, EPE.DS_ENDERECO||COALESCE(' No '||epe.NR_ENDERECO,'') EMP_DS_ENDERECO, EPE.DS_MUNICIPIO||' - '||EPE.SG_ESTADO EMP_DS_MUNICICPIO, EPE.NR_FONE EMP_NR_FONE, PE.NR_CNPJCPF EMP_NR_CNPJCPF, EPE.DS_SITE EMP_DS_SITE, --CLIENTE PC.NM_PESSOA CLI_NM_PESSOA, PC.CD_PESSOA||' - '||PC.NM_PESSOA CLI_CD_NM_PESSOA, ECLI.NR_FONE CLI_NR_FONE, ECLI.NR_CELULAR CLI_NR_CELULAR, ECLI.DS_ENDERECO||COALESCE(' No '||ECLI.NR_ENDERECO,'') CLI_DS_ENDERECO, ECLI.DS_MUNICIPIO||' - '||ECLI.SG_ESTADO CLI_DS_MUNICIPIO, ECLI.NR_CEP CLI_NR_CEP, PC.NR_CNPJCPF CLI_NR_CNPJCPF, ECLI.DS_BAIRRO CLI_DS_BAIRRO
FROM ORDEMSERVICO OS --EMPRESA
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = OS.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PE.CD_PESSOA, NULL) EPE ON (1=1)
INNER JOIN PESSOA PC ON (PC.CD_PESSOA = OS.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PC.CD_PESSOA, NULL) ECLI ON (1=1) --EQUIPAMENTO / ANIMAL
LEFT JOIN MAQUINA M ON (M.NR_SERIEMAQUINA = OS.NR_SERIEMAQUINA)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA NR_ORDEMSERVICO
SELECT OSI.CD_EMPRESA, OSI.NR_ORDEMSERVICO, OSI.CD_SERVICO, I.DS_ITEM, OSI.QT_SERVICO, OSI.VL_UNITARIO, OSI.VL_TOTAL, OSI.VL_DESCONTO
FROM ORDEMSERVITEM OSI
INNER JOIN ITEM I ON (I.CD_ITEM = OSI.CD_SERVICO)
WHERE OSI.CD_EMPRESA = :CD_EMPRESA
AND OSI.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA NR_ORDEMSERVICO
SELECT OSI.CD_EMPRESA, OSI.NR_ORDEMSERVICO, OSI.CD_ITEM, I.DS_ITEM, COALESCE(OSI.PS_SERVICOITEM, OSI.QT_SERVICOITEM) QTDE, OSI.VL_UNITARIO, OSI.VL_TOTAL, OSI.VL_DESCONTO
FROM SERVICOITEM OSI
INNER JOIN ITEM I ON (I.CD_ITEM = OSI.CD_ITEM)
WHERE OSI.CD_EMPRESA = :CD_EMPRESA
AND OSI.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA NR_ORDEMSERVICO

Consulta​

SELECT O_CD_EMPRESA, O_DS_IMPRESSORA, O_CD_IMPRESSORA
FROM RETORNA_IMPRESSORAUSUARIO({IntToStr(sessao.empresa.cd_Empresa)}, {QuotedStr(sessao.usuario.cd_Usuario)}, 'N', 'D')

Tabelas Utilizadas​

TabelaUso
EMPRESAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
MAQUINAreferenciada nas queries do layout
ORDEMSERVICOreferenciada nas queries do layout
ORDEMSERVITEMreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_IMPRESSORAUSUARIOreferenciada nas queries do layout
SERVICOITEMreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOS034/ULOS034.pas
  • DFM: source/LOS034/ULOS034.dfm
  • Package: source/LOS034/LOS034.dpk