Macro sc_btn_display em aplicação controle

As vezes me deparo com situações com SC que me desanimam demais.

Perco horas, tentando acreditar que eu, o Programador é quem está errando, e por isso o comportamento esperado do desenvolvimento não é o desejado.

Aí cria-se aplicações para testar o problema e verifica-se que não é o código do programador e sim a ferramenta.

O que deveríamos esperar da macro sc_btn_display?

  • Que possamos dinamicamente em execução esconder ou exibir um botão?
    Para isso basta utilizá-la em qualquer evento ou método da aplicação, mas não.

A macro só funciona na carga da aplicação controle (Evento onScriptInit e onLoad), em eventos ajax de campos, métodos ela simplesmente não funciona.

Mas ai posso ouvir de alguém: Mas no WebHelp o escopo da macro é somente nesses eventos mesmo.

Sim, realmente, mas que sentido faz?
E mais diversas outras macros o WebHelp também diz que seu escopo é somente nesses eventos, mas funcionam eu diversos outros.

Triste realidade.

O bug vale para outras macros, como sc_field_disabled e sc_field_readonly.

2 Curtidas

Concordo, Haroldo… e isto vale para o sc_alert também, que não funciona em todos os lugares…

A única opção que encontrei foi criar um metódo PHP e chamar no evento Ajax.

Não funciona.

Como disse acima, métodos não funciona também quando chamados de eventos Ajax.

Se colocar no metodo PHP e chamar o metódo no no ajax, funciona.
Utilizo bastante e até testei as 4 macros citadas, no onchange de um campo select2, antes de postar aqui.

Eu também testei.

Aplicação controle.

Versão SC : A mais recente.

Versão atualizada (porém sem o update das melhorias encerrado na 9.9.014 php 8.1), mas sempre utilizei.
Testei novamente em uma Aplicação Controle, (havia feito teste no Form), desta vez com onchange em um campo data, apenas a sc_field_disabled não funcionou.

1 Curtida

A minha também não esta com upgrade atualizado

@HenriqueB

As vezes eu penso que programação desktop é melhor.

A programação web é um junta de tudo: HTML, CSS, AJAX, JAVASCRIPT, PHP, etc.
Ai já pega uma IDE + Framework com funções incorporadas de outros frameworks.
Onde por vezes não se atualiza o framework que o framework está utilizando.
Ou se usa apenas algumas funções do framework incorporado no framework principal.
Enchendo o framework principal de código que ninguém vai usar, mas tem que estar ali para que menos da metade das funções do framework incorporado sejam usáveis.
Então chega-se num ponto que sobram bugs, funções capadas, funções que funcionam onde querem.
Framework incorporado desatualizado e com bugs de segurança. E Haja espaço para publicar tudo isto.
Mas tudo bem! Basta colocar uma cara bonitinha (layout) no navegador a cada versão que ninguém vai perceber isto.
Vira um troço.

2 Curtidas