Oui mais si je fais le getValue() pour la valeur du mois (timestep) précédent ça devrait marcher (je crois que c'est ce que j'ai codé dans la règle) ? Ou alors la valeur de captures du Timestep précédent est-elle virée du context quand on change de TimeStep (sachant que les variables due j'exporte sont bien nommées par timestep) ? Le 19/03/2015 10:33, Eric Chatellier a écrit :
Le 19/03/2015 09:41, Loic GASCHE a écrit :
Bonjour les lutins (et les autres),
J'ai les deux règles suivantes : - une pour soustraire des captures "autres" venant d'une flottille non représentée dans ISIS à l'abondance de poissons de la simu en cours. - une appliquant un TAC à ces mêmes poissons.
L'idée est de prendre en compte les captures "autres" pour déterminer si le TAC est atteint ou non.
Pour cela je voulais passer chaque mois la valeur des captures "autres" dans le context pour pouvoir la récupérer avec l'autre règle afin de vérifier si le TAC a été atteint.
J'ai essayé plusieurs façons de faire différentes (en m'inspirant des HCR déjà créées où on utilise des setValue() et getValue() et qui marchent sans problème), mais j'ai systématiquement un NullPointerException à la ligne de la règle de TAC où je fais le getValue() de la valeur exportée par l'autre règle.
Peux importe l'ordre des règles, les conditions de toutes les regles sont evaluées avant les preAction/postAction.
Donc, comme tu fais le getValue() dans la condition et le setValue() en postAction, c'est pour ca que ca doit être toujours null.
-- Loïc Gasche Doctorant Unité Ecologie et Modèles pour l'Halieutique (EMH) IFREMER - Centre de Nantes