Archives de la liste a​i​d​e​@p​a​h​e​k​o​.c​l​o​u​d​

erreur calcul cotisation

Laurent et Valérie

11/02/2021 19:01:09

Bonjour à tous et merci pour ce super projet que je suis en train de tester.



Je suis en train de paramétrer une activité nous permettant de gérer les cotisations de
nos membres.

Celles-ci sont variable en fonctions de plusieurs paramètres, donc celui d’être
moniteur ou responsable de section

J’ai donc créer un champ dans le fiche de membre avec :

Nom unique : monit_resp

Type : Sélecteur à choix multiple

Options disponibles :

Moniteur

Responsable de section

 

Dans ma fiche de tarif, je met le calcul suivant :

CASE

       WHEN monit_resp = 'Moniteur' THEN (169.26 - 60.74) * 100

       WHEN monit_resp = 'Responsable de section' THEN (100 - 60.74) * 100
      ELSE 200 * 100
END

 

Hors quand j’inscrit un adhérent « Moniteur » (case à cochée : moniteur) le tarif
appliqué est de 200€

 

Pouvez vous me dire si je suis bon dans ma logique, ou alors s’il y a une erreur ?

 

Merci d’avance

Laurent

erreur calcul cotisation

Francois WEINACKER

11/02/2021 20:10:17

Bonsoir,

Il faudrait regarder dans la table SQL. Je pense que le choix multiple
renvoit une valeur numérique et non le libellé que vous voyez.

Bonne soirée

Le jeu. 11 févr. 2021 à 19:23, Laurent et Valérie <lv.picamal@free.fr> a
écrit :

> Bonjour à tous et merci pour ce super projet que je suis en train de
> tester.
>
> Je suis en train de paramétrer une activité nous permettant de gérer les
> cotisations de nos membres.
>
> Celles-ci sont variable en fonctions de plusieurs paramètres, donc celui
> d’être moniteur ou responsable de section
>
> J’ai donc créer un champ dans le fiche de membre avec :
>
> Nom unique : monit_resp
>
> Type : Sélecteur à choix multiple
>
> Options disponibles :
>
> Moniteur
>
> Responsable de section
>
>
>
> Dans ma fiche de tarif, je met le calcul suivant :
>
> CASE
>
>        WHEN monit_resp = 'Moniteur' THEN (169.26 - 60.74) * 100
>
>        WHEN monit_resp = 'Responsable de section' THEN (100 - 60.74) *
100
>       ELSE 200 * 100
> END
>
>
>
> Hors quand j’inscrit un adhérent « Moniteur » (case à cochée :
moniteur)
> le tarif appliqué est de 200€
>
>
>
> Pouvez vous me dire si je suis bon dans ma logique, ou alors s’il y a une
> erreur ?
>
>
>
> Merci d’avance
>
> Laurent
>

erreur calcul cotisation

BohwaZ/Garradin

12/02/2021 14:06:42

Hello,

les champs à choix multiple sont représentés par des valeurs
numériques. Il te faudrait soit une case à cocher, soit un sélecteur à
choix unique, si tu veux faire une comparaison textuelle.

Si tu tiens à utiliser un champ à choix multiple, il va te falloir
faire une comparaison binaire :

Donc si 'Responsable de section' est le choix n°2, donc dans une
requête SQL il faudra faire un "ET binaire" (symbole &) :

CASE WHEN (monit_resp & (1 << 2)) THEN...

Si c'était le choix numéro 5 il faudrait remplacer le "2" par un
"5" :

CASE WHEN (monit_resp & (1 << 5)) THEN...

c'est parce que la sélection multiple est enregistrée sous forme d'une
valeur binaire.

Cordialement.

Formule de calcul invalide

Denis LOUVIGNY

21/09/2021 10:31:29

Bonjour,


Je suis en train de paramétrer une cotisation nous permettant de gérer 
les cotisations de nos membres.

Celles-ci sont variables en fonction des dispositifs d'aides possibles

J’ai donc créer un champ dans le fiche de "membres" avec :

Nom unique : "dispositif"

Type : Sélecteur à choix multiple

Options disponibles
    Attention changer l'ordre des options peut avoir des effets
    indésirables.

     1.
     2.
     3.
     4.
     5.
     6.
     7.


Dans ma fiche de cotisation, je met la commande suivante :


UPDATE services_users

SET expected_amound = (

CASE

WHEN membres.dispositif = 1 THEN 'Néant'

WHEN membres.dispositif = 2 THEN expected_amound = 21200 - 9100

WHEN membres.dispositif = 4 THEN 'ANCV'

WHEN membres.dispositif = 8 THEN 'CS'

WHEN membres.dispositif = 16 THEN 'e.Pass Sport'

WHEN membres.dispositif = 32 THEN expected_amound = 21200 - 5000

WHEN membres.dispositif = 34 THEN expected_amound = 21200 - 9100 - 5000

ELSE expected_amound = 21200

END

)

Après avoir coché : enregistré en comptabilité puis renseigné l'exercice 
comptable et le compte impacté 756 Cotissations
je me retrouve avec le message suivant : Formule de calcul invalide


Pouvez vous me dire si j'ai la bonne démarche et qu'elle est mon erreur 
dans cette formule ?

Merci d’avance

Denis

Formule de calcul invalide

BohwaZ/Garradin

21/09/2021 12:47:36

Hello,

la formule de calcul est juste un calcul, il ne faut pas mettre de
UPDATE. Et ça attend un chiffre, avec les centimes (donc 42,01 € doit
être exprimé 4201).

Je ne comprends pas trop pourquoi tu donne des fois un montant et des
fois du texte ?

Donc dans ton cas ça donne simplement :

CASE
WHEN membres.dispositif = 1 THEN 0
WHEN membres.dispositif = 2 THEN 21200 - 9100
WHEN membres.dispositif = 4 THEN 0
WHEN membres.dispositif = 8 THEN 0
WHEN membres.dispositif = 16 THEN 0
WHEN membres.dispositif = 32 THEN 21200 - 5000
WHEN membres.dispositif = 34 THEN 21200 - 9100 - 5000
ELSE 21200
END

Cordialement.