OFI001 — Parâmetros de Oficina
Fonte
- Source:
source/OFI001/ - Form:
source/OFI001/UOFI001.pas - DataModule:
source/OFI001/UdmOFI001.pas - Package:
source/OFI001/OFI001.dpk
Objetivo
Tela de configuração por empresa dos parâmetros do módulo Oficina (ordens de serviço, orçamentos, autorizações). Mantém PARMOFICINA (um registro por empresa) com flags de comportamento (comissão, desconto, obrigatoriedade de placa/mecânico/vendedor, bloqueios, layouts de impressão, tabela de custo de terceiros, quilometragem, garantia) e PARMUSUARIO (liberações de abas MOF001 e preferências por usuário/empresa). Alimenta o comportamento de todos os módulos da família OF*/MOF*/LOF*/ROF*.
Perguntas Frequentes
Perguntas Gerais
P: Qual é a finalidade da tela OFI001? R: A tela OFI001 é a Configuração de Parâmetros por Usuário/Empresa do sistema. Ela permite configurar parâmetros específicos para cada usuário dentro de uma determinada empresa. Através dessa tela, o administrador pode personalizar o comportamento do sistema de acordo com as necessidades de cada usuário, definindo permissões e configurações individualizadas por empresa.
P: Como configurar os parâmetros para um usuário específico? R: Para configurar os parâmetros de um usuário, acesse a tela OFI001 e selecione primeiramente a Empresa desejada. Em seguida, informe o código do Usuário para o qual deseja definir os parâmetros. Após localizar ou cadastrar o usuário na empresa, preencha os parâmetros disponíveis conforme a necessidade. Ao finalizar, salve as alterações para que as configurações entrem em vigor.
P: Como adicionar um usuário a uma empresa na tela OFI001? R: Para adicionar um usuário a uma empresa, acesse a tela OFI001, selecione a Empresa desejada e clique no botão de inclusão (Novo). Informe o código do Usuário que deseja vincular à empresa. O sistema validará se o usuário está cadastrado e ativo antes de permitir a inclusão. Após a validação, configure os parâmetros desejados e salve o registro.
Mensagens de Validação
P: O sistema apresenta a mensagem "Informe primeiro a Empresa!" (W-1728). Como resolver? R: Esta mensagem indica que o campo Empresa não foi preenchido antes de realizar a operação. Na tela OFI001, é obrigatório selecionar a Empresa antes de informar o Usuário ou realizar qualquer configuração de parâmetros. Selecione a empresa desejada e tente novamente.
P: O sistema apresenta a mensagem "Usuário não Cadastrado. Verifique [ADM001]!" (W-0007). O que devo fazer? R: Esta mensagem indica que o código de usuário informado não existe no cadastro do sistema. Verifique se o código digitado está correto. Caso o usuário ainda não tenha sido cadastrado, acesse a tela Cadastro de Usuários (ADM001) para realizar o cadastro antes de configurar os parâmetros na OFI001.
P: O sistema apresenta a mensagem "Usuário não está Ativo. Verifique [ADM001]!" (W-0008). Como proceder? R: Esta mensagem indica que o usuário informado encontra-se com a situação Inativa no cadastro do sistema. Somente usuários com status Ativo podem ter parâmetros configurados por empresa. Para resolver, acesse a tela Cadastro de Usuários (ADM001) e reative o cadastro do usuário antes de prosseguir com a configuração na OFI001.
P: O sistema apresenta a mensagem "Usuário já está Cadastrado para a Empresa!" (W-1729). O que significa? R: Esta mensagem indica que o usuário informado já possui um registro de parâmetros configurado para a empresa selecionada. Não é permitido duplicar a vinculação de um mesmo usuário em uma mesma empresa. Para alterar os parâmetros existentes, localize o registro do usuário na empresa e edite as configurações diretamente, sem necessidade de criar um novo cadastro.
Validações do Sistema
P: Quais validações são realizadas ao cadastrar um usuário na OFI001? R: Ao cadastrar ou vincular um usuário a uma empresa na tela OFI001, o sistema realiza as seguintes validações: verifica se a Empresa foi informada previamente; confirma se o código do Usuário existe no cadastro de usuários; verifica se o Usuário está com o status Ativo; e confere se o Usuário já não está cadastrado para a Empresa selecionada. Todas essas validações devem ser atendidas para que a operação seja concluída com sucesso.
P: Por que é necessário selecionar a empresa antes de informar o usuário? R: A seleção prévia da Empresa é obrigatória porque os parâmetros configurados na tela OFI001 são específicos para cada combinação de Usuário e Empresa. O sistema precisa saber a qual empresa os parâmetros se referem antes de validar e vincular o usuário. Sem essa informação, não é possível verificar duplicidades nem aplicar as configurações corretamente.
Parâmetros Documentados
Parâmetros desta tela documentados pelo agente. Cada execução adiciona ou atualiza o item correspondente.
| Parâmetro | Resumo |
|---|---|
| CD_EMPRESA | Parâmetro de Empresa (OFI001) - aba Aba "Parâmetros" - PARMOFICINA |
| CD_LAYOUTAUTORIZACAO | Layout Autorizacao - aba Aba Layouts → Campo Layout (edicao livre) - PARMOFICINA |
| CD_LAYOUTORCAMENTO | Tipo Impressão (Layout Orçamento) - aba Aba Layouts → campo Layout Orçamento (Layout [MOF005]) - PARMOFICINA |
| 'CD_LAYOUTORDEMSERVICO' | 'CD_LAYOUTORDEMSERVICO - Layout de Impressão da Ordem de Serviço' - aba Aba "Layouts" - 'PARMOFICINA' |
| 'CD_TABCUSTOFORNEC' | 'CD_TABCUSTOFORNEC — Tabela de Custo de Fornecedor (Comportamento)' - aba Aba Parâmetros → quadro Dados do Parâmetro - 'PARMOFICINA' |
| DS_AUTORIZADOR | Parâmetro de Nome do Autorizador (OFI001) - PARMOFICINA |
| DS_OBRIGATORIEDADE | PARMOFICINA |
| DT_REGISTRO | Coluna de Auditoria (OFI001) - PARMOFICINA |
| NR_DIASGARANTIA | Dias de Garantia (MOF001/OFI001) - PARMOFICINA |
| NR_QUILOMETRAGEM | KM para cálculo Data Retorno Tele Vendas/Pós Vendas - aba Aba Garantia - PARMOFICINA |
| QT_KMRETORNO | KM para Cálculo de Data de Retorno - PARMOFICINA |
| ST_BLOQDTEMISSAO | Bloquear Data de Emissão - aba Aba Ordem 1 - PARMOFICINA |
| ST_BLOQUEIADESC | Bloquear Alteração da Descrição (Serviços/Peças) - aba Aba Ordem 1 - PARMOFICINA |
| ST_BLOQUEIAITEMORCAMENTO | Bloqueia alteração de itens oriundos de Orçamento - aba Aba Ordem 1 - PARMOFICINA |
| ST_BLOQUEIAORCAMENTOMOF005 | Bloquear O.S. Originada de Orçamento - PARMOFICINA |
| ST_CALCULOCOMISSAO | Descontar Comissão do Mecânico no Cálculo do Vendedor - PARMOFICINA |
| ST_COMISSAOTERCEIROS | Calcular Comissão Sobre Serviços de Terceiros - aba Aba Ordem 1 - PARMOFICINA |
| ST_DATACONSUMO | Data da Movimentação de Estoque do Produto Consumo - aba Aba Parâmetros → campo Data Mov. Estoque Prod. Consumo - PARMOFICINA |
| ST_DESCONTOPRODUCAO | Permitir Desconto Para Produto em Promoção - aba Aba "Ordem 1" - PARMOFICINA |
| ST_DESCONTOTERCEIROS | Permitir Desconto em Serviços de Terceiros - aba Aba Ordem 1 - PARMOFICINA |
| ST_EXIGEMOTIVOLIBERACAO | Exigir Motivo de Liberação da OS - aba Aba Ordem 1 → Checkbox "Exigir motivo Liberação OS" - PARMOFICINA |
| ST_IMPAUTORIZACAO | Impressão de Autorização - aba Aba Layouts → Grupo Autorização → campo Imprime - PARMOFICINA |
| ST_IMPORDEMSERVICO | Impressão Automática de OS - aba Aba Layouts → grupo Ordem de Serviço → campo Imprime - PARMOFICINA |
| ST_IMPORTAOBSITEMPED | Importar Observação da OS no Item do Pedido - aba Aba Ordem 1 → campo "Ordem 1" - PARMOFICINA |
| ST_IMPORTAOBSPED | Importação de Observações da OS para Pedido - aba Aba Ordem 1, campo "Importar Obs. Pedido" (cmb_STIMPOBSPEDIDO) - PARMOFICINA |
| ST_IMPRORCAMENTO | Impressão Automática do Orçamento - PARMOFICINA |
| ST_JUROVENDAOFI | Cálculo de Juro na Venda de Oficina - aba Aba "Ordem 2" → campo "Cálculo de Juro" - PARMOFICINA |
| ST_LIMITAPRECOCOMPRA | Bloqueia Preço Compra > Preço Venda na Requisição - PARMOFICINA |
| ST_LISTAVANCADA | Tipo de Lista <F9> - aba Aba Parâmetros → Campo "Tipo de Lista <F9>" - PARMOFICINA |
| ST_MODULOVARIOSVENDEDORES | Módulo de Vários Vendedores - aba Aba Parâmetros → Combobox "Acionar Manualmente a tela de Vários Vendedores" - PARMOFICINA |
| ST_MOTIVOCANCELAMENTOORC | Parâmetro ST_MOTIVOCANCELAMENTOORC - aba Aba "Ordem 3" - PARMOFICINA |
| ST_OBRIGAKM | Obriga Informar KM - aba Parâmetros → Ordem 1 → Checkbox "Obriga Informar KM" - PARMOFICINA |
| ST_OBRIGAMARCATIPOMODELO | Obrigatoriedade de Marca/Tipo/Modelo no Veículo - PARMOFICINA |
| ST_OBRIGAMECANICO | Obrigar Equipe/Mecânico - PARMOFICINA |
| ST_OBRIGAORCAMENTOOS | Obriga Orçamento para Abrir OS - PARMOFICINA |
| ST_OBRIGAORIGEMCLIENTE | Obriga Informar Origem Cliente - aba Aba Ordem 3 - PARMOFICINA |
| ST_OBRIGAPLACA | Obriga Placa na Abertura da Ordem - aba Aba "Ordem 2" - PARMOFICINA |
| ST_OBRIGAPLACAORCAMENTO | Obriga Informar Placa no Orçamento - PARMOFICINA |
| ST_OBRIGAVENDEDOR | Obrigatoriedade de Vendedor - aba Parâmetros → Aba Parâmetros - PARMOFICINA |
| ST_RATEIAVENDEDOR | Rateio de Comissão por Vendedor - aba Aba Ordem 2 - PARMOFICINA |
| ST_REPETESERVICO | Permite Repetir Serviços - aba Aba Ordem 1, campo chkST_REPETESERVICO - PARMOFICINA |
| ST_REPLICAOBSMOF005 | Replicar Descrição Produto no Campo Observação [MOF005] - aba Aba Ordem 1 → Checkbox chkST_REPLICAOBSMOF005 - PARMOFICINA |
| ST_REPROCESSATABPRECO | Reprocessar Tabela de Preços ao Alterar Condição de Pagamento - aba Aba Ordem 2 - PARMOFICINA |
| ST_REPROCTABPRECOCFE | Reprocessar Tabela de Preços CFE MFA006 - aba Aba Ordem 2 - PARMOFICINA |
| ST_SEPARABLOQUEIO | Liberação de Bloqueio por Setor - aba Aba Ordem 2 → campo "Liberação de Bloqueio por Setor" - PARMOFICINA |
| ST_SERVTERCEIROS | Parâmetro de Exibição de Serviços de Terceiros - aba Aba Ordem 1 - PARMOFICINA |
| ST_SULCOPNEU | Informar Sulco dos Pneus - aba Aba Ordem 2 - PARMOFICINA |
| ST_VALIDABOXPLACAVEICULO | ST_VALIDABOXPLACAVEICULO – Validar Box e Placa do Veículo - aba Parâmetros → aba Parâmetros → combo "Validar Box e Placa do Veículo" - PARMOFICINA |
| ST_VALIDAPLACAJUNCAO | Validar Placa do Veículo [Junção] - aba Aba Ordem 1 - PARMOFICINA |
| ST_VALIDAVEICULOSJUNCAO | Validar Veículos nas Diferentes Junções - aba Parâmetros → Parâmetros → Validar Veículos nas Diferentes Junções [TTR006] - PARMOFICINA |
| TP_BLOQUEIO | Liberação para Vendedores - aba Aba Parâmetros → campo "Liberação para Vendedores" - PARMOFICINA |
| TP_BLOQUEIOOS | PARMOFICINA |
| TP_COMISSAOMEC | aba Aba "Ordem 2" → Campo "Comissões" - PARMOFICINA |
| TP_IMPAUTORIZACAO | Parâmetro de Tipo de Impressão da Autorização - aba Aba Layouts → Grupo Autorização - PARMOFICINA |
| TP_IMPORDEMSERVICO | Tipo de Impressão da Ordem de Serviço - PARMOFICINA |
| TP_IMPRORCAMENTO | Tipo de Impressão do Orçamento - aba Aba Layouts → campo "Orçamentos" - PARMOFICINA |
| TP_ORDEMSERVICO | Tipo da Ordem de Serviço - aba Aba Parâmetros - PARMOFICINA |
| TP_PRECOSERVICO | Parâmetro de Preço de Serviço - aba Parâmetros → Aba Parâmetros - PARMOFICINA |
| TP_REQESTOQUE | Requisição de Estoque (Ordem de Serviço) - aba Aba Layouts - PARMOFICINA |
Mensagens exibidas
Levantadas de source/OFI001/ pela camada 0 (commit 96fc51e236).
| Código | Tipo | Mensagem |
|---|---|---|
| C-0045 | Confirmação | Deseja Excluir o Registro? |
| C-0048 | Confirmação | Deseja Salvar as Alterações Antes de Sair? |
| I-0047 | Informação | Alterações Efetuadas com Sucesso. |
| W-0007 | Aviso | Usuário não Cadastrado. Verifique [ADM001]! |
| W-0008 | Aviso | Usuário não está Ativo. Verifique [ADM001]! |
| W-0010 | Aviso | Empresa não cadastrada ou não liberada para o usuário. [ADM001] |
| W-1727 | Aviso | O Código da Empresa já está Cadastrado nos Parâmetros. Verifique! |
| W-1728 | Aviso | Informe primeiro a Empresa! |
| W-1729 | Aviso | Usuário já está Cadastrado para a Empresa! |
| W-1819 | Aviso | Obrigatório Informar o Layout de %s. Verifique! |
Tabelas de Escrita (INSERT/UPDATE/DELETE)
| Tabela | Operacoes |
|---|---|
| PARMOFICINA | DELETE, INSERT, SELECT, UPDATE |
| PARMUSUARIO | DELETE, INSERT, SELECT, UPDATE |
Tabelas de Leitura (SELECT)
| Tabela | Operacoes |
|---|---|
| EMPRESA | SELECT |
| TABCOMPRA | SELECT |
| USUARIO | SELECT |
| USUARIOEMPRESA | SELECT |
Procedures Chamadas
Nenhuma procedure é invocada diretamente (tela de parâmetros CRUD).
Dependencias Aferentes (quem alimenta esta tela)
Telas que escrevem em tabelas lidas por esta tela. OFI001 lê EMPRESA, USUARIO, USUARIOEMPRESA, TABCOMPRA para lookup — resultando em 448 telas com linkage fraca (tipicamente EMPRESA/USUARIO). Destacamos abaixo as mais relevantes.
| Tela | Título | Tabelas em Comum |
|---|---|---|
| ADM001 | Cadastro de Usuários | USUARIO, USUARIOEMPRESA |
| ADM002 | Cadastro de Empresas | EMPRESA, USUARIOEMPRESA |
| ADM013 | Duplicação | USUARIOEMPRESA, PARMUSUARIO |
| ADM012 | Parâmetros de Usuários | PARMUSUARIO |
| ADM004 | Acessos de Usuários a Módulos | EMPRESA |
| ADM008 | Impressoras | EMPRESA |
| TFA010 | Tabelas de Compra | EMPRESA, TABCOMPRA |
Junsoft | Shell principal | USUARIO, USUARIOEMPRESA |
+440 telas com linkage em EMPRESA/USUARIO (omitidas por baixa relevância semântica).
Dependencias Eferentes (quem consome dados desta tela)
Telas que leem PARMOFICINA e/ou PARMUSUARIO (59 telas no total).
| Tela | Título | Tabelas em Comum |
|---|---|---|
| MOF001 | Abertura / Fechamento de Ordem de Serviço | PARMOFICINA, PARMUSUARIO |
| MOF005 | Orçamento de Peças/Serviços | PARMOFICINA, PARMUSUARIO |
| MPD002 | Emissão de Pedidos de Venda | PARMOFICINA, PARMUSUARIO |
LRE000 | Layout de Requisição (oficina) | PARMOFICINA, PARMUSUARIO |
| MOF006 | Fechamento Ordem de Serviço - Oficina | PARMOFICINA |
| MOF007 | Desbloqueio de Ordens de Serviço | PARMOFICINA |
| MOF008 | Desbloqueio de Ordens de Serviço - Financeiro | PARMOFICINA |
| CPD003 | Consulta de Ordens de Serviço | PARMOFICINA |
LOF000 | Layout Ordem de Serviço | PARMOFICINA |
LNF107 | Layout NF-e (oficina) | PARMOFICINA |
| ADM002 | Cadastro de Empresas | PARMUSUARIO |
| ADM012 | Parâmetros de Usuários | PARMUSUARIO |
| ADM013 | Duplicação | PARMUSUARIO |
| ADM027 | Administração TEF | PARMUSUARIO |
| CFC004 | Histórico do Cliente/Fornecedor | PARMUSUARIO |
| CNF011 | Consulta de NFS-e | PARMUSUARIO |
| CNF015 | Consulta de Notas (variante) | PARMUSUARIO |
LPD111 | Layout Pedido | PARMUSUARIO |
LPP100 | Layout Produção | PARMUSUARIO |
| MCO001 | Solicitação | PARMUSUARIO |
| MEQ047 | Estoque (movimentação) | PARMUSUARIO |
| MEQ069 | Estoque (movimentação) | PARMUSUARIO |
| MFC001 | Abertura / Fechamento de Caixa | PARMUSUARIO |
| MFC003 | Lançamento de Caixa Avulso / Cheque | PARMUSUARIO |
| MFC004 | Pagamento / Recebimento de Contas | PARMUSUARIO |
| MFC013 | Impressão de Cheques | PARMUSUARIO |
| MFC020 | Transferência de Caixa / Banco | PARMUSUARIO |
| MFC025 | Gerenciamento de Cheques | PARMUSUARIO |
| MNF017 | Venda Balcão | PARMUSUARIO |
Junsoft | Shell principal | PARMUSUARIO |
+29 telas consomem PARMUSUARIO/PARMOFICINA.
Regras de Negocio
- Um registro por empresa:
PARMOFICINA.CD_EMPRESAé chave única;AfterInsertherdaCD_EMPRESAda sessão. - PARMUSUARIO é detail de
USUARIOEMPRESA(parCD_EMPRESA + CD_USUARIO) — a aba "Liberação de Abas" controlaTP_ABASMOF001e preferências de impressoras/acessos por usuário. - Validação de layouts (
CD_LAYOUTORDEMSERVICO,CD_LAYOUTAUTORIZACAO,CD_LAYOUTORCAMENTO):OnValidateconfirma existência do layout na base antes de gravar. - Tabela de custo de fornecedor (
CD_TABCUSTOFORNEC): valida contraTABCOMPRA; usada por MOF001 para calcular preço com margem sobre custo. - Flags que alteram comportamento de MOF001 (exemplos):
ST_OBRIGAPLACA,ST_OBRIGAMARCATIPOMODELO,ST_OBRIGAMECANICO,ST_OBRIGAVENDEDOR,ST_BLOQUEIADESC,ST_BLOQUEIAORCAMENTOMOF005,TP_BLOQUEIO,TP_BLOQUEIOOS,TP_COMISSAOMEC,TP_PRECOSERVICO,ST_CALCULOCOMISSAO,ST_RATEIAVENDEDOR,ST_MODULOVARIOSVENDEDORES,ST_REPROCESSATABPRECO,NR_DIASGARANTIA,QT_KMRETORNO. - Controle de acesso:
programa.tpAcesso = 2ocultabtnNovo/btnSalvar/btnExcluir— uso somente consulta.
Datasets e SQL
| Dataset | Tabela | Descrição |
|---|---|---|
tabPARMOFICINA | PARMOFICINA (JOIN EMPRESA) | Registro master de parâmetros da oficina por empresa (~60 campos ST_/TP_/CD_LAYOUT*/NR_/QT_). |
tabPARMUSUARIO | PARMUSUARIO (JOIN USUARIOEMPRESA) | Detail por usuário da empresa corrente; controla abas liberadas em MOF001 e preferências. |
Eventos relevantes (UdmOFI001.pas)
tabPARMOFICINABeforePost— valida campos obrigatórios.tabPARMOFICINAAfterInsert— setaCD_EMPRESAda sessão e valores default dos flags.tabPARMOFICINACD_TABCUSTOFORNECValidate— lookup emTABCOMPRAe preencheDS_TABCUSTOFORNEC.tabPARMOFICINACD_LAYOUTORDEMSERVICOValidate— valida layout cadastrado.tabPARMUSUARIOAfterScroll— recarrega lista de abas liberadas (chkTP_LIBERACAO).verificaLibAbas(Tipo)— utilitário público que lêTP_ABASMOF001e marca os checkboxes correspondentes.