Versão 73

Novidades

Exportação de dados para Excel

O sistema passa a permitir a exportação de dados de relatórios, grades e resultados de consultas da extensão do VS Code em arquivos do tipo Excel (xlsx), substituindo a antiga opção de exportação “CSV Excel”.

Diferentemente do formato CSV, os arquivos nativos do Excel possuem metadados que permitem indicar o tipo e formato dos valores exportados, simplificando a extração e manipulação desses dados no Excel e em outras soluções de planilhas eletrônicas e BI que suportam arquivos Excel, como o Google Drive e o Power BI.

O sistema também passa a contar com a API XLSXWriter para a escrita de pastas de trabalho Excel. A nova API permite adicionar planilhas, definir estilos e formatações, definir largura das colunas e escrever valores e fórmulas nas células, permitindo a criação de processos de exportação de dados especializados que gerem arquivos mais complexos. Mais detalhes na documentação da API.

Barra de ferramentas de edição da grade

O sistema passa a exibir uma barra de ferramentas na parte inferior da tela sempre que uma ou mais grades estiverem em edição, tornando mais claro para o usuário que há uma edição pendente de confirmação ou cancelamento, em especial no modo formulário de grades com vários campos, onde os controles de confirmação da grade podem não estar visíveis no preenchimento dos últimos campos.

Além de possibilitar a confirmação ou o cancelamento da edição, são apresentados botões que permitem retornar o foco até a grade em edição e mudar o modo de visão da grade. Caso exista mais de uma grade em edição, a barra exibirá os controles da última grade que recebeu o foco.

Grid edit toolbar

Web Framework Design System

O sistema passa a disponibilizar classes e variáveis CSS públicas com o objetivo de simplificar a construção de telas, relatórios ou componentes HTML que precisem adotar os padrões visuais definidos pelo Web Framework ou que precisem utilizar cores para destacar ou categorizar informações.

As novas classes e variáveis CSS disponibilizam a tipografia padrão e de ícones adotada pelo sistema, além de cores previamente selecionadas. Esses novos elementos consideram e se adaptam automaticamente ao tema, densidade e modo claro ou escuro em uso pelo usuário. A relação desses elementos e exemplos de uso podem ser obtidos nos processos “Cores”, “ícones” e “Tipografia” disponíveis no menu “Desenvolvimento > Web Framework > Estilos”.

É importante ressaltar que não devem ser realizadas customizações ou automações que dependam de detalhes internos de implementação da interface do Web Framework, como a hierarquia e identificadores de tags HTML, classes CSS e APIs JavaScript disponíveis no cliente que não sejam documentadas como públicas, pois elas podem ser modificadas a qualquer momento sem aviso prévio.

Mais detalhes podem ser obtidos nas seguintes documentações:

Melhorias

Administração do sistema

  • Solicitações de contas de suporte pendentes de aprovação passam a ser apresentadas como tarefas pendentes dos administradores responsáveis pela gestão dessas contas.

Desenvolvimento

  • Foi criado o relatório “Desenvolvimento > Customizações > Processos e relatórios customizados” com o objetivo de listar os processos e relatórios do menu do sistema que são customizações criadas com chaves positivas ou do produto Custom.

Engine

  • Foi criado o método DataSet.prototype.setFields com o objetivo de atribuir vários campos a partir de um objeto mapeando nomes e valores, ou de dois arrays, com os nomes e valores dos campos.
  • A propriedade DataSet.prototype.tableName deixa de ser readonly, permitindo assim indicar explicitamente a tabela que será modificada pelo método applyUpdates. Essa atribuição é necessária nos casos onde o DataSet é gerado a partir de uma consulta SQL complexa da qual não é possível extrair de forma simples o nome da tabela.

Extensão VS Code

  • A aba de informações do resultado de execução de script passa a exibir o ID da sessão (Session ID), o ID da instância do Engine (Engine ID) e nome e porta do servidor (Server) que foram utilizados na execução do script.
  • O comando “Synchronize Local Cache” passa a sincronizar, a partir do servidor conectado, os recursos sendo utilizados no VS Code, garantindo o acesso imediato às versões mais recentes desses recursos. Antes, o comando sincronizava apenas o cache local do servidor com outros Engines, exigindo que o desenvolvedor aguardasse a sincronização automática da extensão, realizada a cada 30 segundos, para ter acesso às alterações.

Web Framework

  • Foi criado o evento getCellStyle com o objetivo de aplicar diferentes estilos a um campo da grade de acordo com condições específicas, como por exemplo, o seu valor corrente.
  • Foi criada a propriedade SimpleLayout.prototype.noResultsMessage com o objetivo de permitir configurar a mensagem exibida para o usuário quando não há dados a serem exibidos.
  • Foi criado o método Environment.prototype.alert com o objetivo de exibir alertas para o usuário fora do contexto de execução de um processo ou relatório do Web Framework.
  • Foi criada a propriedade tableViewLabel no campo com o objetivo de permitir configurar um rótulo alternativo apresentado no modo tabela da grade.
  • A grade passa a permitir exibir valores de campos como ícones. Para isso deve ser definida a propriedade controlType com o valor icon e o valor do campo deve ser um dos identificadores listados na biblioteca de ícones do Web Framework, que pode ser visualizada em “Desenvolvimento > Web Framework > Estilos > Ícones”.

Defeitos corrigidos

Desenvolvimento

  • Os processos “Atualização da VFS” e “Atualização de tabelas” executavam desnecessariamente a verificação das permissões da base de dados destino em atualizações que não modificavam classes ou arquivos com controle de permissão. Essa verificação atrasava a finalização do processo de forma significativa em bases de dados com muitas atribuições de permissões.

Engine

  • O servidor HTTP poderia falhar ao tratar URLs que contivessem números que coincidissem com chaves da Virtual File System. Esta correção torna mais estrito o tratamento de URLs que contém chaves, passando a ser necessário que a chave seja precedida por uma barra ("/"), exceto quando a chave é utilizada como um caminho relativo.

Extensão VS Code

  • A execução de script apresentava erro quando o resultado fosse uma instância de ClassDefManager, ModelDef ou Field.
  • A execução de script poderia consumir mais memória do que o necessário.

Outras alterações

Engine

Web Framework

  • As propriedades cssClass e labelCssClass dos campos da grade foram descontinuadas e não são mais suportadas.
  • A propriedade cssClass da grade foi descontinuada e não é mais suportada.
  • A propriedade Visualization.prototype.messageWhenEmpty foi renomeada para noResultsMessage e o nome anterior foi mantido apenas para fins de compatibilidade.