Estou voltando aqui, porque novamente me deparei com esse erro, como eu havia dito anteriormente, isso estava acontecendo porque as tabelas e as aplicações não estavam sincronizadas, mas agora todas estão, mas mesmo assim a aplicação dispara o erro.
Minha aplicação é um form, que possui um comando SQL no onScriptInit:
$sql = “SELECT TOP 1 id_dados_loja FROM tb_dados_loja”;
sc_lookup(‘dados_loja’, $sql);
if(!empty($dados_loja)) {
{id_dados_loja} = $dados_loja[0][0];
}
if(!empty({id_dados_loja})) {
sc_btn_display(“new”, “off”);
}
O erro só é disparado no ambiente de produção. Estou usando o scriptcase 7.01.0014, com o banco SQL Server 2008.
Outro fato que ocorre, é que se eu criar uma função que encapsule a lógica acima, outro erro é disparado: Call to undefined method frm_dados_loja_apl::carregaDadosLoja().
Exemplo (onScriptInit):
function carregaDadosLoja() {
$sql = “SELECT TOP 1 id_dados_loja FROM tb_dados_loja”;
sc_lookup(‘dados_loja’, $sql);
if(!empty($dados_loja)) {
return $dados_loja[0][0];
}
}
{id_dados_loja} = carregaDadosLoja();
Nenhum método está sendo executado dentro o onScriptInit.