Page 1 sur 1

Champ texte interprété comme nombre

MessagePublié: 05 Fév 2014 à 18:02
par gouff
Bonjour à tous,

Encore une bizzarerie sous mon serveur :

J'ai un champ texte dans un formulaire. si je saisis 2014 et que j'enregistre le document, dans les propriété du doc, il est considéré comme un champ nombre.
Y'a t'il moyen d'éviter ce phénomène sans passer par une conversion?

D'avance merci pour vos retours.

Re: Champ texte interprété comme nombre

MessagePublié: 06 Fév 2014 à 07:39
par Jérôme Deniau
Simple

Field champtexte := un nombre;
Champtexte-> type nombre

Field champtexte:= @text(un nombre);
Champtexte -> type texte

Doc.replaceitemvalue("champtexte", nombre)
Champtexte type nombre

Doc.replaceitemvalue("champtexte", cstr(nombre))
Champtexte type texte

Donc affecter au champ le type attendu

Re: Champ texte interprété comme nombre

MessagePublié: 06 Fév 2014 à 10:48
par gouff
Ok merci Jérôme,

Je vais faire le nécessaire sur mon code. Ce que je ne comprend pas c'est que j'ai des documents dans la même base, où la valeur 2010 est interprété en texte, et d'autres document où la valeur 2014 est interprété en nombre, sans que des formules de conversion est été mises en place dans les masques.

Re: Champ texte interprété comme nombre

MessagePublié: 06 Fév 2014 à 10:56
par Jérôme Deniau
Simple:

Si un utilisateur édite le document, le type du champ est appliqué via le masque au document

Exemple
ChampTexte=2014 (donc un nombre dans le document)

L'utilisateur ouvre le document en édition, il fait quelques motif (n'importe où pas forcément dans le champ ChampTexte

notes arrive à convertir le nombre 2014 en chaine "2014" (ça notes sait faire) puisque le champ est de type texte, lors de l'enregistrement, Notes applique le type Texte au contenu du champ donc champTexte="2014".

Pour faire en sorte que tous les docs soit top (texte), faire un agent avec @command([ToolsRefreshSelectedDocs]), en gros àa fait un computewithForm, effet de bord: le nom de la personne qui exécute l'agent mettra son nom dans les docs, dernier modificateur et date de modification=date du traitement de l'agent ($UpdatedBy puis $Revisions respectivement)

Re: Champ texte interprété comme nombre

MessagePublié: 06 Fév 2014 à 11:35
par d.bugger
Je ne comprends pas, Notes ne change pas le type d'une valeur saisie.

Est-ce un champ dans un masque, et tu saisis la valeur en Notes, dans le masque ? Ou l'attribues-tu une valeur en script ? ou Formule ?