Macro sc_btn_display só funciona no OnLoad

Boa noite srs. Dando prosseguimento aos problemas que venho encontrando na utilização de aplicação controle, preciso habilitar e desabilitar botões conforme a necessidade.
Utilizei a macro sc_btn_display no evento OnLoad para deixá-los desabilitados no início (sc_btn_display (‘incluir_endereco’, ‘off’)) e foi perfeito.
O problema é que em mais nenhum evento eu consigo habilitá-lo (sc_btn_display (‘incluir_endereco’, 'on '));
Agradeço a colaboração.

Realizei testes agora e não apresentou problema.
Pode postar seus códigos pra gente analisar, por favor?

Boa noite Roberto. Segue o script:

Evento Onload:
sc_btn_display (‘incluir_endereco’, ‘off’);
sc_btn_display (‘incluir_telefone’, ‘off’);

Evento onValidateSuccess:
$sql = “insert into empresa ( razao_social, nome_fantasia, cnpj, insc_municipal, insc_estadual, email, tipos_societario_id_tipo_societario) values ( ‘{razao_social}’, ‘{nome_fantasia}’, ‘{cnpj}’, ‘{inscricao_municipal}’, ‘{inscricao_estadual}’, ‘{email}’, {tipo_societario})”;

sc_exec_sql($sql);

sc_lookup(ds,“SELECT LAST_INSERT_ID()”);

[vg_empresa] = {ds[0][0]};

sc_btn_display (‘incluir_endereco’, ‘on’); // Aqui ele não habilita o botão incluir_endereco

É uma aplicação controle, onde só habilito o botão de incluir endereço após a inclusão da empresa. O mesmo se daria para telefone e responsável pela empresa.

Obrigado pela ajuda.

Essa aplicação não pode ser feita com formulário ?

Boa tarde Roberto, novamente obrigado pela atenção.
No início fiz como form, mas devido a problemas encontrados e a navegação pelo controle ser mais eficiente, desisti de usar a form.
Na verdade só considero usar a form para tabelas de apoio ( uf, banco e etc…) ou pequenas atualizações.
Vou relatar esse erro a NetMaker, pois pagamos muito caro para que pequenos problemas como esse, além de atrasar o desenvolvimento, não tenha sido visto por eles.
O que me deixa chateado é que a maioria dos problemas relatados não são de um grau de dificuldade grande, mas sim devido a bugs ou limitações da ferramenta.
Enquanto isso vamos quebrar a cabeça.
Abraços e obrigado

Correria por aqui.
Vou tentar postar algum exemplo semelhante com formulário nesse caso.
Outros Amigos aqui no fórum também ajudam muito, com certeza.

Caro amigo. Esta macro, sc_btn_display, só funciona no evento OnLoad, inclusive no form. Fiz um teste criando a form, como sugeriu, e o resultado foi o mesmo da aplicação controle. No evento onload ( form e controle) se você mandar desabilitar, der uma mensagem e logo após habilitar ele funciona. É como ele só executasse na carga da página, está faltando o “pulo do gato”. Juntando isso ao problema da mensagem de campo obrigatório que relatei em outro tópico, fica difícil andar com o projeto. Estou o dia inteiro em cima desses dois problemas.
Novamente obrigado pela sua atenção.
Abraços

Exemplo bem simples.
Espero que ajude.

if({vus[0][0]}!=‘1’) {
sc_field_display({userCod}, ‘on’);
sc_btn_display(‘update’, ‘on’);
sc_block_display(block1, ‘on’);
}

else {
sc_field_display({userCod}, ‘off’);
sc_btn_display(‘update’, ‘off’);
sc_block_display(block1, ‘off’);
}

Bom dia amigo.
Conforme expliquei no post anterior estas macro ( pelo menos no minha versão do sc 9.2 ), só funciona no evento OnLoad.
Em qualquer outro evento ou método em que eu precise alterar a propriedade do botão ele não surte efeito.
Obrigado.

Olá Americano,

Realmente eu precisei fazer isso também e encontro problema. No meu caso é assim:
a) quando a tabela estiver vazia, o botão INCLUIR vai ficar visivel, então eu faço o teste no onLoad e o botão funciona, porém no momento que eu incluir, eu faço um outro teste no onAfterRecord para deixar esse mesmo botão invisivel, mas ele continua aberto.

b) o botão INCLUIR só fica invisivel se eu fechar o formulario e abrir novamente.
Acredito que no evento onAfterRecord eu preciso atualizar a tabela em memoria, algo assim, e fazer um novo teste, para depois aplicar essa macro.

Caso alguem puder nos ajudar, agradeço.

atc

Valdiney

Caro Valdiney, bem vindo ao inexplicável mundo sc. Mas vamos lá, ontem esta macro começou a funcionar. Tentei descobrir o que eu tinha feito que que sugerisse a a volta dela funcionar. Como estava “empacado” nesse problema, não tinha feito mais nada nesta aplicação. A única coisa que me veio a cabeça foi o fato de ter exportado o projeto ( na tentativa de fazer de outra forma ) e importado-o novamente. Fiat Lux!!. Experimente exportar e importar novamente, pois ela tem de funcionar na form, na controle e onde o manual mostrar, pois é uma ferramenta paga e consta no manual.
Ps. Estou preparando um documento para a NeMaker explicando todos os problemas ( não são dúvidas ) que tenho enfrentado.
Forte abraço e nos informe se deu certo.