Página 1 de 1
Controle de usuário ao usar formulário avulso
Enviado: Janeiro 26th, 2016, 10:15 am
por adassoft
Estou com seguinte problema:
Tenho um programa para emissão de carnê e faço o recebimento das parcelas através de um formulário avulso está funcionando perfeitamente, porém as restrições aplicadas aos grupos de usuários para a tabela parcelas não está sendo aplicada.
Gostaria de saber como aplicar o controle de usuários em formulários avulso?
Re: Controle de usuário ao usar formulário avulso
Enviado: Janeiro 26th, 2016, 11:33 am
por xfilpo
Olá;
Existe uma função no Xmaker chamada vnivel.
Vc pode acrescentar no seu formulário o seguinte:
if not (vnivel) then
begin
Exit;
end;
ou
if (vnivel) then Abort;
Claro que as funções de Controle de Acesso tem que estar ativadas.
Sds
XFilpo
Re: Controle de usuário ao usar formulário avulso
Enviado: Janeiro 26th, 2016, 11:21 pm
por adassoft
Obrigado amigo, funcionou! Só que ele mostra a tela de login, queria que mostrasse mensagem informando que o usuário não tem permissão para executar tal tarefa.
Re: Controle de usuário ao usar formulário avulso
Enviado: Janeiro 27th, 2016, 4:36 pm
por xfilpo
Olá;
Existem várias maneiras de fazer o que vc quer, eu optei por alterar direto a rotina vnivel que fica embutida
em Rotinas.Pas, veja abaixo. Claro que vc terá que identificar os Grupos a que pertencem os Usuários
que vc quer controlar, bem como terá que trabalhar com a variável pública Sistema.Grupo
function VNivel: Boolean; { Libera acesso ao Módulo }
begin
Result := True;
if (Sistema.ControleAcesso) and (not Sistema.Master) then
begin
//
// Se: Não for Grupo 0001 = ADM
// ----------------------------
if (Sistema.Grupo <> '0001') then
begin
ShowMessage('Grupo: '+Sistema.Grupo) ; // Aqui somente para vc saber se o controle está sendo executado conforme precisa
FormAcesso := TFormAcesso.Create(Application);
try
FormAcesso.SenhaInicial := Sistema.SenhaInicial;
FormAcesso.Tentativas := 03;
FormAcesso.QtdTentativas:= 01;
FormAcesso.Liberacao := True;
{ Vamos Pedir o Nome e Senha do Usuário Master }
if FormAcesso.ShowModal <> mrOk then
Result := False;
finally
FormAcesso.Free;
end;
end;
end;
end;
Sds
XFilpo