Como substituir fórmulas obsoletas no formulário
Substituição de funções SQL obsoletas por métodos seguros
A partir das versões 2.2.0.388 e 2.2.1.145, entraram em vigor novas regras relacionadas ao uso de fórmulas depreciadas no sistema.
Desde 31 de dezembro de 2024, a inicialização de workflows é impedida se forem identificadas fórmulas depreciadas em formulários ou atividades dos processos. No entanto, as instâncias que já estavam em execução podem continuar utilizando as fórmulas sem interrupções.
As funções EXECUTESQL, ABRIRZOOMSQL e UPDATEGRIDZOOMSQL foram depreciadas na versão 2.1.3 e, a partir de 30 de junho de 2025, deixarão de ser executadas pelo sistema.
É imprescindível substituir essas chamadas pelas novas funções QUERYEXECUTE, QUERYZOOM e QUERYZOOMTOGRID, respectivamente.
Essa mudança fortalece significativamente a segurança, pois impede a inclusão de comandos SQL diretamente em fórmulas.
As novas funções exigem que o SQL seja registrado previamente (diretamente no formulário ou por meio de um atalho na barra de tarefas), garantindo maior controle e proteção dos dados.
A partir de 30 de junho de 2025, os ajustes descritos neste artigo são obrigatórios para adequar os formulários que ainda utilizam as fórmulas depreciadas.
Substituição da função EXECUTESQL
A função EXECUTESQL executava um comando SQL e atribuía o resultado a campos do formulário.
Por exemplo, para obter o líder de um usuário informado no campo ID# e gravar esse valor no campo Leader, usava-se:

Para adotar a nova abordagem, siga os passos abaixo:
1. Cadastre a consulta SQL na seção Queries. Defina, em Queries, o comando que recupera o líder com base no identificador do usuário.

2. Substitua a fórmula obsoleta EXECUTESQL pela nova função QUERYEXECUTE. Use o identificador da consulta cadastrada e informe os campos que receberão o retorno da query.
Por exemplo:

Dessa forma, todo o SQL permanece registrado na seção Queries e apenas o identificador é referenciado na fórmula do formulário.
Substituição da função ABRIRZOOMSQL
A função ABRIRZOOMSQL exibia os registros resultantes de uma consulta SQL e atribuía o registro selecionado a campos específicos do formulário.
Suponha que ela fosse utilizada para listar departamentos e atribuir o escolhido ao campo Department:

Para migrar ao novo padrão, siga os passos abaixo:
1. Cadastre a consulta SQL na seção Queries. Crie uma query que retorne os departamentos, com colunas, como nome.

2. Substitua ABRIRZOOMSQL por QUERYZOOM:
- Utilize o identificador da consulta.
- Especifique os campos que receberão os valores do registro selecionado.
- Determine quais colunas serão exibidas no zoom.
Por exemplo:

Assim, a lógica de apresentação dos registros e a atribuição ao formulário ficam centralizadas na configuração da seção Queries, garantindo maior clareza e segurança.
Substituição da função UPDATEGRIDZOOMSQL
A função UPDATEGRIDZOOMSQL exibia registros retornados por uma consulta SQL e atribuía os itens selecionados a uma tabela (grid) do formulário. Por exemplo, para listar produtos e cadastrá-los na tabela.

Para adotar o método seguro, siga os passos abaixo:
1. Cadastre a consulta SQL na seção Queries. Crie uma query que recupere os produtos, incluindo colunas como nome e preço.

2. Substitua UPDATEGRIDZOOMSQL por QUERYZOOMTOGRID:
- Utilize o identificador da consulta.
- Informe o identificador do relacionamento da tabela.
- Especifique os campos que receberão os valores.
- Indique se a tabela deve ser limpa antes da atualização (VERDADEIRO/FALSO), além das colunas que serão exibidas ao usuário.
Por exemplo:

Dessa maneira, a exibição e a inserção de registros na tabela estão totalmente vinculadas às queries previamente definidas, aumentando a consistência e a segurança do formulário.
Atualização de registros de formulário com fórmulas obsoletas
Os registros de formulário utilizam a revisão vigente no momento em que foram criados. Mesmo que novas revisões surjam, esses registros continuam vinculados àquela versão.
Para aplicar as novas regras e, consequentemente as novas funções, em registros já existentes é necessária a atualização manual da revisão. Para isso, siga os passos abaixo:
1. Acesse o menu Gestão > Revisão (FO017).
2. Pesquise pelo nome do formulário cuja revisão será atualizada e o selecione.
3. Clique em Mais e seleciona a opção Substituir revisão obsoleta.
4. Selecione a revisão que contém as fórmulas depreciadas e confirme a troca.
Após essa ação, todos os registros vinculados à revisão antiga serão migrados automaticamente para a revisão vigente, passando a utilizar as novas funções de query.
Com essas alterações, o uso das novas funções QUERYEXECUTE, QUERYZOOM e QUERYZOOMTOGRID deve garantir mais segurança e organização ao desenvolvimento de fórmulas em formulários, pois todo o SQL estará centralizado na seção Queries e não mais embutido diretamente nas fórmulas.