LOS024 — Layout LOS024
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 ORDEMOTICA, com junção em EMPRESA, PESSOA, ITEM, ENDERECOPESSOA, MUNICIPIO, filtrada por CD_EMPRESA, NR_ORDEM, O, JO, CD_ITEM, CD_PESSOA (+3).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Orcamento
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
// 5 - Máquinas da Ordem de Serviço
// 6 - Abertura ou Fechamento
]);
SQL Base
tabORDEM
SELECT O.NR_ORDEM, O.DT_EMISSAO, E.NM_EMPRESA, O.NR_ODESFERICO,O.NR_ODCILINDRICO, O.NR_ODEIXO, O.NR_ODADICAO, O.NR_ODDNP, O.NR_ODALTURA, O.NR_OEESFERICO,O.NR_OECILINDRICO, O.NR_OEEIXO, O.NR_OEADICAO, O.NR_OEDNP, O.NR_OEALTURA, O.NR_ESPESSURA, O.NR_ODDIAMETRO, O.NR_OEDIAMETRO, O.DS_ARMACAO, O.NR_VERTICAL, O.NR_DIAGONAL, PF.NM_PESSOA NM_FORNECEDOR, O.DT_ENTREGA, O.DS_OBSERVACAO
FROM ORDEMOTICA O
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
LEFT JOIN PESSOA PF ON (PF.CD_PESSOA = O.CD_FORNECEDOR)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEM = :NR_ORDEM CD_EMPRESA 1 NR_ORDEM
SELECT I.DS_ITEM, O.NR_ARO, O.NR_PONTE
FROM ORDEMOTICAITEM O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEM = :NR_ORDEM CD_EMPRESA 1 NR_ORDEM
SELECT O.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, EN.DS_ENDERECO, EN.NR_ENDERECO, EN.DS_BAIRRO, EN.NR_FONE, MUN.DS_MUNICIPIO||' - '||MUN.SG_ESTADO DS_MUNICIPIO,FORMATA_DATA(O.DT_EMISSAO,'%d/%m/%Y %H:%M') DT_EMISSAO, O.NR_ORDEM, O.DT_EMISSAO, COALESCE(O.VL_TOTAL,0) + COALESCE(O.VL_DESCONTO,0) - COALESCE (O.VL_LENTES,0) VL_OS, O.VL_DESCONTO, O.VL_ENTRADA, O.VL_TOTAL,O.VL_LIQUIDO - O.VL_ENTRADA VL_SALDO, O.DS_FORMAPAGTO, VL_LIQUIDO,PC.NM_PESSOA NM_CLIENTE, FORMATA_DATA(O.DT_ENTREGA,'%d/%m/%Y %H:%M') DT_ENTREGA
FROM ORDEMOTICA O
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EN ON (EN.CD_PESSOA = PE.CD_PESSOA
AND EN.CD_ENDERECO =(
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA
WHERE CD_PESSOA = EN.CD_PESSOA))
LEFT JOIN MUNICIPIO MUN ON (MUN.CD_MUNICIPIO = EN.CD_MUNICIPIO)
INNER JOIN PESSOA PC ON (PC.CD_PESSOA = O.CD_PESSOA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEM = :NR_ORDEM CD_EMPRESA 1 NR_ORDEM
Consulta
SELECT O_CD_EMPRESA, O_DS_IMPRESSORA, O_CD_IMPRESSORA
FROM RETORNA_IMPRESSORAUSUARIO({ IntToStr(sessao.empresa.cd_empresa)}, {QuotedStr(sessao.usuario.cd_usuario)}, 'D', 'D' )
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMOTICA | referenciada nas queries do layout |
ORDEMOTICAITEM | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_IMPRESSORAUSUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS024/ULOS024.pas - DFM:
source/LOS024/ULOS024.dfm - Package:
source/LOS024/LOS024.dpk