4D View Pro: A chamada de retorno de importação garante que as funções personalizadas são totalmente resolvidas

Importar documentos é uma tarefa comum quando se trabalha com 4D View Pro. No entanto, quando esses documentos contêm funções personalizadas, pode ser difícil determinar quando todos os cálculos estão completos antes de realizar ações como imprimir ou salvar. Para resolver isso, 4D 20 R9 garante que a fórmula de retorno de chamada de comandos de importação é feita apenas depois de todas as funções personalizadas terem sido completamente tratadas. Esta melhoria dá mais controle e fiabilidade quando trabalhar com documentos 4D View Pro importados.

Função personalizada de carregamento final do HDI 4DVP

Os comandos de importação actualizados

Os seguintes comandos de importação garantem agora que a sua chamada de retorno não é executada até que todas as funções personalizadas tenham respondido:

 

Por exemplo, se estiver carregando um documento grande com muitas funções personalizadas numa área fora da tela, aguardando que todos os cálculos terminem e depois exportá-lo, terá de configurar uma classe como esta:

property pdfPath : Text
property autoQuit:=False

Class constructor($pdfPath : Text)
   This.pdfPath:=$pdfPath
	
  // Esta função é chamada a cada evento para a área offscreen
Function onEvent
   Case of 
      : (FORM Event.code=On VP Ready)
         var $largeDocument4VP:="c:\\tmp\\mylargedocument.sjs"
			
         // Exporte documento em PDF chamado ao final da importação
         var $callback:=Formula(VP EXPORT DOCUMENT(This.area;\
            This.pdfPath; {formula: Formula(ACCEPT)}))
			
         // Documento importado com todas as fórmulas recalculadas
         VP IMPORT DOCUMENT(This.area; $largeDocument4VP;\
            {formula: $callback; sjsOptions: {fullRecalc: True}})
			
			
      : (FORM Event.code=On URL Loading Error)
         CANCEL		
   End case 

e chamá-la na sua área fora da tela:

// Criação do parâmetro objeto offscreen para iniciar a área offscreen
$offScreenParameter:=cs.OffScreenParameterClass.new($pdfPath)

// Criação da área offscreen
VP Run offscreen area($offScreenParameter)

Atualização dos comandos VP FLUSH

Também introduzimos um mecanismo para aguardar o fim dos cálculos assíncronos na classe VP FLUSH COMMAND. Da mesma forma que as importações, pode agora adicionar uma fórmula como parâmetro que será chamada no final dos cálculos.

Por exemplo, se adicionar algumas chamadas a funções personalizadas através de programação e aguardar os respectivos cálculos para exportar o documento:

// Adiciona um cálculo assíncrono
VP SET FORMULA(VP Cell($area; 1; 2); "my4DFunction(1)")
// Espera que o cálculo termine e exporta o documento
VP FLUSH COMMANDS("ViewProArea"; Formula(VP EXPORT DOCUMENT("ViewProarea"; "c:\\tmp\\vpflush.xlsx")))

Conclusão

Esta atualização simplifica o tratamento das importações do 4D View Pro com funções personalizadas, facilitando a impressão, a gravação ou o processamento de documentos apenas quando todos os cálculos estiverem completos.

 

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.