Champ document et contrainte Updatable

Request description

Bonjour,
Encore un souci avec les contraintes :grimacing: cette fois c’est sur une 6.2 mais je reproduis aussi en 6.3.

Avec une contrainte

  • front
  • qui définit la propriété Updatable d’un champ Document
  • le champ dispose d’un document

Je passe le Booleen à No, le document disparaît quand le champ Bocument devient Read only

Je repasse à Yes, mon champ Document est Updatable mais vide (ainsi que le champ image que j’ai impacté par la contrainte également)

Et le Save renvoie une erreur NO_FILE_FORMAT

Le updatable de la contrainte appelle la fonction redraw() qui semble via l’appel à val() (sans paramètre) vouloir chercher le document dans la partie Choose file et non le document déjà enregistré.

find() {
            super.find();
            this.file = $("#file_field_" + this.name, this.ctn)[0];
            return this.input;
        }

Or dans notre cas, nous n’avons pas changé le document, Choose file est hidden et son attribut File est vide.

image

La contrainte
DemoSupplier-C1.xml (2.1 KB)

[Platform]
Status=OK
Version=6.2.21
BuiltOn=2026-01-15 22:16

Bonjour,

Merci pour ton retour très détaillé. Visiblement le redraw se passe mal pour un document en lecture seule.
Simplicité est obligé de redessiner tout le contrôle car l’affichage peut vraiment varier quand on change dynamiquement le read-only (input qui devient un texte simple, boutons en moins ou en plus…).

On va regarder.

1 Like

Ok bug reproduit, un champ document est un peu spécial.
le field.ui.val() ne ramène pas la valeur du field (doc en base) mais la valeur saisie sur la UI. Et cela ne ramène rien vu qu’aucun document/image n’a été téléchargé.

On va ajouter un test pour utiliser le document d’origine dans ce cas.
Ce sera livré en 6.3.7 vu qu’on vient juste de releaser la 6.3.6.

1 Like

Merci beaucoup pour ton retour rapide, j’ai essayé de faire vite pour que vous profitiez de la 6.3.6 mais c’était long à analyser :sweat_smile: c’est en effet très complexe les documents.

Je peux encore passer le fix sur la 6.3.6 car elle n’est pas encore officiellement annoncée

Le fix est assez compliqué à trouver car switcher en read-only/updatable + modifier le document au passage avec un input file qui se vide pour remettre l’ancien document, c’est un peu impossible…

Bref ce sera pas faisable avant la prochaine release à mon avis.

OK on laisse mûrir jusqu’à la prochaine révision (dès que ce sera mûr ce sera dispo dans la 6.3-preview en attendant la révision officielle)

1 Like

Correctif livré et à tester en preview/6.3.7 car toucher aux documents est assez sensible.

Le cas qui posait problème :

  • Boolean à Vrai : la contrainte passe le document en éditable
  • Sélection d’un document
  • Booléen à Faux : le champ passe en lecture / l’input file est détruit, il ne reste que le nom du document dans un champ texte en lecture
  • Booléen à Vrai : le champ repasse en écriture / l’input file est de nouveau disponible mais vide (on ne peut pas setter un input file avec un File) ! seul le nom du document en lecture reste présent
  • Save… miracle le document est sauvegardé !
1 Like

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