Saisissez les calculs
Dans ce chapitre, vous allez ajouter à votre commande des calcules que vous devrez effectuer automatiquement. L'objectif est de calculer le prix en foncion de la quantité de chaque produit qui sera inséré et le prix total de la commande.
Vous devez d'abord créer les champs qui contiendront les valeurs calculées dans les différents tableaux. Une règle importante à retenir est que chaque calcul que vous effectuerez devra avoir un champ où insérer le résultat : ceci servira pour contrôler chaque étape calculée par le programme.
Créez un champ de type devise et avec le nom "Prix" dans le tableau Produits.
Creéez un champ de type Nombre décimal et avec le nom “Qté” dans le tableau commandes_rows : ce sera le champ qui contient la quantité de l'article à trier.
Créez un champ de type Devise et avec le nom "Prix" dans le tableau commandes_rows.
Créez un champ de type devise et avec le nom "Prix total" dans le tableau commandes_rows.
Une fois les champs terminés, vous devriez être dans une situation comme celle-ci :
Modifiez maintenant le champ de code du tableau commandes_rows en sorte que, lorsque vous choisirez un produit, le priz soit également rempli. Puis duoble-cliquez sur le champ et définissez les combinaison en ajoutant le prix.
Une fois les combinaisons définis, cliquez sur OK et enregistrez le modifications effectuées sur le champ.
Après avoir créé les champs, vous pouvez insérer vos comptes. Comme les calculs sont liés aux tableaux, vous devez modifier commandes_rows, puis Commandes.
Allez sur la page des tableaux, double-cliquez sur commades_rows et appuyez sur Définir dans le paramètre Expressions de calcul.
Ajoutez une nouvelle ligne et dans la colonne de gauche sélectionnez le champ Prix total, c'est-à-dire celui qui contiendra le résultat, tandis que dans la colonne de droite écrivez [prix] * [qté]. Il est importante d'écrire exactement de cette façon, parce que les crochets informent le programme que ce sont des champs et il devra donc récupérer leur valeur actuelle avant d'effectuer l'opération.
Appuyez sur OK, enregistrez et essayez immédiatement de faire une nouvelle commande.
Vous pouvez voir que les nouveaux champs que vous avez créés sont présents dans les commandes_rows.
Ajoutez une ligne et insérez des valeurs sand Qté et Prix pour voir calculé automatiquement le Prix total. Il est également possible d'écrire une valeur dans le Prix total, parce que le champ est modifiable, mais il sera changé automatiquement dès que l'un des champs appelés par l'expression sera modifié.
Rappelez-vous que les expressions sont exécutées dans l'ordre dans lequel elles ont été insérées et sont toutes recalculées dès qu'un champ rappelé est modifié.
Maintenant, insérons le champs Prix total sur l'ordre en suivant un autre chemin : insérez le champ directement depuis l'éditeur de schéma.
Ouvrez le schéma par défaut du tableau Commandes, ouvrez le menu Actions, sélectionnez Créer un champ et, pour finir, sélectionnez Détail inférieur droit .
Après cela, créez le champ de type Devise et nommé Prix total. Enregistrez le champ, enregistrez le schéma et fermez.
Maintenant, vous allez entrer le calcul dans le tableau Commandes. Comme vous pouvez le voir, dans la colonne de droite vous trouvez les champs à la fois de commandes et de commandes_rows, car vous pouvez effectuer des calculs en récupérant les valeurs des tableaux supplémentaires.
Ajoutez la ligne et sélectionnez le champ Prix total dans la colonne de droite, pendant que vous cliquez sur l'entrée Prix total en commandes_rows dans le tableau de droite.
L'expression a un format particulier : elle dit au programme de récupérer la somme du champ Prix total, en fait il n'est pas possible de récupérer une valeur d'une ligne spécifique à partir d'un tableau additionnel, mais, dans ce cas, seulement la somme de la colonne.
Si vous devez récuperérer la valeur d'une ligne spécifique, vous devrez saisir un script LUA qui exécutera le calcul.
Comme toujours, appuyez sur OK, enregistrez et testez votre commande.
À partir de ce moment, en ajoutant plusieurs lignes et en saisissant les valeurs dans le colonnes de la Quantité et du Prix, vous verrez le Prix total de la commande de temps en temps recalculé.