Modifier un champ à l'enregistrement - InfoPath Dev
in

InfoPath Dev

Use our Google Custom Search for best site search results.

Modifier un champ à l'enregistrement

Last post 03-11-2008 08:19 AM by Aurélien. 12 replies.
Page 1 of 1 (13 items)
Sort Posts: Previous Next
  • 03-10-2008 04:06 AM

    Modifier un champ à l'enregistrement

    Bonjour,

     J'ai lu qu'il était possible d'utiliser du C# ou du VB dans IP2007.

    Est il possible dans l'un ou dans l'autre de vérifier les noms de champs ? L'idée est de remplacer un Champ_1 par quelque chose de plus parlant.

    Par exemple, en présentant la liste des champs à renommer dans une fenêtre de dialogue, et une fois celle-ci remplie, remplacer les champs ?

     

    Merci !!!

  • 03-10-2008 06:03 AM In reply to

    Re: Modifier un champ à l'enregistrement

    Salut,

    Afin de t'aider il faudrait que je comprenne quelle est le but de modifier le nom des balises xml? Pour un traitement ultérieur? Si tu ne connait pas le nom des balise (vu qu'il est variable selon l'utilisateur) comment tu vas faire pour travailler ton XML par la suite?

     Car à mon avis tu ne réfléchis ou tu ne comprends pas comme il faudrait faire pour travailler avec Infopath.

    Mise a part ca tu peux très bien les changez toi même dans le mode design d'infopath afin de leur données un nom qui te parle. Mais c'est vrai que dans ce cas elle resteront fixe.

     

    ++

     

    Thierry

     

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 03-10-2008 06:11 AM In reply to

    Re: Modifier un champ à l'enregistrement

    Le but est qu'au final le XML du formulaire sera parsé et un rapport au format Excel sera écrit, reprenant les champs comme intitulés de colonnes. On pourra également avoir d'autres traitements du même type, où on devra récupérer des noms intelligibles.

     

    En fait il s'agit d'une sorte de recontrôle, afin de ne pas avoir de colonnes dont on ne saura identifier le contenu au niveau du traitement Excel.

    Comme je l'ai expliqué l'idéal serait de pouvoir remodifier à partir d'une popup ou autre le nom des champs en question.

     

    Merci de la réponse en tous cas

  • 03-10-2008 06:29 AM In reply to

    Re: Modifier un champ à l'enregistrement

    Personnelement je ne le ferais pas du tout comme ca mais plutot avec un attribut dans la balise en question et la
    tu peux directement dans Infopath lui lié une textbox et ton utilisateur pourra qualifier ca ligne beaucoup plus simplement
    et directement dans Infopath.

     
    Je suis désolé de te le dire mais ton idée va l'encontre même du principe de XML.

    Car le but d'un XML est d'avoir un schéma ou une DTD qui le qualifie et qui permet aussi sa validation. Et ainsi pouvoir gérer tout les XML
    de la même facon et donc lui appliqué toujours le même XSLT (ou une autre transformation) qui le transformera en autre chose (HTML, PDF,
    Excel, Word, RTF,...) pour la suite du traitement.
    .   


     

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 03-10-2008 06:39 AM In reply to

    Re: Modifier un champ à l'enregistrement

    En effet, je t'avoue que je n'aime pas l'idée d'aller modifier le code créé par Infopath à la main, mais je n'ai pas d'autre solution pour l'instant ... par contre l'attribut qui correspond à un champ texte ce n'est pas une mauvaise idée du tout, le seul soucis étant la création des champs texte.

    Y aurait il plutôt un quelconque moyen de récupérer l'intitulé des contrôles simplement pour le placer dans cet attribut XML ?

     

    Pour préciser l'utilisation de nos formulaires : les personnes qui utilisent vont faire du copier coller depuis Word pour la mise en forme, et ensuite ajouter les contrôles en question, pour créer leurs modèles (à partir d'un modèle "vide", j'entends par là vide de contrôles).

     

    Merci de ton aide, j'ai un peu de mal avec les formulaires, c'est difficile de trouver des infos ...

  • 03-10-2008 06:48 AM In reply to

    Re: Modifier un champ à l'enregistrement

    >>>par contre l'attribut qui correspond à un champ texte ce n'est pas une mauvaise idée du tout, le seul soucis étant la création des champs texte.

    C'est tout simple il suffit (dans le mode design de Infopath dans la source de données principale ) de cliquer sur ta ligne répétitive et de faire ajouter pluis tu défini un attribut au lieu d'un champ et tu clique OK.

    Après ta bdd principale va être actualiser et un petit élément (le nom que tu lui aura donné) apparaitera en bleu foncé et la il te reste plus qu'a le déplacer et le mettre ou tu veux avec le controle que tu veux (textbox, liste déroulate, ....) ou alors lui donner une valeur défini par des règles ou du code.

     ++

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 03-11-2008 02:44 AM In reply to

    Re: Modifier un champ à l'enregistrement

    Bon après proposition à qui de droit, ils ne sont pas emballés par l'idée ...

    J'aurais une dernière question : est ce que, dans le VB, ou même directement depuis Java, mais j'en doute, on peut accéder à un modèle pour en modifier la structure sans avoir à repasser par une étape de publication/signature ?

    J'avais imaginé une solution Java où on ouvrirait les fichiers et on modifierait les xsd et autres, mais déjà ce n'est pas propre du tout, et en plus on doit republier et resigner le modèle ... donc je me demande si en VB on aurait un accès plus "direct" aux éléments ?

     

    merci !!

  • 03-11-2008 03:26 AM In reply to

    Re: Modifier un champ à l'enregistrement

     Tu diras à ton qui de droit que ce qu'il décide c'est du grand n'importe quoi...

     Si tu modifie un document xml qui a été signé la signature ne sera forcément plus valable.....

     Car le but justement d'une signature est de certifier que depuis l'envoie jusqu'a
    la réception le xml n'aie pas changé.

    Et tu ne pourras pas repassé par la signature automatique de Infopath si ton xml
    n'est plus valide par rapport au schéma défini dans ce dernier.

    Enfaite moi, je suis sure que c'est la flemme de (re-) faire un parsing non standard dans Excel ? ;)

    A part ca si tu as du excel 2003 ou supérieur tu peux directement générer un fichier ExcelML (Excel en XML)
    et la tu pourras tous ou quasiment tout définir. Et franchement ce XSLT n'est pas très dure à écrire.

     ++

    Thierry

     

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 03-11-2008 06:55 AM In reply to

    Re: Modifier un champ à l'enregistrement

    Le soucis est qu'ils veulent finalement configurer leur modèle hors Infopath ... ou alors le créer dans Infopath mais le modifier hors Infopath ce qui revient au même ...

    D'où l'idée de passer par du VB avec lequel on aurait plus facilement le contrôle sur Infopath (je suppose, vu qu'il fait partie de la suite Office) sans aller parser le XML/XSL/XSD pour faire de l'ajout et faire un truc dégueux.

    Dis moi si je me trompe ! Dans tous les cas j'ai bien l'impression qu'on n'arrivera pas à une solution qui leur plaira :)

     

    Autre chose, tu as l'air de dire qu'il y a moyen de signer automatiquement sous Infopath ? Tu veux dire en passant par Options de formulaires>Sécurité ou alors il y a encore plus simple ?

    Par contre je n'ai pas compris ce que tu veux dire avec le ExcelML ? quel est le but ?

  • 03-11-2008 07:13 AM In reply to

    Re: Modifier un champ à l'enregistrement

    >>>>> sans aller parser le XML/XSL/XSD pour faire de l'ajout et faire un truc dégueux.

     Sur quoi tu te base pour dire que c'est dégueux??? Sa revient a dire que tous ceux qui bosse avec XSLT font de la m.... moi y compris?
    Je te demanderais donc de surveiller ton langage et d'arrêter d'affirmer sans argument.

     Quand tu parles de modèle tu parle de quoi? un fomulaire Infopath? un schéma XML? une DTD? un XML?

    VB ? ca dépend ce que tu entends par "vb" tu peux faire du Vbscript ou du VB.Net.
    A noter que seul le VB.Net marche si tu veux utiliser Form Service (Infopath en mode Web).

    Ca dépend si on parle de la "signature du formulaire" ou de la "signature du XML".

    ExcelML est une facon de décrire un fichier Excel entièrement en XML et non en binaire. 
    Donc par la suite de créer un fichier Excel.

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 03-11-2008 07:27 AM In reply to

    Re: Modifier un champ à l'enregistrement

    par "dégueux" j'entendais aller ajouter des choses dans le XSL/ les XSD pour créer les contrôles infopath depuis JAVA hors infopath, pour après ouvrir infopath et aller retoucher à tout ça manuellement ... je ne pense pas que ce soit la meilleure méthode ? j'ai par curiosité ouvert le fichier view1.xsl et je me vois mal utiliser JAVA pour ajouter des choses tellement ça a l'air complexe, mais je me trompe peut être.

    Par modèle j'entends modèle de formulaire. Pour le VB, je pensais écrire un exécutable en VB qui se chargerait d'ajouter les contrôles à un modèle de formulaire basique, pour l'ouvrir ensuite et terminer la mise en page.

    Dans notre cas, Infopath ne sera pas utilisé en mode web, mais uniquement en local en ouvrant les modèles dans Infopath.

    Et sinon en ce qui concerne la signature je pensais à la signature du modèle de formulaire.

  • 03-11-2008 07:44 AM In reply to

    Re: Modifier un champ à l'enregistrement

    <<<<par "dégueux" j'entendais aller ajouter des choses dans le XSL/ les XSD pour créer les contrôles infopath depuis JAVA hors infopath, pour après ouvrir infopath et aller retoucher à tout ça manuellement ... je ne pense pas que ce soit la meilleure méthode ?

    Ok je comprends maintenant. C'est vrai ca c'est dégueux et c'est bien pour éviter ca que Microsoft ont créer le formattage conditionnel et les vues dans Infopath.

    En tout cas ne part pas dans cette idée si tu veux le faire avec Infopath car c'est totalement contraire a son utilisation et son but.

    Moi je regarderais plutot du coté soit des appli web(jsp,aspx, silverlight) ou XForms si tu veux vraiment allez dans ce sens.

    A mon avis XForms est plus adapté que Infopath pour faire ce que tu me décris après je ne connait pas ou très peu cet outil.

    En plus si tu choisi XForms tu restera du coté Open Source.
     


     

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 03-11-2008 08:19 AM In reply to

    Re: Modifier un champ à l'enregistrement

    Ok merci je vais jeter un oeil du côté de XForms

Page 1 of 1 (13 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.