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
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORCAMENTO | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MATERIAPRIMAORCAMENTO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORCAMENTO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS027/ULOS027.pas - DFM:
source/LOS027/ULOS027.dfm - Package:
source/LOS027/LOS027.dpk