Pouvez-vous m’éclairer sur le comportement des contraintes/impacts appliquées aux objets “métier” ?
J’ai un objet sur lequel s’applique une vingtaine de contraintes (comportant chacune une vingtaine d’impacts : visibilité et propriété de certains d’attributs)
Lorsque je rentre sur le formulaire de l’objet en question, les différentes contraintes s’appliquent telles que je les ai configurées, mais je m’interroge sur le comportement de ces contraintes sur l’affichage en liste de mon objet ?
Les contraintes sont-elles appliquées lors de l’affichage de la liste d’un objet ?
Quel est le comportement si on souhaite modifier en masse des lignes de cette objet : Les contraintes s’appliquent-elles ?
Et il y a aussi un exemple présent dans notre démo, documenté ici.
Néanmoins pour répondre à votre question concernant les contraintes et l’affichage en liste de votre objet, les contraintes sont censés être effectives dans les deux contextes de façon similaire (formulaire/liste) tant que vous ne définissez pas de précisions les concernants.
Nous vous conseillons aussi de passer par le paramétrage des champs des objets (visibilité, modifications, …) autant que faire se peut, et de n’utiliser les contraintes que pour les cas n’étant pas implémentables ainsi.
Concernant la modification en masse, c’est un comportement que vous pouvez choisir directement dans le paramétrage de votre champ:
Mais, si le comportement voulu n’est pas implémentable de la sorte, la définition d’une contrainte/impacte sur la propriété de l’objet devrait s’appliquer par dessus et donc prédominer:
Dans l’expression de votre impacte vous avez aussi la possibilité de préciser le contexte avec [CONTEXT:ObjectDB.CONTEXT_*], et donc pour appliquer un comportement spécifiquement au bulk-update en utilisant CONTEXT_UPDATEALL.