Pular para o conteúdo principal

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​

TabelaUso
CONTRATOMAEreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORCAMENTOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
VENDEDORreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOS001/ULOS001.pas
  • DFM: source/LOS001/ULOS001.dfm
  • Package: source/LOS001/LOS001.dpk