En fait j’ai l’impression que le fetch n’est pas prévu pour ramener les objets du côté N de la relation 1,N. L’objet source doit porter la clé étrangère vers l’objet cible et pas l’inverse. Chez moi les FLux ont une clé étrangère vers l’objet Application, je peux fetcher les flux liés à l’application mais pas l"inverse.
Il y a le même problème dans le modèle de démo j’ai l’impression, on ne peut pas ramener les Suppliers d’un Product. Pourtant le template link existe bien.
Mais le résultat est un peu bizarre quand j’ai une Application émettrice et une réceptrice, sur un des liens il me manque la ligne et sur l’autre, le label
Oui le fetch ramène les N objets liés dans la relation 0,N via la foreign-key.
Dans votre besoin, il est bien plus rapide de faire 1 seul search ajax des Flux lié à A et pour chacun insérer 2 objets le flux et l’application ciblée. Plutôt que de faire N search pour chaque flux dans un fetch en boucle.
Donc quelque chose comme :
var nodes = [];
var o = app.getBusinessObject("RciFlow");
o.search(function(list) {
$(list).each(function(i,item) {
nodes.push({
object: "RciApplication",
id: item.rciFloAppReceptId, // application B
template: "???", // RciApplication template name
x: i*50 + 100,
y: i*30 + 30
});
nodes.push({
object: "RciFlow",
id: item.row_id,
template: "???", // RciFlow template name
x: i*50 + 30,
y: i*30 + 30
});
}
},{
rciFlowAppSenderId: row_id // application A
}
Pour le reste, on fera évoluer le fetch avec une profondeur de recherche dans les 2 sens.
De plus dans votre cas puisque c’est une vue autour de A, vous pouvez placer les flux et les applications B autour de A (avec un peu de trigo élémentaire pour des x,y en cercle).
Bonjour,
Est-il possible via l’instruction $ui.diagram.create d’attribuer un module donné ? Dans mon implémentation les modèles sont créés avec un module ID vide et ne sont donc pas exportés dans les patchs.