4D View Pro : Fin du chargement du document

Traduit automatiquement de Deepl

Lorsque vous utilisez 4D View Pro (notamment en mode hors écran) avec des documents complexes, le calcul de toutes les formules peut prendre un certain temps et il peut être difficile de savoir quand il est enfin terminé (et il est important d’attendre avant d’appeler des commandes telles que l’exportation ou l’impression).

Comme solution, nous avons introduit deux nouveaux événements. L’un d’eux est appelé pour chaque calcul/formule, ce qui pourrait être utilisé pour déclencher une minuterie. Si le temps expire sans qu’une autre formule soit terminée, nous pouvons supposer que le document entier est terminé.

Chargement final du HDI 4DVP

Le premier événement est On VP Range Changed. Cet événement est lancé chaque fois qu’un calcul est terminé. Comme il peut y avoir plusieurs calculs, le deuxième événement est l’événement on Timer. Cet événement permet d’attendre que le prochain calcul soit terminé. Si un événement On VP Range Changed est lancé avant la fin de la minuterie, il faut la relancer, sinon, elle est terminée.

Par exemple, si vous voulez charger un gros document, attendre la fin de tous les calculs et l’exporter, vous devrez créer ce type de classe :

Class constructor($pdfPath: Text)
This .pdfPath:=$pdfPath
This .autoQuit:=False
This .isWaiting:=False

Function onEvent
Case of
: (FORM Event.code=On VP Ready)
// Document import
VP IMPORT DOCUMENT (This.area; $largeDocument4VP)
This .isWaiting:=True
// Start a timer to verify if all calculations are finished.
// If during this period the "On VP Range Changed" is thrown, the timer will be restarted
// The time must be defined according to the computer configuration.
SET TIMER (60)

: (FORM Event.code=On VP Range Changed)
// End of calculation detected. Restart the timer
If (This.isWaiting
)
SET TIMER (60)
End if

: (FORM Event.code=On Timer)
// To make sure not to restart the timer if you call other 4D View commands after this point
This .isWaiting:=False

// Stop the timer
SET TIMER (0)

// Start the PDF export
VP EXPORT DOCUMENT (This.area; This.pdfPath; New object("formule" ; Formula(ACCEPT)))

: (FORM Event.code=On URL Loading Error) xml-ph-00 CANCEL

End case

Téléchargez l’IDH ci-dessus pour voir comment utiliser ces événements pour exporter un grand fichier 4D View Pro au format PDF !

Et consultez le centre de documentation pour plus de détails !

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.