initRefSelect ne fonctionne pas pour l'edit-list

Bonjour,
nous avons réussi à filtrer l’affichage des certaines données à l’aide de

	private static final long serialVersionUID = 1L;
	
	@Override
	public void initRefSelect(ObjectDB parent) { 
		if(parent!=null && parent.getName().equals("RheCmplvCol")){
			setFieldFilter("rheCmplvCmpId", parent.getFieldValue("rheCmplvcolCmpId")); 
			//setDefaultSearchSpec("t.rhe_cmplv_cmp_id = " + parent.getFieldValue("rheCmplvcolCmpId"));
		}  
	}
}

cependant, contrairement à ce qui est dit dans cet ancien sujet, cela ne fonctionne pas lorsqu’il s’agit d’une edit-list.

s’agit-il d’un bug ou bien il faut préciser quelque chose d’autre dans le code?

[Message prédéfini]

Afin de permettre une compréhension détaillée de votre contexte, la description fournie ne suffit malheureusement pas. Merci de fournir a minima les informations suivantes:

  • logs d’intérêt de la console javascript
  • logs d’intérêt Simplicité
  • version Simplicité de votre instance (/health)

Bonjour,

Pour info, non reproduit en 5.2.19 sur la démo :
Code de DemoSupplier :

@Override
public void initRefSelect(ObjectDB parent) {
	if(parent!=null && parent.getName().equals("DemoProduct")){
		AppLog.info("initRefSelect", getGrant());
	}
}

Lors de l’edit list de l’objet DemoProdut et sélection d’une référence de DemoSupplier le initRefSelect est bien appelé

J’essaie de reformuler:

nous avons cette liste d’objet


lorsque l’on édite le niveau actuel d’une des compétence, il faut que dans notre liste, il n’apparaisse que les valeurs liés à la compétence actuelle.
Cependant, dans chaque cas, c’est toujours la valeur la plus en bas (donc avec le plus grand Id je suppose), ici leadership, qui est utilisé pour le filtre des données.
Exemple (l’objet lié à autoévaluation est grille d’évaluation):

Finalement, lorsque l’on édite individuellement les objets, la liste est filtré correctement.
Exemple :

Version=5.2.5
Pas de logs particulier ni dans la console js, ni dans simplicité

Pour info le schéma des liaisons:
image

Bonjour,

Merci de commencer par vous mettre à jour. Il y a eu plus de 350 commits depuis la 5.2.5

En attendant nous allons investiguer.

Bonjour,

Merci pour votre retour, le problème a été identifié il y eu effectivement une régression depuis la correction en 5.1.14 (30/11/2021). On va corriger les branches de maintenance.

Pour la 5.3+, on va en profiter pour faire évoluer ce context, car en back on n’a pas les données en cours de saisie en front sur la ligne de l’edit-list (ou du formulaire d’ailleurs), et l’initRefSelect peut en avoir besoin. On peut passer par un LinkMap mais autant pouvoir le faire via le hook.

Le “parent object” sera remis en context stateful avec :

  • old values = les données en base
  • values = les données en cours de saisies sur la UI

Si l’utilisateur n’a rien modifié, les données sont identiques, sinon on pourra surfiltrer les références en fonction des valeurs qui seront sauvegardées, et pas celles actuellement en base.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.