Ajouter plusieurs champs personnalisés attrs à différents endroits de la vue


#1

Bonjour! J’ai créé les champs personnalisés “codeGpao” et “aboMailing” dans la colonne JSON “attrs” de la table “BASE_PARTNER” du modèle “com.axelor.apps.base.db.Partner”.

Le problème est que, lorsque que je veux ajouter ces champs dans la vue “partner-form”, je ne peux les déclarer que de cette manière:
<field name="attrs" colSpan="4"/>

Le problème est que cela place les deux champs cotes à cotes:

J’aimerai trouver la syntaxe pour les appeler indépendant à 2 endroit différents du formulaires.

Je n’ai pas trouvé de solution dans la doc relatives aux champs personnalisés: https://docs.axelor.com/adk/5.0/dev-guide/models/custom-fields.html

Faut-il modifier le code source pour ajouter autant de colonne que l’on a de champ personnalisés à la table afin de pouvoir les placer où on le souhaite ou y a t il une solution en changeant la syntaxe?

Merci à vous


#2

Bonjour,

Avez-vous, par hasard, eu ou trouvé une réponse à ce problème ?
Je fais actuellement face à cela et j’en arrive a me demander s’il y a une solution in-app ou s’il faut toucher au code derrière.

Cordialement


#3

Bonjour,

Il est possible d’afficher un attribut dans une grille ou un formulaire via <field name="attrs.name" colSpan="4"/> mais dans un formulaire il est en lecture seule. Je n’ai pas trouvé comme le rendre éditable (même en spécifiant un type et un widget).


#4

Bonjour,

Il est possible de définir plusieurs zones contenant des champs personnalisés. En revanche, cela implique de recompiler l’application. Voir l’objet Partner qui contient deux zones : partnerAttrs et contactAttrs.

Ce n’est pas l’idéal mais je ne pense pas qu’il y ait d’autre moyen de faire sur des objets existants pour le moment.

Cordialement