Configurar botão editar

Bom dia !
Bom eu tenho um formulário do tipo Grid editável (view) e eu editei o botão editar dele para que cada usuário só possa editar os itens que eles mesmo inseriu

ou seja quando eu estou logado com o usuario de “camponovo” ele so pode editar as coisas que ele inseriu ate ai tudo bem já consegui fazer assim :

if({USUARIO}=='usu1_jaciara') { sc_btn_display ('update', 'off'); } elseif({USUARIO}=='[usr_login]') { sc_btn_display ('update', 'on'); }

porem quando eu entro no usuário de “Jaciara” eu não consigo editar os produtos que eu inseri nesse usuário como eu arrumaria isso ?

if({USUARIO}=='[usr_login]') 
{
   sc_btn_display ('update', 'on');
}
else
{
   sc_btn_display ('update', 'off');
}

Assim eu não consigo editar com nem um usuario

Cara, ve o que vem na variável que você passou.

echo [usr_login];

Na variavel “[usr_login]” vem o login do usuário que esta logado

E o que vem na variável é igual ao campo {usuario}???

A mesma coisa da variável kkkkkkkkk coloquei daquele jeito pois fica melhor para min entender

Se o usuário for igual a “jaciara” ele fica of o update, se o usuário for igual ao usuário que esta logado o update fica on para esse usuário editar somente o item que ele inseriu. o problema e que quando eu entro no usuário “jaciara” ele fica off

O usuario é “jaciara” ou “usu1_jaciara”??

Se {USUARIO} for igual a “usu1_jaciara” e a variável [usr_login] = “jaciara”, é claro que vai ficar sempre off

o usuario e usu1_jaciara , eu falo jaciara apenas para abreviar

Veja certinho aí que deve existir alguma diferença entre os valores que estão em cada variável. Pode ter espaço por exemplo.

Consegui fazendo da seguinte forma : sc_btn_display (‘update’, ‘on’);

sc_btn_display ('update', 'on'); if([usr_login]<>'usu1_jaciara') { if({USUARIO}=='usu1_jaciara') { sc_btn_display ('update', 'off'); } }

Para min fazer para o botão delete seria no caso a mesma coisa, porem trocando o ‘update’ pelo ‘delete’ mas simplesmente não acontece nada.
No ‘delete’ tem que fazer algo diferente ?

Ficaria assim :

sc_btn_display ('delete', 'on'); if([usr_login]<>'usu1_jaciara') { if({USUARIO}=='usu1_jaciara') { sc_btn_display ('delete', 'off'); } }

vc terá só dois usuários no seu banco então? o Jaciara e o camponovo? Pq se tiver mais que dois não vai dar certo esse seu código aí não

Tem mais alguns usuários e já testei em todos e funciono corretamente , só quando eu tento com o delete ao invés do update que não pega

Já precisei fazer isso em aplicações do tipo Grid editável e editável (view), porem não consegui, só funcionou em Único Registro.

Para resolver coloquei a regra antes dos eventos OnBeforeUpdate e OnBeforeDelete.

if({user} != [usr_login]){
sc_error_message(“Não Autorizado!”);
sc_error_exit();
}

Bom dia, estou criando uma aplicação parecida com essa, apenas fui no SQL no where e coloquei meu campo=’[usr_login]’, e funcionou, espero que ajude.

Eu fiz que nem o Cleidson falo e funciono certinho , obg novamente a todos

if({USUARIO} != [usr_login]){ sc_error_message("Não Autorizado!"); sc_error_exit(); }

Show! Isso funciona se você precisa que todos os usuários acessem os dados mas só possam interagir com os que ele cadastrou.

Caso você precise que o usuário acesse somente os dados que ele cadastrou, você pode usar o exemplo que o celso descreveu.