L’importazione di documenti è un’operazione comune quando si lavora con 4D View Pro. Tuttavia, quando questi documenti contengono funzioni personalizzate, può essere difficile determinare quando tutti i calcoli sono stati completati prima di eseguire azioni come la stampa o il salvataggio. Per risolvere questo problema, 4D 20 R9 fa in modo che la formula di richiamo dei comandi di importazione venga eseguita solo dopo che tutte le funzioni personalizzate sono state completamente gestite. Questo miglioramento offre un maggiore controllo e affidabilità quando si lavora con documenti 4D View Pro importati.
Funzione personalizzata di caricamento finale HDI 4DVP
I comandi di importazione aggiornati
I seguenti comandi di importazione ora garantiscono che il loro callback non venga eseguito fino a quando tutte le funzioni personalizzate non hanno risposto:
Ad esempio, se state caricando un documento di grandi dimensioni con molte funzioni personalizzate in un’area fuori schermo, attendendo che tutti i calcoli siano terminati e poi esportandolo, dovrete impostare una classe come questa:
property pdfPath : Text
property autoQuit:=False
Class constructor($pdfPath : Text)
This.pdfPath:=$pdfPath
// This function is called on each event for the offscreen area
Function onEvent
Case of
: (FORM Event.code=On VP Ready)
var $largeDocument4VP:="c:\\tmp\\mylargedocument.sjs"
// Exports document in PDF called at the end of the import
var $callback:=Formula(VP EXPORT DOCUMENT(This.area;\
This.pdfPath; {formula: Formula(ACCEPT)}))
// Document import with recalculation of all the formulas
VP IMPORT DOCUMENT(This.area; $largeDocument4VP;\
{formula: $callback; sjsOptions: {fullRecalc: True}})
: (FORM Event.code=On URL Loading Error)
CANCEL
End case
e chiamarla nell’area offscreen:
// Creation of the offscreen parameter object to init the offscreen area
$offScreenParameter:=cs.OffScreenParameterClass.new($pdfPath)
// Creation of the offscreen area
VP Run offscreen area($offScreenParameter)
Aggiornamento dei COMANDI VP FLUSH
Abbiamo anche introdotto un meccanismo per attendere la fine dei calcoli asincroni nel file VP FLUSH COMMAND. Allo stesso modo delle importazioni, è ora possibile aggiungere una formula come parametro che verrà richiamata alla fine dei calcoli.
Ad esempio, se si aggiungono alcune chiamate a funzioni personalizzate dalla programmazione e si attendono i loro calcoli per esportare il documento:
// Adds an asynchronous calculation
VP SET FORMULA(VP Cell($area; 1; 2); "my4DFunction(1)")
// Waits for the calculation to finish and exports the document
VP FLUSH COMMANDS("ViewProArea"; Formula(VP EXPORT DOCUMENT("ViewProarea"; "c:\\tmp\\vpflush.xlsx")))
Conclusione
Questo aggiornamento semplifica la gestione delle importazioni di 4D View Pro con funzioni personalizzate, facilitando la stampa, il salvataggio o l’elaborazione dei documenti solo quando tutti i calcoli sono stati completati.
Al momento non è possibile lasciare commenti su questo post.