LOS033 — Layout LOS033
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, TIPOCALCULO, filtrada por CD_EMPRESA, NR_ORDEMSERVICO, OSI, JO, CD_ITEM, CD_TIPOCALCULO.
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, CASE TC.TP_UNIDADE WHEN 'S' THEN OSI.PS_SERVICOITEM ELSE OSI.QT_SERVICOITEM END QTDE, OSI.VL_UNITARIO, OSI.VL_TOTAL, OSI.VL_DESCONTO
FROM SERVICOITEM OSI
INNER JOIN ITEM I ON (I.CD_ITEM = OSI.CD_ITEM)
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
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
| Tabela | Uso |
|---|---|
EMPRESA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MAQUINA | referenciada nas queries do layout |
ORDEMSERVICO | referenciada nas queries do layout |
ORDEMSERVITEM | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
RETORNA_IMPRESSORAUSUARIO | referenciada nas queries do layout |
SERVICOITEM | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS033/ULOS033.pas - DFM:
source/LOS033/ULOS033.dfm - Package:
source/LOS033/LOS033.dpk