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.
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étodoapplyUpdates
. 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 valoricon
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
ouField
. - A execução de script poderia consumir mais memória do que o necessário.
Outras alterações
Engine
- As sessões em uso passam a ser abortadas caso elas sejam removidas pelo método
SessionManager.prototype.dropSession
.
Web Framework
- As propriedades
cssClass
elabelCssClass
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 paranoResultsMessage
e o nome anterior foi mantido apenas para fins de compatibilidade.