Erro na geração do código-fonte

Fiz atualização do scriptcase e começou a aparecer a mensagem abaixo quando faço a geração do código-fonte.
Este erro está acontecendo em vários desenvolvimentos.
Algém pode ajudar?

Fatal error: Uncaught Error: Call to a member function MoveNext() on bool in C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\lib\php\database.inc.php:2485 Stack trace: #0 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\generator\nm_gp_analiz_lookup.php(340): nm_db_fields_type(‘conn_mysql’, ‘UTF-8’, Object(ADODB_pdo), Object(nmConnection), ‘select concat(p…’, ‘’, false, true, false) #1 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\generator\nm_gp_gera_lookup.php(163): nm_gp_analiz_lookup(‘SELECT concat(p…’, ‘conn_mysql’, ‘username’) #2 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\generator\nm_gp_gera_lookup.php(31): nm_lookup_automatico(Resource id #312, 30) #3 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\generator\nm_gp_consulta.php(1140): nm_gera_lookup(‘cons’) #4 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\generator\nm_gp_consulta.php(2): sg_load(‘68ABBE04C7C5024…’) #5 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\generator\nm_gp_geracao.php(3025): require(‘C:\Program File…’) #6 C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\generator\nm_gp_geracao.php(2): sg_load(‘68ABBE04C7C5024…’) #7 {main} thrown in C:\Program Files\NetMake\v9-php81\wwwroot\scriptcase\devel\lib\php\database.inc.php on line 2485

Faça uma atualização manual da ferramenta.

Como se faz uma atualização manual.
Sempre faço pelo caminho configurações>Administração>ScriptCase update

No site da ferramenta baixe o zip da última versão, descompacte e copia dentro da pasta scriptcase da instalação.

Backup de tudo antes.

Fiz cópia de segurança, e instalei novamente o scriptcase.
Continua dando o mesmo erro. No entanto, agora está dando erro em alguns desenvolvimentos que antes não dava erro.

Baixei a cópia das aplicações da semana passada. Também está dando o mesmo erro.

É alguma condição no último pacote liberado do scriptcase.

A situação ficou crítica. Não posso dar suporte aos meus clientes.

Mais uma falha inaceitável da empresa.

Sei que já deve ter consultado o estagiário (chatgpt, gemini etc).
Mas aqui vai a sugestão do gemini:
Esse erro acontece porque o Scriptcase está tentando processar um comando SQL que falhou, retornando um valor falso (bool) em vez de um conjunto de dados. Quando o gerador tenta percorrer os resultados com a função MoveNext(), o PHP trava por não haver dados.

Analisando o Stack Trace, o problema não está no código que você escreveu anteriormente, mas em um campo do tipo “Lookup de Consulta” (Select, Duplo Select, Checkbox, etc.) em uma das suas aplicações.

Aqui estão as causas prováveis e como resolver:


1. Aspas e Sintaxe no SQL de Lookup

