|
Argow
Solution ready!
|
: : : :
|
Eventos nas Tabelas
|
|
|
Scripts podem ser executados antes e depois
dos seguintes eventos de uma tabela:
Notar que os eventos Editar e Inserir se referem a mudança no estado da tabela. Por exemplo, em uma janela PAD:
- Tabela em modo de consulta, usuário pressiona a tecla Insert, ou clica no botão [+]
- bIns, este evento pode ser utilizado para confirmar privilégios de escrita e, se for necessário,
a ação pode ser cancelada pelo script (retornando false ou sf.abortRequested)
- aIns, momento adequado para atribuir valores iniciais às colunas
- Tabela em modo de inserção. Se usuário cancelar, terminou o processo. Se salva os dados, continua:
- bPost, lugar conveniente para validação de dados.
Se não satisfizer, o script pode cancelar a gravação e voltar a edição (retornando false)
- aPost, os dados foram salvos, atualizar outras informações
- Tabela em modo de consulta
Os script a serem executados são informados nas colunas:
Quando o mesmo evento é especificado em mais de um itemAction, eles são executados na ordem acima.
Os eventos que ocorrem antes da mudança, podem solicitar o cancelamento da ação (retornando false).
No exemplo abaixo, o script não permite que usários padrão modifiquem a tabela tbCliente nas segundas-feiras.
| dicScript |
| scriptName | scriptAlias | scriptBody | description |
| naoModificar | Não Modificar | procedure naoMod... | Não permite modificar nas 2 |
function naoModificar: boolean;
begin
if sf.User.IsPower or not ( DayOfWeek( sf.now() ) = 2 ) then exit;
sf.shell.sayInfo(
sf.UserName + ', as segundas-feiras não é possível modificar esta tabela.',
'Suporte');
result:= false; // Não continuar
end;
|