ação antes de sair

Pessoal,

Preciso que ao clicar no botão sair, no menu do sistema, eu faça um registro no log do sistema e só então ele encerra a sessão.

Alguém tem solução?

Pesquisa pelo evento onExecute da apl menu, lá tem como fazer.

if ({sc_menu_item} == “item_2”)
{

}

Blz, vou dar uma olhada e posto o resultado… vlw!

Bom, tenho mais uma dúvida.

como sei a numeração do ítem do menu?

levando em consideração que existem submenus, como é feita essa contagem?

Meu menu não é montado de forma dinâmica ainda. é todo manual.

Boa tarde,

Na aba onde o Sr. edita os itens do menu, ao clicar num item o Sr. verá o ID do item.

Att,
Bernhard Bernsmann

Nossa… como pude não ter visto isso… rsrsrs

Obrigado ai…

Bom,

Tentei assim, no onExecute, mas insert não realiza.

if ({sc_menu_item} == "item_6")
{ 
	/**
	* Insert a record on another table
	*/
	
	// SQL statement parameters
	$insert_table  = 'tb_log';      // Table name
	$insert_fields = array(   // Field list, add as many as needed
		 'inserted_date' => "now()",
		 'user' => "'" . [glo_usu_id] . "'", 
		 'application' => "'menu_agbr'",
		 'creator' => "'onExecuteMenu'",
		 'ip_user' => "'" . $_SERVER["REMOTE_ADDR"] . "'",
		 'action' => "'close_ERP'",
	);
	
	// Insert record
	$insert_sql = 'INSERT INTO ' . $insert_table
		. ' ('   . implode(', ', array_keys($insert_fields))   . ')'
		. ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';
	
	sc_exec_sql($insert_sql);
	
}

Recomendo o Sr. a usar echos para verificar se o valor da $insert_sql está correto. O Sr. poderia tentar também utilizar um SQL mais simples na macro sc_exec_sql para verificar se o problema não está sendo no Statement gerado pelas variáveis.

sc_exec_sql(“delete from mytable where id=1”);

Att,
Bernhard Bernsmann

Eu já usei o echo e não executa nada.

Na verdade, a impressão que dá é que o evento não ocorre.

Já tentei tb usar um die; para parar a aplicação, mas isso não resolve tb. ao clicar no botão, a aplicação é redirecionada para a aplicação de login.