Skip to content

GxObjGen v1.11.4 - variables[] no Web Panel + run headless de verdade

Choose a tag to compare

@franciscorizzo franciscorizzo released this 09 Jul 16:45
· 6 commits to main since this release

GxObjGen v1.11.4 — variables[] no Web Panel + run headless de verdade

Onda 3 do feedback da comunidade (issues #13 e #14 — obrigado de novo, @yurecamilo! — e a sugestão do gx_gxserver na #12).

Variáveis tipadas em Web Panel / qualquer objeto — issue #13

  • variables[] no gx_create_or_update_webpanel — mesmo payload do procedure/API (type | domain | basedOnAttribute | basedOnObject, isCollection, Data Types do GX por nome). Tipando as vars dos eventos, o gx_specify fecha limpo — sem spc0047 not defined / spc0023 wrong type ao chamar Procedure tipado.
  • gx_set_variables (nova tool) — tipa/atualiza variáveis de qualquer objeto com VariablesPart (WebPanel, WebComponent, Transaction, API, Procedure...). É a paridade de ESCRITA com o gx_var_inspect. Cria novas e ATUALIZA existentes (só os campos declarados, com relatório antes→depois). type é opcional (desambigua homônimos).
  • Nota: nomes de variáveis standard do GX (Msg, Today, Pgmname...) são reservados — criação recusada na hora com o motivo.

gx_run: E2E de Procedure com efeitos reais — issue #14

  • capture=true é o run HEADLESS real (agora documentado como tal): compila o objeto se preciso (BuildOne, sem BuildAll) e roda o exe gerado como processo filho — &HttpClient faz a requisição DE VERDADE, New/update GRAVAM no banco, e o stdout/stderr vem na resposta com exit code.
  • args no capture — os parâmetros do parm() do proc main viram linha de comando do exe.
  • msg() só captura na forma msg(&x, status) — sem status, vira diálogo modal no exe gerado e pendura até o timeout (agora avisado na descrição da tool).
  • Os modos SEM capture (in-process, o F5 do IDE) agora avisam no retorno: não comprovam a execução/efeitos do programa — resposta vazia não significa "não executou".

gx_gxserver — parcial da issue #12

  • O stub não afirma mais "esta KB é LOCAL": reporta que a conexão Team Dev não é inspecionável por este build, que a KB pode estar sob GeneXus Server, e descreve o sintoma do lock (diálogo do Team Dev atrás do IDE pendurando o Save) + workaround (check-out manual antes da tool de escrita).

Validação

E2E na KB de teste (net-zero): webpanel com evento chamando procedure tipado → specify limpo; update/criação/recusa de variáveis; efeitos reais observados — listener HTTP local recebeu o POST com o body exato + row gravado pelo capture e lido por um SEGUNDO exe; args chegando no exe. Regressão completa: 24/24 PASS.

Ação

  1. Atualize: git pull (repo de instalação) ou baixe o asset abaixo e rode install.ps1 (GeneXus fechado).
  2. /mcp no Claude Code p/ reconectar.

— Equipe CQ1