LOS001 — Layout LOS001
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 MAQUINAORCAMENTO, EMPRESA, PESSOA, VENDEDOR, ENDERECOPESSOA, MUNICIPIO, filtrada por CD_EMPRESA, NR_ORCAMENTO, TP_PRODUTO, NR_, NR_MAQU, DS_MAQU (+9).
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
Contrato
SELECT O.CD_EMPRESA, E.NM_EMPRESA, O.DT_ORCAMENTO, O.DT_ENTREGA, O.DS_CONTATO, P.CD_PESSOA, P.NM_PESSOA, M.DS_OBSERVACAO, O.NR_ORCAMENTO, O.DS_OBSERVACAO DS_LOCAL, O.CD_VENDEDOR, PE.NM_PESSOA NM_VENDEDOR, CASE O.TP_ORCAMENTO WHEN 'O' THEN 'Orçamento ' ELSE 'Ordem Serviço ' END || O.NR_ORCAMENTO DS_ORCAMENTO
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
INNER JOIN EMPRESA E ON (O.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA P ON (O.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN VENDEDOR V ON (V.CD_VENDEDOR = O.CD_VENDEDOR)
LEFT JOIN PESSOA PE ON (PE.CD_PESSOA = O.CD_VENDEDOR)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO CD_EMPRESA 1 NR_ORCAMENTO 68
SELECT DS_SERVICO, SG_UNIDADE, VL_UNITARIO, QT_SERVICO, (QT_SERVICO * VL_UNITARIO) VL_TOTAL, C.DS_REQUISICAO
FROM CONTRATOMAE C
WHERE C.CD_EMPRESA = :CD_EMPRESA
AND C.NR_ORCAMENTO = :NR_ORCAMENTO
AND C.TP_PRODUTO = 'S' CD_EMPRESA 1 NR_ORCAMENTO 68
SELECT O.CD_EMPRESA, E.NM_EMPRESA, P.NR_CNPJCPF, N.DS_ENDERECO||COALESCE(', '||N.NR_ENDERECO,'')|| COALESCE(' - '||COALESCE(' - '||N.DS_BAIRRO, N.DS_COMPLEMENTO),'') DS_ENDERECO, U.DS_MUNICIPIO||' - '||U.SG_ESTADO DS_MUNICIPIO, N.NR_FONE, N.NR_FAX, N.NR_CEP, N.NR_INSCEST, O.NR_ORCAMENTO, O.DT_ORCAMENTO, O.NR_DIASENTREGA, P.DS_EMAIL, O.DS_CONTATO, P.CD_PESSOA, P.NM_PESSOA, V.NM_PESSOA NM_VENDEDOR, M.NR_MAQUINA, M.DS_MAQUINA, M.DS_ESPECIFICACAO, M.DT_INISERVICO, M.DT_FIMSERVICO, M.QT_MAQUINA, PT.NM_PESSOA NM_RESPONSAVEL, O.VL_FRETE, CASE O.TP_PAGTOFRETE WHEN '1' THEN 'CIF' WHEN '2' THEN 'FOB' WHEN '4' THEN 'Frete Pago p/ Compras Acima de R$ 2.420,00' ELSE 'Frete Pago p/ Compras Acima de R$ 1.500,00' END TP_PAGTOFRETE,O.DT_ENTREGA, CASE O.TP_ORCAMENTO WHEN 'O' THEN 'Orçamento ' ELSE 'Ordem Serviço ' END || O.NR_ORCAMENTO DS_ORCAMENTO
FROM ORCAMENTO O
INNER JOIN MAQUINAORCAMENTO M ON (M.CD_EMPRESA = O.CD_EMPRESA
AND M.NR_ORCAMENTO = O.NR_ORCAMENTO)
INNER JOIN EMPRESA E ON (O.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA P ON (O.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA N ON (N.CD_PESSOA = O.CD_PESSOA
AND N.CD_ENDERECO = O.CD_ENDERECO)
INNER JOIN MUNICIPIO U ON (U.CD_MUNICIPIO = N.CD_MUNICIPIO)
LEFT JOIN PESSOA V ON (O.CD_VENDEDOR = V.CD_PESSOA)
LEFT JOIN PESSOA PT ON(PT.CD_PESSOA = O.CD_TERCEIRO)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORCAMENTO = :NR_ORCAMENTO CD_EMPRESA 1 NR_ORCAMENTO 68
Consulta
SELECT TP_CONTRATO, ST_ORCAMENTO
FROM ORCAMENTO
WHERE CD_EMPRESA = {iParametros[1]}
AND NR_ORCAMENTO = {iParametros[2]}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONTRATOMAE | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORCAMENTO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
VENDEDOR | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS001/ULOS001.pas - DFM:
source/LOS001/ULOS001.dfm - Package:
source/LOS001/LOS001.dpk