Index de lignes sur table qui changent

Bonjour,

J’ai un phĂ©nomĂšne bizarre sur une appli personnalisĂ©e.

J’ai un doctype avec une table enfant qui fait rĂ©fĂ©rence Ă  un autre doctype.

Hors les index sur la table changent Ă©trangement.

La ligne 2 est placée plus bas et son index a changé.

D’autant plus que le doctype est soumis, il n’est pas censĂ© se modifier.

Avez-vous dĂ©jĂ  vu ce phĂ©nomĂšne que je n’arrive pas Ă  expliquer ? :smile:

Bonne journée,
Ludovic

Le champ d’index idx est prĂ©sent dans tous les documents, table enfant ou non. Dans un document normal, idx est utilisĂ© pour stocker le nombre de rĂ©fĂ©rences Ă  ce document.

Autrement dit, dĂšs que le document est sĂ©lectionnĂ© dans un champ de Lien, la valeur de idx est incrĂ©mentĂ©e, sauf pour les tables enfants. Il faut que je vĂ©rifie qu’il n’y a pas de bug dans la logique de mise Ă  jour, et que ça ne s’applique pas aux lignes table enfant.

J’imagine que toutes tes lignes (sauf la premiĂšre) sont rĂ©fĂ©rencĂ©es par d’autres documents ? Est-ce que le champ de lien qui fait rĂ©fĂ©rence Ă  tes lignes est de type Lien ou alors de type Lien Dynamique ?

Bonjour Corentin,

Oui, effectivement, les lignes reprĂ©sentent les « questions Â» d’un questionnaire.

Lorsque la personne rĂ©pond au questionnaire, on crĂ©e un autre document de type « soumission Â» qui contient aussi un tableau « rĂ©ponses Â» dont les lignes font rĂ©fĂ©rence Ă  chaque question. Le champ de rĂ©fĂ©rence est de type Lien.

Je viens de comprendre ton message @Corentin, je pensais que idx Ă©tait utilisĂ© pour l’ordre dans la liste.

À te lire, ce champ est utilisĂ© pour compter le nombre de fois que le document apparaĂźt en rĂ©fĂ©rence ? Ce qui change un peu la donne dans l’application car il faut que je trouve un moyen d’ordonner ces lignes dans le questionnaire.

La solution : utiliser le type de champ Données au lieu de Lien.

Sauf pour les tables enfants, oĂč idx est effectivement utilisĂ© pour afficher le numĂ©ro et pour ordonner les lignes, et donc ne devrait pas ĂȘtre modifiĂ©. Techniquement, ça ne devrait pas ĂȘtre possible de choisir une table enfant comme type de document pour un lien, pour Ă©viter ce problĂšme.

D’ailleurs il est impossible de changer la valeur d’un Lien vers une table enfant depuis l’interface utilisateur :

image


Le problĂšme ne se produit pas lorsqu’on crĂ©e une commande Ă  partir d’un devis, oĂč chaque ligne du devis est rĂ©fĂ©rencĂ©e dans une ligne de commande : en effet, le type Lien n’est pas utilisĂ©, justement pour Ă©viter ce problĂšme.

image


Merci @corentin
J’ai modifiĂ© la dĂ©finition de mes champs pour correspondre Ă  cette particularitĂ©.

1 Like