Pular para o conteúdo principal

ADM010 — Configurações do Sistema (enriquecimento)

Menu: Sistema > Administração > Configurações do Sistema

Objetivo​

A tela ADM010 (Configurações do Sistema) é o cadastro único e global de parâmetros do ERP: plano de contas, código de barras, impressão de relatórios, bloqueio/cadastro de pessoas, horário de verão, roteirização, acesso padrão de empresa/usuário e timeout de sessão. Diferente de um cadastro comum, ela mantém um único registro (PARMSISTEMA) que é sempre editado, nunca incluído pelo usuário; as únicas listas que aceitam inclusão/exclusão são as exceções de Timeout por Programa e por Usuário. A troca do tipo de Plano de Contas pode disparar uma migração de contas entre os planos Global e por Empresa, tratada em uma tela auxiliar (Plano de Contas).

Fluxo principal​

  1. Abrir a tela pelo menu Sistema > Administração > Configurações do Sistema. O sistema carrega o registro único de PARMSISTEMA, a lista de Estados, o idioma e as listas de exceção de Timeout (por programa e por usuário), publicando as telas do menu atual para o F9 do grid de exceção. (Abertura da tela (todas as abas)) — source/ADM010/UADM010.pas:242-300 (iniciar)
  2. Navegar pelas abas (Sistema/Configurações, Bloqueio/Cadastro Pessoa, Horário de Verão, Roteirização, Acesso Padrão, Impressão, Internacionalização) e alterar os parâmetros desejados; a edição do registro inicia automaticamente ao digitar em qualquer campo vinculado. (Todas as abas de parâmetros) — source/ADM010/UADM010.pas:614-626 (TfrmADM010.rbtPaisagemClick)
  3. Para incluir/editar exceções de Timeout, posicionar o cursor no grid (Programas ou Usuários) na aba Acesso Padrão, usar F9 para buscar ou digitar o código diretamente; usar F5 (Novo) para nova linha e F7 (Excluir) para remover. (Acesso Padrão > grids de Exceção) — source/ADM010/UADM010.pas:519-543 (TfrmADM010.gridEXECPROGRAMAKeyDown)
  4. Clicar em Salvar (F6). O sistema grava PARMSISTEMA, ESTADOS e as listas de exceção pendentes em uma única transação, descarta linhas em branco dos grids, comita e reabre os dados. (Toolbar) — source/ADM010/UADM010.pas:378-429 (TfrmADM010.btnSalvarClick)
  5. Sistema exibe a mensagem de sucesso e retorna o foco à aba Sistema/Configurações. (Toolbar / aba Sistema) — source/ADM010/UADM010.pas:423-427 (TfrmADM010.btnSalvarClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
NR_TIMEOUTSESSAO (Timeout da sessão, em minutos) — aba Acesso PadrãoOpcional (em branco desabilita o timeout); se preenchido, deve ser >= 5O Timeout de Sessão deve ser de no mínimo 5 minutos. Deixe em branco para desabilitar!source/ADM010/UdmADM010.pas:290-300 (TdmADM010.tabPARMSISTEMABeforePost)
VL_MUDANCAEPP (Valor de Receita Bruta para Transição para EPP) — aba ConfiguraçõesObrigatório sempre ao salvarInforme o Valor de Receita Bruta para Transição para EPP !source/ADM010/UdmADM010.pas:302-306 (TdmADM010.tabPARMSISTEMABeforePost)
NR_DIASBLOQLIB (Dias de tolerância para emitir a nota fiscal após a liberação) — aba Bloqueio/Cadastro PessoaObrigatório sempre ao salvarInforme o numero de dias que é possível esperar para fazer a nota fiscal desde a liberação !source/ADM010/UdmADM010.pas:307-312 (TdmADM010.tabPARMSISTEMABeforePost)
VL_TOPO, VL_BASE, VL_ESQUERDA, VL_DIREITA (margens de impressão) — aba ImpressãoTodas obrigatórias sempre ao salvarÉ Obrigatorio informar um valor para margem Topo/Base/Esquerda/Direita. Verifique!source/ADM010/UdmADM010.pas:314-340 (TdmADM010.tabPARMSISTEMABeforePost)
DT_INICIOHRVERAO e DT_FIMHRVERAO (datas do Horário de Verão) — aba Sistema > Horário de VerãoSe um dos dois for preenchido, o outro também é obrigatório; início deve ser menor que términoInforme a data de início/término do Horário de Verão! / Data de Término deve ser posterior a data de Início!source/ADM010/UdmADM010.pas:343-369 (TdmADM010.tabPARMSISTEMABeforePost)
CD_MODULO (grid de Exceção de Timeout por Programa) — aba Acesso PadrãoObrigatório ao gravar a linha do gridÉ Obrigatório informar o Código do Programa na lista de Exceções do Timeout!source/ADM010/UdmADM010.pas:623-631 (TdmADM010.tabEXCPROGRAMABeforePost)
CD_USUARIO (grid de Exceção de Timeout por Usuário) — aba Acesso PadrãoObrigatório ao gravar a linha do gridÉ Obrigatório informar o Código do Usuário na lista de Exceções do Timeout!source/ADM010/UdmADM010.pas:633-641 (TdmADM010.tabEXCUSUARIOBeforePost)

Mensagens: causa e ação​

C-0045​

Causa: Usuário clicou no botão Excluir (F7) com uma linha já gravada em foco em um dos grids de exceção de timeout (Programa ou Usuário).

Ação: Confirmar para excluir definitivamente a exceção selecionada; cancelar para manter o registro.

Fonte: source/ADM010/UADM010.pas:496-517 (TfrmADM010.btnExcluirClick)

C-0048​

Causa: Usuário tentou fechar a tela (X ou Sair) com alterações pendentes em algum dos datasets (PARMSISTEMA, ESTADOS ou os grids de exceção).

Ação: Confirmar para salvar as alterações automaticamente antes de fechar (aciona o botão Salvar); cancelar mantém a tela aberta com as alterações perdidas ao fechar de novo sem salvar.

Fonte: source/ADM010/UADM010.pas:304-325 (TfrmADM010.FormClose)

I-0047​

Causa: Salvamento concluído com sucesso: PARMSISTEMA, ESTADOS e as listas de exceção de timeout foram gravados e a transação foi comitada.

Ação: Nenhuma ação necessária; a tela reabre os dados atualizados na aba Configurações.

Fonte: source/ADM010/UADM010.pas:406-427 (TfrmADM010.btnSalvarClick)

O Timeout de Sessão deve ser de no mínimo 5 minutos. Deixe em branco para desabilitar!​

Causa: Usuário informou um valor entre 1 e 4 no campo Timeout da sessão.

Ação: Apagar o campo (desabilita o timeout) ou informar 5 ou mais minutos, na aba Acesso Padrão.

Fonte: source/ADM010/UdmADM010.pas:290-300 (TdmADM010.tabPARMSISTEMABeforePost)

A Empresa não está Cadastrada [ADM002]!​

Causa: O código digitado no campo Empresa (acesso padrão) não existe na tabela EMPRESA.

Ação: Informar um código de empresa válido ou usar a lupa de consulta para selecioná-la.

Fonte: source/ADM010/UdmADM010.pas:372-392 (TdmADM010.tabPARMSISTEMACD_EMPRACESSOValidate)

É Obrigatório informar a Empresa para a Validação do Usuário!​

Causa: Usuário tentou preencher o campo Usuário (acesso padrão) sem antes informar a Empresa.

Ação: Preencher o campo Empresa antes do campo Usuário, na aba Acesso Padrão.

Fonte: source/ADM010/UdmADM010.pas:399-402 (TdmADM010.tabPARMSISTEMACD_USUACESSOValidate)

O Usuário não está Cadastrado [ADM001]!​

Causa: O código de usuário informado no acesso padrão não existe na tabela USUARIO.

Ação: Informar um código de usuário válido ou usar F9 para selecioná-lo na lista.

Fonte: source/ADM010/UdmADM010.pas:410-416 (TdmADM010.tabPARMSISTEMACD_USUACESSOValidate)

Esta Empresa não está Liberada para este Usuário [ADM001]!​

Causa: O usuário informado existe, mas não está vinculado (USUARIOEMPRESA) à empresa informada no acesso padrão.

Ação: Liberar a empresa para o usuário no cadastro de Usuário, ou trocar a empresa/usuário informados.

Fonte: source/ADM010/UdmADM010.pas:410-418 (TdmADM010.tabPARMSISTEMACD_USUACESSOValidate)

ATENÇÂO Para alteração do parâmetro, será necessário Migrar o Plano de Contas. Deseja continuar com o Processo?​

Causa: Usuário alterou o tipo de Plano de Contas (Global/Empresa) e já existem contas cadastradas no plano correspondente à modalidade anterior.

Ação: Confirmar para abrir a tela de Migração de Plano de Contas e concluir a transferência das contas; cancelar desfaz a alteração do parâmetro.

Fonte: source/ADM010/UdmADM010.pas:452-498 (TdmADM010.tabPARMSISTEMATP_PLANOCONTABILValidate)

%s Registros importados com Sucesso!​

Causa: A migração de contas do Plano de Contas (Global→Empresa ou Empresa→Global) concluiu sem nenhum conflito pendente.

Ação: Nenhuma ação necessária; a tela de migração fecha automaticamente.

Fonte: source/ADM010/UfrmPlanoContas.pas:282-288 (TfrmPlanoContas.GlobalToEmpresa)

O Programa não está Cadastrado! Verifique.​

Causa: O código informado no grid de Exceção de Timeout por Programa não existe na tabela MODULO nem corresponde a uma tela ativa no menu da sessão atual.

Ação: Usar F9 para escolher entre os programas disponíveis, ou conferir a grafia do código digitado.

Fonte: source/ADM010/UdmADM010.pas:655-666 (TdmADM010.tabEXCPROGRAMACD_MODULOValidate)

O Programa já está na lista de Exceções do Timeout!​

Causa: O código de programa informado já consta em outra linha do grid de Exceção de Timeout por Programa.

Ação: Não é necessário cadastrar novamente; verificar a linha já existente no grid.

Fonte: source/ADM010/UdmADM010.pas:655-669 (TdmADM010.tabEXCPROGRAMACD_MODULOValidate)

O Usuário não está Cadastrado! Verifique.​

Causa: O código informado no grid de Exceção de Timeout por Usuário não existe na tabela USUARIO.

Ação: Usar F9 para escolher entre os usuários disponíveis, ou conferir a grafia do código digitado.

Fonte: source/ADM010/UdmADM010.pas:684-691 (TdmADM010.tabEXCUSUARIOCD_USUARIOValidate)

O Usuário já está na lista de Exceções do Timeout!​

Causa: O código de usuário informado já consta em outra linha do grid de Exceção de Timeout por Usuário.

Ação: Não é necessário cadastrar novamente; verificar a linha já existente no grid.

Fonte: source/ADM010/UdmADM010.pas:684-694 (TdmADM010.tabEXCUSUARIOCD_USUARIOValidate)

É Obrigatório informar a Empresa para utilizar a Lista de Usuários!​

Causa: Usuário pressionou F9 no campo Usuário (acesso padrão) sem antes informar o campo Empresa.

Ação: Preencher o campo Empresa e então acionar F9 novamente para buscar o usuário.

Fonte: source/ADM010/UADM010.pas:679-682 (TfrmADM010.edtCD_USUARIOKeyDown)

Regras de negócio​

  • ADM010.R001 (ver regras/ADM010/ADM010.R001.md)
  • ADM010.R002 (ver regras/ADM010/ADM010.R002.md)
  • ADM010.R003 (ver regras/ADM010/ADM010.R003.md)
  • ADM010.R004 (ver regras/ADM010/ADM010.R004.md)
  • ADM010.R005 (ver regras/ADM010/ADM010.R005.md)
  • ADM010.R006 (ver regras/ADM010/ADM010.R006.md)
  • ADM010.R007 (ver regras/ADM010/ADM010.R007.md)
  • ADM010.R008 (ver regras/ADM010/ADM010.R008.md)
  • ADM010.R009 (ver regras/ADM010/ADM010.R009.md)
  • ADM010.R010 (ver regras/ADM010/ADM010.R010.md)
  • ADM010.R011 (ver regras/ADM010/ADM010.R011.md)
  • ADM010.R012 (ver regras/ADM010/ADM010.R012.md)
  • ADM010.R013 (ver regras/ADM010/ADM010.R013.md)
  • ADM010.R014 (ver regras/ADM010/ADM010.R014.md)
  • ADM010.R015 (ver regras/ADM010/ADM010.R015.md)
  • ADM010.R016 (ver regras/ADM010/ADM010.R016.md)
  • ADM010.R017 (ver regras/ADM010/ADM010.R017.md)

Perguntas frequentes​

P: Por que não consigo salvar e aparece a mensagem sobre a Receita Bruta para Transição para EPP? R: O campo Valor de Receita Bruta para Transição para EPP (aba Configurações) é obrigatório em toda gravação da tela; preencha-o com o valor vigente antes de salvar. Fonte: source/ADM010/UdmADM010.pas:302-306 (TdmADM010.tabPARMSISTEMABeforePost)

P: Deu a mensagem 'Informe o numero de dias que é possível esperar para fazer a nota fiscal desde a liberação'. O que fazer? R: É preciso preencher o campo de dias de tolerância na aba Bloqueio/Cadastro Pessoa (NR_DIASBLOQLIB); ele é obrigatório sempre que a tela é salva. Fonte: source/ADM010/UdmADM010.pas:307-312 (TdmADM010.tabPARMSISTEMABeforePost)

P: O sistema não deixa colocar 2 ou 3 minutos no Timeout de Sessão. É bug? R: Não é bug: o timeout só aceita vazio (desabilitado) ou 5 minutos ou mais, para evitar desconectar o usuário durante o uso normal. Fonte: source/ADM010/UdmADM010.pas:290-300 (TdmADM010.tabPARMSISTEMABeforePost)

P: Configurei o Timeout de Sessão mas as sessões do aplicativo web (WebOS) nunca são encerradas. Por quê? R: Verifique se o código 'WEBAPP' está cadastrado na lista de Telas/Programas (Exceção), na aba Acesso Padrão — enquanto estiver lá, nenhuma sessão web é encerrada pelo timeout, independente do valor configurado. Fonte: Scripts/ENCERRA_SESSOESWEB.sql:18-23 (ENCERRA_SESSOESWEB)

P: Um usuário reclama que foi desconectado do sistema web mesmo estando com a aba aberta o tempo todo. Isso é esperado? R: Sim: o timeout é medido pela última interação real do usuário (clique, navegação), não pela simples renovação automática de token que ocorre a cada 10 minutos com a aba aberta sem uso. Fonte: Scripts/ENCERRA_SESSOESWEB.sql:25-41 (ENCERRA_SESSOESWEB)

P: Troquei o Plano de Contas de Empresa para Global (ou vice-versa) e apareceu uma tela pedindo para migrar contas. É normal? R: Sim, é o comportamento esperado quando já existem contas cadastradas no plano de destino: o sistema pede confirmação e abre a tela de Migração de Plano de Contas para transferir/conciliar as contas antes de efetivar a troca do parâmetro. Fonte: source/ADM010/UdmADM010.pas:439-500 (TdmADM010.tabPARMSISTEMATP_PLANOCONTABILValidate)

P: Na migração de Plano de Contas apareceram contas na lista de conflito e não foram importadas. Por quê? R: A migração não sobrescreve contas: se o código de conta já existe no plano de destino, ou se já existe outra conta com a mesma Classificação e Grau, a conta fica registrada como conflito para revisão manual e não é gravada. Fonte: source/ADM010/UfrmPlanoContas.pas:144-246 (TfrmPlanoContas.GlobalToEmpresa)

P: Deu a mensagem 'O Programa já está na lista de Exceções do Timeout' ao cadastrar uma tela na lista. O que fazer? R: O código do programa informado já está cadastrado em outra linha do grid; não é necessário incluí-lo de novo — verifique a linha já existente na lista de Telas/Programas (Exceção). Fonte: source/ADM010/UdmADM010.pas:655-669 (TdmADM010.tabEXCPROGRAMACD_MODULOValidate)

P: Cadastrei o código de um programa na lista de exceção e apareceu 'O Programa não está Cadastrado'. Por quê? R: O código não corresponde a nenhum registro da tabela MODULO nem a uma tela ativa no menu da sessão atual; use F9 no grid para escolher entre os programas disponíveis, em vez de digitar o código manualmente. Fonte: source/ADM010/UdmADM010.pas:655-666 (TdmADM010.tabEXCPROGRAMACD_MODULOValidate)

P: Fechei a tela e apareceu uma pergunta se quero salvar. É normal? R: Sim: se há alteração pendente em qualquer aba (parâmetros, estados ou listas de exceção de timeout) ao fechar a tela, o sistema pergunta (C-0048) se deseja salvar antes de sair. Fonte: source/ADM010/UADM010.pas:304-325 (TfrmADM010.FormClose)

P: Cliquei em Novo (F5) na tela de Configurações e nada acontece. É bug? R: Não: PARMSISTEMA é um registro único de configuração, então o botão Novo só funciona quando o cursor está posicionado em um dos grids de exceção de Timeout (Programa ou Usuário). Fonte: source/ADM010/UADM010.pas:477-494 (TfrmADM010.btnNovoClick)

Dúvidas em aberto (o código não responde)​

  • Quais são todos os valores possíveis do parâmetro TP_PLANOCONTABIL além de 'G' (Global) e 'E' (Empresa) tratados no Validate, e o que cada valor representa para o restante do ERP? — O código só distingue explicitamente 'G' e 'E' em TdmADM010.tabPARMSISTEMATP_PLANOCONTABILValidate (UdmADM010.pas:439-500); não foi lido código de outros módulos que consome esse parâmetro para confirmar se há outros valores válidos.
  • Onde exatamente (fora da procedure ENCERRA_SESSOESWEB, aqui lida) o valor de NR_TIMEOUTSESSAO e as listas TIMEOUTEXCPROGRAMA/TIMEOUTEXCUSUARIO são consumidos pelo aplicativo desktop, se houver equivalente para sessões não-web? — Só foi encontrada e lida a procedure de encerramento de sessões web (ENCERRA_SESSOESWEB); não há evidência nos arquivos lidos de uma rotina equivalente para sessões desktop dentro do escopo do módulo ADM010.
  • O campo 'Utiliza fuso horário definido no Servidor (Firebird)' (caption na aba Configurações, UADM010.dfm linha 457) corresponde a qual campo de PARMSISTEMA e qual rotina trata seu efeito? — A caption aparece no .dfm mas não foi identificado nos .pas lidos (UdmADM010.pas, UADM010.pas) o handler ou campo correspondente a essa opção.
  • A regra de horário de verão desativado (RETORNA_HORARIOVERAO só calcula a partir de 2020) é definitiva por mudança legal, ou existe algum cenário em que a tela precisa voltar a calcular anos <= 2019? — O comentário na procedure (Scripts/RETORNA_HORARIOVERAO.sql:26-28) indica desativação em 2019, mas não há confirmação no código se isso é regra de negócio fixa ou parametrizável por algum outro cadastro.