No Campo tipo “Documento (banco de dados)” temos a opção “Deletar Arquivo” que é um check box que ao ser selecionado e depois clicado no botão SALVAR do formulário principal, o arquivo é excluído da tabela do banco de dados. Se retirarmos o acesso do usuário de “Alterar”, essa opção de excluir não afetaria o arquivo, ou seja, não iria excluir o arquivo da tabela porque não dá para salvar a alteração… mas ocorre que precisamos que os usuários tenham acesso ao botão salvar para conseguirem realizar alterações em diversos campos e salvar, entretanto, somente algumas pessoas poderiam excluir os arquivos salvos na tabela, não todos os usuários com acesso a aplicação. Não encontrei uma saída fácil para isso… se alguém puder ajudar… será de grande valia.
No OnLoad do formulário coloque este código exemplo:
if ([glo_Grupo_Senha]<>'Administração') {
sc_field_readonly({Nome_Campo});
}
Para pegar o Nome do Grupo de Senhas caso tiver gerado a senha por Grupos pode usar
na aplicação de Login criada pelo SC, só adaptar no Evento OnValidate:
/* Macro sc_lookup */
$sql ="
SELECT
sec_groups.description
FROM
sec_users
INNER JOIN sec_users_groups ON sec_users.login=sec_users_groups.login
INNER JOIN sec_groups ON sec_groups.group_id=sec_users_groups.group_id
WHERE
sec_users.login = $slogin AND sec_users.pswd = $spswd
";
sc_lookup(chk_grupo, $sql);
/* Erro no lookup */
if (FALSE === {chk_grupo}) {
sc_error_message("Ocorreu um erro no acesso ao banco de dados.<BR>");
}
elseif (empty({chk_grupo})) { /* EOF */
// ...
}
else {
/* Inclua aqui sua rotina de processamento */
$glo_Grupo_Senha = {chk_grupo[0][0]};
sc_set_global($glo_Grupo_Senha);
}
- Testado na 9.4.031