[RESOLVIDO] sc_error_exit()

em onValidate
sc_error_message()
sc_error_exit()

não teria q parar o processamento sem passar por onValidateSucess e executar qquer coisa em onValidateFailure ?

Pela logica sim.

Ola Pessoal

Estou com esse mesmo problema em um formulario
No Evento OnValidate
if ($valor == {valor} )
{
Se fizer somente assim ele continua o processamento
sc_error_message("Já foi pago o valor Total do relatorio : R$ ");

sc_error_exit(); ele fica infinitamente mostrando a mesg do ajax de processamento.

}

Na documentação : [font=verdana]http://127.0.0.1:8090/scriptcase/doc/manual_mp/manual/14-macros/01-visao-geral/index.html#sc_error_exit [/font][font=verdana]eu estou seguindo os passos corretamente.[/font]

Alguem poderia me ajudar; o que desejo é abortar a rotina após a sc_error_message.

Desde de já agradeço pela atenção;

Use essas regras ao usar variáveis no SC para não dar erro de lógica:
VARIÁVEIS (REGRAS)
SC: {Nome} // Nome de Campos das tabelas.
Local $Nome // Colocar $ antes do nome para variável local
Global [glo_Nome] // Colocar [glo_] antes do nome

Seu código tem que ficar assim:
if ($_valor == {valor}) {
sc_error_message("Já foi pago o valor Total do relatorio : R$ ".$_valor);
} else {
// Aqui coloque o restante do código… que precisar.
}

Ola Jailton

Agradeço pela interação; mas ja tinha testado assim e esse procedimento não me serve porque tenho que fazer varias checagens no onvalidate com varias tabelas diferentes.

Porem acredito que esta macro(sc_exit) esta com bug e vou enviar um email a bugs@scriptcase para ver o que eles falam.
Na documentação informa que é assim que que se usa para abortar um processamento e tambem nos exemplos do lado direito dos eventos.
No OnValidate este exemplo aparece assim :

  • Exit after an error has occurred
    */

// Error parameters
$error_test = {field1} == ‘some_value’; // Error test
$error_message = ‘Field1 must be different from some_value.’; // Error message

// Redirection
if ($error_test)
{
sc_error_message($error_message);
sc_error_exit();
}

E este exemplo não esta funcionando. Se colocar somente a sc_error_message funciona mas não aborta o processamento e se coloca o sc_error exit que seria o certo ele fica processando infinitamente.

Muito obrigado pela força.

Então eu nunca usei a sc_error_exit() eu faço ‘if’ encadeado, desviando a lógica assim:

<?php


// Redirection
if ($error_test) {
   // Checagem 1
   sc_error_message($error_message);
   // Abortado
} else {
  // Checagem 2
  if ($error_test) {
	   // Checagem 2
	   sc_error_message($error_message);
	   // Abortado
   } else {
	  // Checagem 3
	  if ($error_test) {
		   // Checagem 3
		   sc_error_message($error_message);
		   // Abortado
	  } else {
		  // Checagem 4
		  if ($error_test) {
			   // Checagem 4
			   sc_error_message($error_message);
			   // Abortado
		  } // Checagem 4
		  
	  } // Checagem 3

   }  // Checagem 2

} // Checagem 1


?>

Já falaram sobre esse mesmo bug que você esta reportando a quase 3 anos e não corrigiram, olhe:
http://www.scriptcase.com.br/forum/index.php?topic=8435.0

Ola Jailton

Resolvi usando o return;

Mas o problema da macro continua e se não arrumam deveriam retira-la essa maneira de uso da documentação; digo essa maneira porque ela ainda funciona para o redirecionamento.

Em 26/02/2014 a netmake reportou no link que enviou : [font=verdana][size=1em]Reportei este problema para nossa equipe de bugs.bernhard que era funcionario da netmake.[/size][/font]
[font=verdana][size=1em]Ou não conseguiram arrumar ou esqueceram.[/size][/font]

[font=verdana][size=1em]Jailton agradeço pelo interesse e ajuda;[/size][/font]

Ola pessoal

Somente para constar caso alguem necessite algum dia usar a macro sc_error_exit.

[size=3] Recebi a resposta do deptº de bugs da netmake(Yuri Esteves) em 03/08/2017 [font=arial]O erro só ocorre na atualização. Na inclusão esta funcionando perfeitamente[/font] [font=arial]Passei para a nossa equipe de desenvolvimento para ser corrigido. Assim que for corrigido, entrarei em contato.[/font][/size]

[size=3][font=arial, sans-serif]C[/font][font=arial]riei um video descrevendo a situação: [/font][font=arial]https://www.youtube.com/watch?v=sjE4-0cb1n8[/font][/size]
[font=Verdana][/font]

[font=Verdana][/font]

[font=verdana, arial, helvetica, sans-serif][size=3]Enquanto isso, estou usando como alternativa simplesmente : return;[/size][/font]

[font=verdana, arial, helvetica, sans-serif][size=3]Até Mais[/size][/font]

Prezados,

A correção estará disponivel release 9.0.015.

Há outro problema similar que persiste na versão Scriptcase 9.0.017, ao utilizar sc_error_exit() no navegador Google Chrome a resposta é ERR_BLOCKED_BY_XSS_AUDITOR.

Para contornar o problema utilizei:

header(“X-XSS-Protection: 0; mode=block”);

Google Chrome é Versão 60.0.3112.90 (Versão oficial) 64 bits

Mozilla Firefox não ocorre este problema.