La possibilité d’interagir avec un document par programmation est une partie importante de l’utilisation de 4D View Pro. Vous pouvez désormais remplir vos documents par programmation. Vous pouvez définir des données comme des étiquettes, des champs de base de données ou des formules dans votre document. Bien sûr, si vous pouvez définir, vous pouvez aussi obtenir! Vous pouvez également récupérer des formules de cellules ou des valeurs saisies par vos utilisateurs.
Pour définir et récupérer des valeurs dans 4D View Pro, 4D vous fournit un nouvel ensemble de commandes :
- VP SET VALUE
- VP SET BOOLEAN VALUE
- VP SET DATE TIME VALUE
- VP SET DATE VALUE
- VP SET TIME VALUE
- VP SET NUM VALUE
- VP SET TEXT VALUE
- VP SET FORMULA
- VP SET FIELD
- VP Get value
- VP Get formula
Voici une HDI pour voir ces commandes en action :
Valeur SET et GET dans les cellules
Valeur SET dans une ou plusieurs cellules
Pour définir une valeur dans une ou plusieurs cellules, vous devez d’abord créer une plage de toutes les cellules que vous souhaitez remplir.
Ensuite, selon le type de valeur (texte, date, heure, etc.), vous avez deux façons de la définir :
Par type : VP SET BOOLEAN VALUE, VP SET DATE TIME VALUE, VP SET DATE VALUE, VP SET TIME VALUE, VP SET NUM VALUE, VP SET TEXT VALUE // Setting "Hello World" in cell G11
VP SET TEXT VALUE (VP Cell ("ViewProArea";6;10) ; "Hello world")
Générique : VP SET VALUE
// Setting "Hello World" text in the cells G11
VP SET VALUE ( ("ViewProArea";6;10) ; ("value" ; "Hello world"))VP CellNew object
Valeur GET dans une ou plusieurs cellules
Pour obtenir une valeur d’une cellule, utilisez la commande VP Get value pour obtenir la valeur d’une cellule. Elle renvoie un objet contenant la valeur de la cellule :
$cell:=VP Cell ("ViewProArea";5;2)
// retrieve value of F3 cell
$value :=VP Get value ($cell)
// Verify if value is a Text
If (Value type($value.value)=Is text)
// set the value in uppercase in the cell
( ; ($value. )) VP SET TEXT VALUE$cellUppercasevalue
end if
Formule Set et Get
Définir une formule
Pour attribuer une formule à une cellule ou à un groupe de cellules, utilisez la commande VP SET FORMULA commande. Par exemple :
// Automatically calculate a total in F26
VP SET FORMULA (VP Cell ("ViewProArea";5;25) ; "SUM($F$21:$F$25)")
Vous pouvez également affecter une méthode 4D déclarée, comme expliqué dans Utiliser des méthodes et des champs de base de données dans 4D View Pro avec la commande VP SET FORMULA command:
// Set the licence information in A1
VP SET FORMULA ( ("ViewProArea";0;0) ; "get_LicenceInfo()")VP Cell
obtenir une formule
Pour obtenir une formule attribuée à une cellule à l’aide de la commande VP Get formula à une cellule :
// Create a cell range: D17
)
$cell:=VP Cell ("ViewProArea";3;16)
// Get the formula of the cell D17
$formula :=VP Get formula($cell
// Returns $formula="SUM($F$21:$F$25)"
Définition des champs de la base de données
Définir un champ
Vous pouvez assigner un champ à une cellule avec la commande VP SET FIELD commande. Bien entendu, vous devez déclarer vos champs comme des structures virtuelles, comme expliqué dans l’article du blog Utiliser des méthodes et des champs de base de données dans 4D View Pro.
// assign the Price1 field to the F21 cell
VP SET FIELD (VP Cell ("ViewProArea1";5;20);->[Invoices]Price1)
Gardez à l’esprit que ce champ apparaît dans la formule liée à la cellule, et que les noms de table et de champ sont remplacés par les noms déclarés dans la structure virtuelle.