Pular para o conteúdo principal

LOS027 — Layout LOS027

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 ORCAMENTO, com junção em PESSOA, ENDERECOPESSOA, MUNICIPIO, FORMAPAGTO, CONDPAGTO, PARMFATUR (+2), filtrada por CD_EMPRESA, NR_ORCAMENTO, NR_MAQU, DS_MAQU, QT_MAQU, MAQU (+6).

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Ordemservico
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);

SQL Base​

Orcamento​

SELECT ORCAMENTO.CD_EMPRESA, ORCAMENTO.NR_ORCAMENTO, ORCAMENTO.CD_PESSOA, PESSOA.NM_PESSOA, PESSOA.NR_CNPJCPF, ENDERECOPESSOA.DS_BAIRRO, ENDERECOPESSOA.DS_ENDERECO||COALESCE(', '||ENDERECOPESSOA.NR_ENDERECO, '')||'. Cidade: '||MUNICIPIO.DS_MUNICIPIO||'-'||MUNICIPIO.SG_ESTADO DS_ENDERECO, COALESCE(ENDERECOPESSOA.NR_FONE,ENDERECOPESSOA.NR_FAX) NR_FONE, ENDERECOPESSOA.NR_CELULAR, ORCAMENTO.DT_ORCAMENTO DT_EMISSAO, ORCAMENTO.CD_FORMAPAGTO, FORMAPAGTO.DS_FORMAPAGTO, ORCAMENTO.CD_CONDPAGTO, CONDPAGTO.DS_CONDPAGTO, ORCAMENTO.DT_VENCIMENTO, ORCAMENTO.DT_ENTREGA, ORCAMENTO.DS_OBSERVACAO, PARM.DS_LOGOTIPO
FROM ORCAMENTO
INNER JOIN PESSOA ON (PESSOA.CD_PESSOA = ORCAMENTO.CD_PESSOA)
INNER JOIN ENDERECOPESSOA ON (ENDERECOPESSOA.CD_PESSOA = ORCAMENTO.CD_PESSOA
AND ENDERECOPESSOA.CD_ENDERECO = ORCAMENTO.CD_ENDERECO)
INNER JOIN MUNICIPIO ON (MUNICIPIO.CD_MUNICIPIO = ENDERECOPESSOA.CD_MUNICIPIO)
LEFT JOIN FORMAPAGTO ON (FORMAPAGTO.CD_FORMAPAGTO = ORCAMENTO.CD_FORMAPAGTO)
LEFT JOIN CONDPAGTO ON (CONDPAGTO.CD_CONDPAGTO = ORCAMENTO.CD_CONDPAGTO)
LEFT JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = ORCAMENTO.CD_EMPRESA)
WHERE ORCAMENTO.CD_EMPRESA = :CD_EMPRESA
AND ORCAMENTO.NR_ORCAMENTO = :NR_ORCAMENTO CD_EMPRESA 1 NR_ORCAMENTO
SELECT CD_EMPRESA, NR_ORCAMENTO, NR_MAQUINA, CD_ITEM, CD_SERVICO, SG_UNIDMED, DS_ITEM, PS_ORCAMENTO, VL_UNITARIO, VL_TOTAL, DS_ESPECIFICACAO, TP_REGISTRO, DS_REGISTRO, TP_ITEM
FROM (
SELECT MO.CD_EMPRESA, MO.NR_ORCAMENTO, MO.NR_MAQUINA, MO.CD_ITEM, MO.CD_ITEM CD_SERVICO, ITEM.SG_UNIDMED, CAST(COALESCE(MO.CD_ITEM || ' ' || ITEM.DS_ITEM, MO.DS_MAQUINA) AS DOM_VARCHAR100) DS_ITEM, MO.QT_MAQUINA PS_ORCAMENTO, MO.VL_UNITARIO, MO.VL_TOTAL, MO.DS_ESPECIFICACAO, 'A' TP_REGISTRO, 'MAQUINA' DS_REGISTRO, NULL TP_ITEM
FROM MAQUINAORCAMENTO MO
INNER JOIN ITEM ON (ITEM.CD_ITEM = MO.CD_ITEM)
WHERE MO.CD_EMPRESA = :CD_EMPRESA
AND MO.NR_ORCAMENTO = :NR_ORCAMENTO
UNION ALL
SELECT I.CD_EMPRESA, I.NR_ORCAMENTO, I.NR_MAQUINA, I.CD_ITEM, NULL CD_SERVICO, II.SG_UNIDMED, CAST(ASCII_CHAR(10) || ' ' || I.CD_ITEM || ' ' || II.DS_ITEM AS DOM_VARCHAR100) DS_ITEM, CASE TC.TP_UNIDADE WHEN 'Q' THEN I.QT_ORCAMENTO ELSE I.PS_ORCAMENTO END PS_ORCAMENTO, I.VL_UNITARIO, I.VL_TOTAL, I.DS_ESPECIFICACAO, 'B' TP_REGISTRO, 'ITEM' DS_REGISTRO, I.CD_ITEM || 'IT' TP_ITEM
FROM ITEMORCAMENTO I
INNER JOIN ITEM II ON (II.CD_ITEM = I.CD_ITEM)
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = II.CD_TIPOCALCULO)
WHERE I.CD_EMPRESA = :CD_EMPRESA
AND I.NR_ORCAMENTO = :NR_ORCAMENTO
UNION ALL
SELECT M.CD_EMPRESA, M.NR_ORCAMENTO, M.NR_MAQUINA, M.CD_MATERIAPRIMA CD_ITEM, NULL CD_SERVICO, I.SG_UNIDMED, CAST(' ' || M.CD_MATERIAPRIMA || ' ' || I.DS_ITEM AS DOM_VARCHAR100) DS_ITEM, CASE TC.TP_UNIDADE WHEN 'Q' THEN M.QT_MATERIAPRIMA ELSE M.PS_MATERIAPRIMA END PS_ORCAMENTO, M.VL_UNITARIO, M.VL_TOTAL, NULL DS_ESPECIFICACAO, 'B' TP_REGISTRO, 'MATERIAPRIMA' DS_REGISTRO, M.CD_ITEM || 'MP' TP_ITEM
FROM MATERIAPRIMAORCAMENTO M
INNER JOIN ITEM I ON (I.CD_ITEM = M.CD_MATERIAPRIMA)
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
WHERE M.CD_EMPRESA = :CD_EMPRESA
AND M.NR_ORCAMENTO = :NR_ORCAMENTO)
ORDER BY NR_MAQUINA, TP_REGISTRO, TP_ITEM, CD_ITEM CD_EMPRESA 1 NR_ORCAMENTO

Tabelas Utilizadas​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMORCAMENTOreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MATERIAPRIMAORCAMENTOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORCAMENTOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOS027/ULOS027.pas
  • DFM: source/LOS027/ULOS027.dfm
  • Package: source/LOS027/LOS027.dpk