O erro aponta para um SELECT concat(p.... Verifique todos os campos da sua aplicação que possuem “Lookup de Consulta”.

  • O Problema: Se você usou variáveis como [global] ou {campo} dentro do SQL do Lookup, o Scriptcase tenta validar isso durante a geração do código. Se a variável estiver vazia ou com sintaxe errada, o SQL falha.
  • Solução: Vá no campo que usa esse concat, limpe o SQL e cole-o novamente garantindo que as aspas sejam retas ' e não curvas .

2. Nome de Conexão ou Tabela Inexistente

O log mostra nm_db_fields_type('conn_mysql'...).

  • O Problema: O Scriptcase está tentando ler os metadados de uma tabela através da conexão conn_mysql. Se você renomeou a conexão, mudou a senha do banco recentemente ou a tabela foi deletada, o comando retorna false.
  • Solução: Vá em Configuração da Aplicação -> Selecionar Conexão e confirme se conn_mysql é a conexão correta e se ela está ativa.

3. Erro no “Lookup Automático” (Filtro ou Consulta)

O Stack Trace menciona nm_lookup_automatico.

  • O Problema: Se você tem um campo que faz um Select automático em outra tabela e a consulta SQL desse campo está quebrada (ex: falta uma vírgula entre os campos do concat), o erro estoura na hora de gerar os arquivos fontes.
  • Teste: Execute o SQL do seu lookup diretamente no SQL Builder do Scriptcase (Menu Ferramentas -> SQL Builder). Se der erro lá, esse é o culpado.

4. Limpeza de Cache de Geração

Às vezes, o Scriptcase “suja” os arquivos temporários de geração.

  • Solução: 1. Vá no menu Project -> Clean Dirty Items (ou Limpar itens sujos).
  1. Depois, use a opção Project -> Generate Source Code e force a geração apenas da aplicação que está dando erro.

Como identificar o campo problemático?

Olhando para o erro: select concat(p….
Procure na sua aplicação (Consulta ou Formulário) qual campo tem um comando SQL que começa exatamente assim. Geralmente é algo como:
SELECT id, concat(primeiro_nome, ' ', sobrenome) FROM tabela.

O erro mais comum é faltar um espaço ou usar aspas erradas dentro desse concat.

Você conseguiu identificar qual campo possui esse concat no Lookup? Se colar o SQL dele aqui, posso te dizer exatamente onde está o erro de sintaxe.

PS: Sei que as vezes o gemini alucina.

Olá;

Sou novo em PHP e ainda não compreendo o termo “compilar” utilizado aqui no fórum…
Também não compreendo ainda esses “bugs” da ferramenta que de acordo com o seu relato e de outros usuários parece que o termo “bug” cunhado no princípio da programação foi buscado aqui.

Infelizmente não tenho a mínima condição de te ajudar mas quando vc encontrar a solução por gentileza poste o resultado.

Boa sorte;

No tópico original ele usa o termo Gerar Aplicações e não Compilar.

E também não usa o termo
bug e sim o termo Erro.

Título do Tópico: Erro na geração do código-fonte
Categoria : Bugs

Solicitar ao administrador do fórum criar mais uma categoria : Erro.

Pois não ha Categoria similar.

Conteúdo sinalizado escondido.

Eu não posso rebater uma posição mas você pode ofender e desrespeitar as regras?

Se eu fosse dono do fórum você estaria banido.

Encaminhei postagem aos administradores

Conteúdo sinalizado escondido.

Conteúdo sinalizado escondido.

Espero que tenha consciência da sua postura.

Bom dia
Enfim, observei que o erro/bug que reportei gerou algum desentendimento.

No entanto, o problema ainda não está resolvido. Já consultei o suporte do scriptcase.
Mostrei o comando SQL a eles, e confirmaram que o comanto está correto.

Sinceramente, não sei qual caminho seguir, pois estou sendo cobrado pelos meus clientes e estou de mãos atadas.

Fez a última atualização liberada ?

Bom dia Haroldo
Obrigado pelo seu contato.

Fiz a atualização do scriptcase agora.
O erro/bug, continua.

Já reportei o erro/bug ao suporte do scriptcase, mas até agora, não tive retorno.

Está ocorrendo erro no comando SQL abaixo.

SELECT concat(pessoas.nome_fantasia, ’ = ', sec_users.login, ’ = ', pessoas_contato.contato_nome_abreviado)
FROM sec_users, pessoas, pessoas_contato
WHERE sec_users.login = ‘{username}’
AND sec_users.id_pessoa = pessoas.id_pessoas
AND sec_users.id_pessoa = pessoas_contato.id_pessoa
AND sec_users.id_pessoa_contato = pessoas_contato.id_pessoa_contato
ORDER BY pessoas.nome_fantasia, pessoas_contato.contato_nome_abreviado

Validei no SQL Builder, e está correto.

O que preciso fazer para ser atendido pelo suporte? Estou sendo cobrado pelos meus clientes.