| 
							
								Argow 
								Solution ready!
							 | 
							
								 : : : : 
							 | 
						 
						
							
								Eventos nas Tabelas
							 | 
						 
					 
					
				 | 
			
			
				
					Internos
					
					Scripts podem ser executados antes e depois
					dos seguintes eventos de uma tabela (veja também, eventos externos):
					 
					
					
					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) 
 
						- aIns, momento adequado para atribuir valores iniciais às colunas
 
						- Tabela em modo de inserção. Se usuário cancelar, terminou o processo (com os eventos bCancel e aCancel). 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;
					 
					 
				 | 
			
			
			
					Externos
					
					Scripts podem ser indicados para outras aplicações (como Argow Web/MVC)
					para as três operações básicas:
					 
					
					
					Além das variáveis Argow o especifação do script pode conter :PK e :TableName:
					 
					
					  x.afterUpdate= report.do( :TableName, :Pk, :Ar_UserName );
					 
					
					
			 |