Srs, peço v. ajuda!
Gostaria de saber porque conteúdos de variáveis globais não são apresentadas nos formulários.
Tenho uma aplicação (formulário - registro único) onde criei campos do tipo variável global para apresentar conteúdos dessas variáveis que a aplicação está recebendo de outra aplicação (que a chamou).
Tanto na aplicação “chamante”, quanto na aplicação “chamada”, essas variáveis estão devidamente definidas (saída e entrada) e há conteúdos que foram corretamente populados (comprovado por instrução Echo).
Só que os conteúdos não são apresentados no formulários.
Pesquisei em forums, artigos, videos e no (horrível) manual do scriptcase e não encontrei nenhum exemplo de variáveis globais sendo apresentados nos forms das aplicações.
Podem me dizer se isto é uma restrição funcional (seríssima) da ferramenta ou tenho que configurar, tratar ou “fazer o que” para apresentar esses conteúdos.
Podem me ajudar?
Me parece que seus conceitos estão confusos.
Criou um campo virtual no formulário?
Tens variáveis globais de entrada?
No evento onload:
{CampoVirtual}=[Variavel Global];
Simples assim.
Haroldo, boa tarde!
“Campo virtual”: é a primeira vez que vejo referencia a isso no Scriptcase.
Meus conceitos não são confusos porque, em qualquer linguagem de programação, desde que tenha o compilador (ou interpretador) tenha alocado memória para uma variável (como de fato foram, porque as uso para cálculos ou atribuições), deveriam poder ser apresentadas em uma interface, seja através do apontamento direto do endereço do atributo (interfaces de apresentação de dados no desktop) ou através do manejo desses endereços por scripts ou linguagens de marcação (via browse).
Portanto, meus conceitos sobre não haver dificuldades em apresentar os conteúdos de variáveis globais no form, por pressuposto, não são confusos.
O que é confuso e omisso, se me permite, são os manuais do scriptcase que não fazem nenhuma referência ao assunto (restrição a apresentação de conteúdos de variáveis globais no form), mesmo porque VARIÁVEIS GLOBAIS PODEM SER USADAS COMO ENTRADA DE DADOS NO FORM.
Portanto, é indutivo pensar que esses conteúdos poderiam ser apresentados no form.
Começo a entender somente agora, porque não tenho nenhum desenho da arquitetura de processamento das aplicações no Scriptcase (não existe em qualquer manual, assim como os ciclos de processamento dos eventos) o que poderia diminuir enormemente as dúvidas.
De qualquer forma, sua recomendação de contornar essa restrição funcional (não estou chamando de problema) de apresentar conteúdos das variáveis globais, criando CAMPOS VIRTUAIS e atribuindo a eles esses conteúdos, essa recomendação eu implementei e não deu resultado.
Peço, por favor, que veja no Google drive (https://drive.google.com/open?id=0B4n2n_TVKgGrRnlyZVZsMm0zTW8) o que foi feito e as evidencias.
Agradeço se puder me dar um parecer de onde está o erro essencial de como implementei e, eventualmente, apontar em que manual (SC ou PHP) é explicitado essa condição de não se poder apresentar “diretamente no form” conteúdos de variáveis globais.
Só mais uma questão, se eu fizesse uma chamada direta no form (via evento) de um html para apresentar os conteúdos das variáveis globais, funcionaria?
Muito obrigado.
Atenciosamente.
César Azeredo
11 98380.2102
cesar.azeredo@uol.com.br
Haroldo, no slide no 3 que lhe encaminhei no Google drive verá o Echo dos conteúdos que de fato existem nas variáveis globais. Estão lá o nome do candidato “Carlos Eduardo de Souza”, assim como um texto extenso (apresentado duas vezes) que é o texto da questão.
Obrigado pela atenção.
Temos algumas nomenclaturas próprias no scriptcase
Variáveis globais são identificadas no código quando escritas entre [] colchetes. (podem ser em Sessão, capturados por GET ou POST.
Campo Virtual, é um campo adicionado manualmente ao formulário que não tem relação com a tabela do formulário.
Então não existe Criar Campo do tipo variável global, existe criar campo virtual (representado por {} chaves) que pode ser associado a uma variável global quando esse é alterado mas não recebe o valor de uma globa informado em outra aplicação ou passado por parâmetros.
Como sugerido em resposta inicial:
No evento onload:
{CampoVirtual}=[Variável Global];
Trabalho com programação desde 1981, cobol assembler, RPG entre outras e há sim nomenclaturas próprias para cada linguagem assim com há nomenclaturas normatizadas comuns a várias linguagens.
Sugiro a leitura desse Link:
http://www.scriptcase.com.br/forum/index.php/topic,13927.msg72803.html#msg72803
Referência Imagem 1:
https://drive.google.com/drive/folders/0B4n2n_TVKgGrRnlyZVZsMm0zTW8
Em campos (do lado direito não vejo as colunas do formulário, onde elas estão?
No evento é sempre bom testar o resultado da macro sc_lookup:
if (!empty({dataset})){
tem registro
}else{
não tem registro
}
Coloque a aplicação no modo debug e rode.
referente a imagem 2:
Criou os nomes do campos virtuais de forma errada:
Nâo use {} ou colchetes como nome do campo virtual criado, a referência a campos virtuais ou variáveis globais são utilizados com {} ou [] apenas em área de código digitado (eventos}
Campo: NomeCandidato usa-se no evento {NomeCandidato} sempre com chaves.
Campo: w_TextoQuestao usa-se no evento {w_TextoQuestao} sempre com chaves.
Não aconselho dar o mesmo nome de global e campo virtual.
Alimente o campo virtual no evento onload atribuído pela global.
Quanto a imagem 3, não sei o que dizer:
https://drive.google.com/drive/folders/0B4n2n_TVKgGrRnlyZVZsMm0zTW8
Quanto a Documentação posso até lhe dar o mérito que precisa melhorias, mas se instalar o projeto samples, estudar os fontes e estuda bem todas as macros do SC você vai ser sair bem co a linguagem.
Entendi. Estava respondendo quando mandou essa postagem.
Pelas imagens vi alguma coisa errada e tentei lhe orientar como corrigir, vamos por partes, acredito que não será difícil resolver.
Haroldo, funcionou!
Aparentemente meu erro definir o campo virtual incluindo as {}.
Defini outros campos sem as “chaves” e a coisa funcionou.
Obrigado.