Bonjour,
Est-il possible sans développement, je n'ai pas les compétences, mais juste avec du paramétrage de faire ceci ?
J'ai 2 champs saisissable dans un écran
L'idée serait d'en avoir un 3ème qui est la somme des 2 saisies.
Bonjour,
Est-il possible sans développement, je n'ai pas les compétences, mais juste avec du paramétrage de faire ceci ?
J'ai 2 champs saisissable dans un écran
L'idée serait d'en avoir un 3ème qui est la somme des 2 saisies.
Bonjour,
Je ne sais pas ce que vous appelez "Développement", mais pour faire ce que vous demandez, il faut ajouter une action "APRES_MODIF" sur les deux champs qui permettra de réaliser la somme en sortie de champ.
Dans le traitement spécifique SPExxx, il faut faire le calcul manuel dans les étiquettes "Subprog AM_CHAMPxx"
dans le genre :
bon dév'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Subprog AM_CHAMPxx(VALEUR) Variable Decimal VALEUR [M]CHAMPzz = VALEUR + [M]CHAMPyy If !GIMP : Affzo [M]CHAMPzz : Endif End
Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
Merci.
J'entends par développement l'éditeur de traitement.
Mais je vais essayer de m'appuyer sur ton exemple et d'adapter sur ma base de production.
En complément existe-t-il sur internet des tutos, pdf à télécharger sur comment on programme un peu dans Sage ? Un peu à l'image de ce qu'on peut trouver sur internet sur du vba, php, java...apprendr epar soi même.
Pour bien comprendre le code moi j'ai le champs qui affiche le cumul = TEMPASSE
Et les 2 champs de saisie ZTPS1 et ZTPS2
Comment je modifie le script ?
Comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Subprog AM_ZTPS1(VALEUR) Variable Decimal VALEUR [M]TEMPASSE = VALEUR + [M]ZTPS2 If !GIMP : Affzo [M]TEMPASSE : Endif End
Bonjour,
Tout à fait.
Je vous propose des captures d'écran.
Paramétrage des champs dans l'écran :
Traitement spécifique SPExxx :
Bon dév'
Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
Merci.
Ok c'est ceux sur quoi j'étais parti.
Derrière que faut-il revalider dans quel ordre ? Objet, écran...
Si la fonction n'est pas soumise à transaction (comme par exemple fiche article, ou nomenclature), rien à valider.
Sinon, de préférence :
1. Ecran
2. Fenêtre
3. Transaction
Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
Merci.
Voici mon menu Action, puis mon paramétrage d'écran et enfin le script, cela ne fait pas le calcul si je modifie le ZTPS1 dans l'écran où cela bloque
Bonjour,
Si vous souhaitez passer par une action pour ce calcul, alors il faut agir autrement.
Voici les modifications que je vous propose :
Dans l'action "ZTEMPSPASS" modifier les champs traitement comme ceci :
ne pas oublier de cocher la case "Zone courante" (utile pour la suite )
On capitalise la formule de calcul dans un sous-programme qui testera depuis quel champs on en a fait l'appel.
puis de modifier le traitement de la sorte :
pour l'action sur le champ ZTPS1"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ################################################## Subprog CUMUL_TPS(VALEUR) Variable Decimal VALEUR #--> Quel champ génère l'action ? Case zoncou When "ZCHP01" [M]ZCHPTOT = VALEUR + [M]ZCHP02 When "ZCHP02" [M]ZCHPTOT = [M]ZCHP01 + VALEUR Endcase If !GIMPORT Affzo [M]ZCHPTOT : Endif End
En espérant que cela puisse vous aider.
Bon dév'
Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
Merci.
Je comprend mais dans le script ZTPSPASSE que doit-on mettre du coup ?
dans le traitement ZTEMPSPASS, si vous souhaitez utiliser un type d'action "ACTION", il faut plutôt prendre la version avec le sous-programme CUMUL_TPS - traitement capitalisé.
l'étiquette $AM_ZTPS1 est plutôt à utiliser dans un type d'action "SPE". Elle est contenue dans le traitement SPExxx de l'écran d'origine et non dans le traitement ZTEMPSPASSE de l'action ZTEMPSPASSE.
Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
Merci.
Désolé je ne vois pas comment faire le lien entre ZTEMPSPASSE et ZCUMUL_TPS
Menu Action :
Script ZCUMUL_TPS :
Script ZTEMPSPASSE (vide) :
Ecran onglet "Général" :
Ecran onglet "Champs" :
Dans l'écran FIN1, le traitement spécifique n'est pas ZTEMPSPASS puisque ce traitement est celui associé à l'action ZTEMPSPASS.
Le sous-programme CUMUL_TPS fait partie intégrante du traitement ZTEMPSPASSE.
Ce n'est pas un traitement lui-même.
Normalement, si vous passez par le tunnel "éditeur" du traitement ZTEMPSPASSE" dans la fonction ACTION, il devrait avoir un sous-programme existant "CUMUL_TPS".
Il faut le compléter avec le code fourni plus haut
a modifier comme ceci :
A votre écoute
Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
Merci.
Merci pour la / les solutions, par script ou par action.
Cela est fonctionnel.
Je n'avais pas eu ton retour sur les tutos, existe-t-il quelque chose ?
Vous pouvez essayer par paramétrage depuis l'écran, dans "valeur par défaut" de la zone "somme", mettez *[M]CHAMP1+[M]CHAMP2
Il faut bien mettre * en premier.
En espérant avoir été clair (et avoir compris votre demande initiale).
Bonjour,
Merci pour cette formule qui fonctionne. J'utilise aussi les valeurs par défaut, mais pas de cette façon là.
Ce qui me gêne, sans être une critique, c'est que le calcul ne s'effectue que si on arrive dans le champ concerné (la valeur par défaut est calculée lors de l'initialisation du champ).
Si on ne change que la valeur du CHAMP1, alors le calcul ne se fait pas.
Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
Merci.
Merci bimiman.
Je ne connaissais pas.
Mais effectivement ça ne va pas correspondre à mon besoin car si l'utilisateur ne passe pas sur ce champ cela ne s'actualise pas.
En effet.
ça convient si les 3 champs se suivent en tabulation, auquel cas en sortie du 2ème on tombe sur celui de la somme.
Je viens de me rendre compte que c'est dans ce cas précis que j'utilise cette possibilité.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager