Pular para o conteúdo principal

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​

TabelaUso
COMPONENTEITEMOTICAreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMOTICAreferenciada nas queries do layout
ORDEMOTICAITEMreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOS025/ULOS025.pas
  • DFM: source/LOS025/ULOS025.dfm
  • Package: source/LOS025/LOS025.dpk