LOS025 — Layout LOS025
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 PESSOA, EMPRESA, ITEM, PARMFATUR, ENDERECOPESSOA, MUNICIPIO (+1), 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.CD_EMPRESA, O.NR_ORDEM, O.DT_EMISSAO, 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, O.VL_DESCONTO, PE.NM_FANTASIA as NM_FANTASIAEMP
FROM ORDEMOTICA O
LEFT JOIN PESSOA PF ON (PF.CD_PESSOA = O.CD_FORNECEDOR)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEM = :NR_ORDEM CD_EMPRESA 1 NR_ORDEM
SELECT O.CD_EMPRESA, O.NR_ORDEM, I.CD_ITEM, I.DS_ITEM, O.NR_ARO, O.NR_PONTE, O.VL_UNITARIO, O.VL_TOTAL, O.QT_ITEM, OD.VL_DESCONTO, OD.VL_LIQUIDO, O.VL_DESCONTO VL_DESCONTOITEM
FROM ORDEMOTICAITEM O
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_ITEM)
INNER JOIN ORDEMOTICA OD ON (OD.CD_EMPRESA = O.CD_EMPRESA
AND OD.NR_ORDEM = O.NR_ORDEM)
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, PV.NM_PESSOA NM_VENDEDOR, O.VL_TOTAL,O.VL_LIQUIDO - O.VL_ENTRADA VL_SALDO, O.DS_FORMAPAGTO, VL_LIQUIDO,PC.NM_PESSOA NM_CLIENTE, PC.CD_PESSOA CD_CLIENTE, EC.NR_FONE NR_FONEC, EC.DS_ENDERECO DS_ENDERECOC, EC.DS_BAIRRO DS_BAIRROC, EC.NR_ENDERECO NR_ENDERECOC, FORMATA_DATA(O.DT_ENTREGA,'%d/%m/%Y %H:%M') DT_ENTREGA, PF.DS_LOGOTIPO, MU.DS_MUNICIPIO||' - '||MU.SG_ESTADO DS_MUNICIPIOC
FROM ORDEMOTICA O
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN PARMFATUR PF ON (PF.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 PV ON (PV.CD_PESSOA = O.CD_VENDEDOR)
INNER JOIN PESSOA PC ON (PC.CD_PESSOA = O.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EC ON (EC.CD_PESSOA = PC.CD_PESSOA
AND EC.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA
WHERE CD_PESSOA = EC.CD_PESSOA))
LEFT JOIN MUNICIPIO MU ON (MU.CD_MUNICIPIO = EC.CD_MUNICIPIO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEM = :NR_ORDEM CD_EMPRESA 1 NR_ORDEM
SELECT O.CD_EMPRESA, O.NR_ORDEM, O.CD_ITEM, I.DS_ITEM DS_MATERIAPRIMA
FROM ORDEMOTICAITEM O
INNER JOIN COMPONENTEITEMOTICA CO ON (CO.CD_EMPRESA = O.CD_EMPRESA
AND CO.NR_ORDEM = O.NR_ORDEM
AND CO.CD_ITEM = O.CD_ITEM)
INNER JOIN ITEM I ON (I.CD_ITEM = CO.CD_MATERIAPRIMA)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEM = :NR_ORDEM
AND O.CD_ITEM = :CD_ITEM CD_EMPRESA NR_ORDEM CD_ITEM
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
COMPONENTEITEMOTICA | 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 |
ORDEMOTICA | referenciada nas queries do layout |
ORDEMOTICAITEM | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS025/ULOS025.pas - DFM:
source/LOS025/ULOS025.dfm - Package:
source/LOS025/LOS025.dpk