IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

InfoPath .NET Discussion :

exporter un formulaire au format HTML avec un Controle type BOUTON


Sujet :

InfoPath .NET

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut exporter un formulaire au format HTML avec un Controle type BOUTON
    Bonjour,

    Je cherche à enregistrer un formulaire InfoPath au format MHT et cela à partir d'un controle de type Bouton.

    Mon contrôle Bouton fait déjà trois actions :

    Envoyer via uen connexion de donnée : connexion principale (qui permet d'enregistrer mes champs de formulaire dans une base de données)

    Envoyer via une connexion de données : Envoi de bibliothèque Sharepoint (qui permet d'enregistrer mon formulaire dans ma bibliothèque de documents Sharepoint)

    Fermer ce formulaire : Invite (qui permet de fermer le formulaire après les actions précedentes)



    Ce que je souhaite c'est également envoyer mon formulaire dans la bibliothèque Sharepoint mais au format MHT (ou HTML ?)afin qu'il soit lisible de tous dans un navigateur (alors que les formulaires ne sont visibles, modifiables et accessibles que par les personnes ayant InfoPath sur leurs postes)

    Comme cette commande n'est pas standard j'imagine qu'il faut ajouter du code (un script) sachant qu'il est possible depuis le menu fichier de faire exporter vers Web ce qui me génére bien le fichier MHT ou MHTML ???


    Merci d'avance pour les informations que vous pourriez m'apporter !

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    et bienvenue sur dev.net.

    Si tu est prêt à payer une facon simple de faire ce que tu veux est:

    http://www.cavedigital.com/?infopathWebPreviewer=1

    Sinon c'est vrai il va falloir coder. Quel langage connais-tu ou voudrais-tu utiliser? En script y a Jscript ou Vbscript et en .Net (nécessite Visual studio) C# ou VB.Net?

    Attention tu ne peux programmer un formulaire que dans un de ces 4 langages.

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  3. #3
    Membre éclairé
    Avatar de marabout
    Homme Profil pro
    Consultant E-Learning
    Inscrit en
    Août 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant E-Learning

    Informations forums :
    Inscription : Août 2006
    Messages : 650
    Points : 852
    Points
    852
    Par défaut
    Quelle version d'Infopath utilises-tu ? car dans la version 2007 tu peux publier directement tes formulaires sur le web, les utilisateurs n'ont plus besoin de infopath sur leur machine.
    http://office.microsoft.com/fr-be/in...520091036.aspx

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Août 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Meme problematique...
    Bonjour à tous,

    J'ai lu le post initial. Et j'ai à peu prêt la meme problematique.
    Mais j'ai beau fouiller infopath à fond, rien de natif apparemment ne permet de faire ca.
    Mon objectif est légèrement différent, mais le besoin se rejoint:
    Je voudrais être capable de créer un fichier xml dans un répertoire, en même temps que publier ce fichier dans une bibliothèque sharepoint.
    Publier ne pose pas de soucis, mais créer le fichier... j'imagine qu'il faut du code ?

    merci de votre aide,

    PS: si je trouve une piste (nous recherchons activement) je posterais la solution ici.

  5. #5
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Ok je vois mais comment concrètement tu veux faire pour entretenir tes 2 fichiers à jour?

    Juste ta logique que tu pense appliquer?

    C'est a un instant T que tu veux faire les sauvegarde ou c'est au fur et a mesure? Si tu pensais au fur et a mesure c'est pas impossible mais ca sera l'immense bordel et ca risque d'être vraiment lent...
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Bonjour Virgul, je travail avec Alain_f. Je me permet donc de répondre à sa place .

    L'objectif est de faire un enregistrement à un instant T. Le formulaire ne sera donc plus modifié.

    Le scénario simplifié serait le suivant:

    1. Un utilisateur remplit les différents champs du formulaire, puis valide celui-ci à l'aide du bouton;

    2. Ce bouton permet: a) l'envoie vers une bibliothèque Sharepoint
    b) l'enregistrement en format xml (l'idéal serait de pouvoir spécifier dans le code, les balises qui figureront dans ce fichier xml).
    c) l'envoie de ce nouveau fichier vers un répertoire réseaux ou FTP

    J'espère t'avoir éclairé...

    J'oubliai, le langage que nous voulons utilisé est le javascript

    Merci d'avance.

  7. #7
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Il est publié sur le sharepoint le formulaire?

    Es-il en autorisation: "controle totale" (full trust) et Signé numériquement a l'aide d'un certificat?
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  8. #8
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par virgul
    Il est publié sur le sharepoint le formulaire?

    Oui le formulaire sera publié dans un bibliothèque de formulaire Sharepoint (voir poit 2.a )


    Citation Envoyé par virgul
    Es-il en autorisation: "controle totale" (full trust) et Signé numériquement a l'aide d'un certificat?
    Les utilisateurs ne pourront pas modifier le modèle de document (je ne sais si je répond à ta question...?)

    Pour ce qui est de la signature numérique, je suppose que lorsque qu'il s'agit d'une fonction native... quelqu'il en soit ce n'est pas une option nécessaire.

  9. #9
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    ouvre ton formulaire en mode publié (depuis sharepoint) va dans fichier->autorisation

    qu'es-ce qui est marqué?

    si c'est accès illimité le formulaire est full-trust et donc signé la on peux faire ce que tu veux mais il faut du code (c# ou VB.Net) car en Jscript ou Vbscript je sais pas si c'est possible en tout cas pas avec la même flexibilité...

    Sinon faut que ca le soit..
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  10. #10
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par virgul
    ouvre ton formulaire en mode publié (depuis sharepoint) va dans fichier->autorisation

    qu'es-ce qui est marqué?
    Etant donné que je suis l'auteur du formulaire, j'ai la possibilité de choisir le niveau de sécurité du formulaire. Je l'ai laissé tel qu'il est nativement. A savoir une autorisation par "Domaine".

    Citation Envoyé par virgul
    si c'est accès illimité le formulaire est full-trust et donc signé la on peux faire ce que tu veux mais il faut du code (c# ou VB.Net) car en Jscript ou Vbscript je sais pas si c'est possible en tout cas pas avec la même flexibilité...

    Sinon faut que ca le soit..
    J'ai cependant une contrainte de taille... je ne dispose pas des environnement de programmation et maîtrise encore moins les langages que tu as cités... je devrai donc me contenter des langages de script.

  11. #11
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Sur un des posts du 12/07/07, tu as spécifié une ligne de code qui permet de récupérer le texte d'un champ:

    XDocument.DOM.SelectsingleNode("tonexpressionXPathdetonchemin").text

    Est-ce qu'il n'est pas possible, avec les méthodes fournies avec le modèle de classe XDocument, de récupérer ce texte dans une variable, ou mieux encore rediriger ce texte dans un fichier .xml?

    Mon idée serait de pouvoir récupérer ainsi le contenu de divers champs, insérer tout ceci dans un fichier, ceci à chaque fois qu'un nouveau formulaire est édité et validé à l'aide du bouton programmer.

    Cela nécessite-t-il forcement un développement C# ou .net?

    PS: aurais-tu un exemple d'implémentation de la ligne précitée s'il te plaît?

  12. #12
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Code Jscript : Sélectionner tout - Visualiser dans une fenêtre à part
    string strChamp1 = XDocument.DOM.SelectsingleNode("/my:mesChamps/my:Champ1").text;

    si ton xml à cette structure:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <my:mesChamps>
        <my:Champ1>toto</my:Champ1>
    </my:mesChamps>

    Donc strChamp1 = toto.

    Oui c'est tout a fait possible mais pour enregistrer un fichier sur le disque il faut un accès totale domaine ne suffit pas.

    Tu parles de contrainte de taille peut-tu m'en dire plus?

    Pour ce qui est du langage moi je travaille en C# et donc le Jscript n'est pas ma spécialité donc je te laisse voir comment tu dois procéder pour sauvegarder un fichier sur le disque.

    Attention Jscript n'est pas Javascript!!!!
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  13. #13
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Bonjour Virgul et merci pour ta réponse.

    La contrainte dont je parle est le fait que nous ne disposons pas de la plaforme .net, de plus nous disposons pas des ressources nécessaires pour le codage dans un langage avancé. C'est pour cela que nous restons dans l'optique d'utiliser un langage de script.
    D'ailleurs contrairement à ce que j'avais écrit précédement, nous utiliserons plutôt VBscript... mea culpa.

    J'ai trouvé comment créer un fichier en vbscript, je cherche maintenant à récupérer le contenu de mes balises et le copier dans un fichier (ce qui ne devrait pas posé de problème en utilisant la méthode selectSingleNode(cheminXML).text).

    La question sera maintenant de créer ce fichier dans un répertoire distant...
    have you got an idea?

  14. #14
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Bonjjour à tous.

    Lors de l'implémentation du code suivant:

    Sub CTRL2_5_OnClick(eventObj)
    ' Tapez votre code ici

    string body = XDocument.DOM.selectSingleNode("/my:mesChamps/my:body").text


    Set FSys = CreateObject("Scripting.FileSystemObject")
    Set Fictest = FSys.CreateTextFile("e:\fichiertest.xml")
    With Fictest
    .writeLine "Ce test fonctionne"
    .write "Pas de saut de ligne"
    .write body
    .writeLine "Ce test fonctionne"
    End With
    Msg = "Test réussi"
    MsgBox(Msg)
    End Sub

    Infopath me retourne l'erreur suivante:

    "Nombre d'arguments ou affectation de propriété incorrects: 'string' ", ceci pour la ligne string body = XDocument.DOM.selectSingleNode

    o_O, une chaîne de caractère correspond pourtant bien à un type "string", ou me trompe-je?

  15. #15
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Il ou le Dim ?
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  16. #16
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Lorsque je rajoute le "Dim" comme suit:

    Sub CTRL2_5_OnClick(eventObj)
    ' Tapez votre code ici

    Dim body as string
    body = XDocument.DOM.selectSingleNode("/my:mesChamps/my:body").text


    Set FSys = CreateObject("Scripting.FileSystemObject")
    Set Fictest = FSys.CreateTextFile("e:\fichiertest.xml")
    With Fictest
    .writeLine "Ce test fonctionne"
    .write "Pas de saut de ligne"
    .write body
    .writeLine "Ce test fonctionne"
    End With
    Msg = "Test réussi"
    MsgBox(Msg)

    End Sub


    Il ne veut même pas m'éditer un aperçue, l'erreur est alors:

    "InfoPath ne peut pas ouvrir le formulaire sélectionné en raison d'une erreur dans le code de ce formulaire.
    L'erreur suivante s'est produite :

    Fin d'instruction attendue
    Fichier :script.vbs
    Ligne:22
    Dim body as string

    "

  17. #17
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Ecoute moi je ne connais pas du tous le vbscript a la limite pour jscript je peux un peux t'aider...

    Alors un petit conseil va chercher sur internet un tuto sur Vbscript et regarde comment déclarer car a voir c'est une erreur de déclaration

    Sinon pour afficher quelquechose un message box si tu veux tu peux faire

    XDocument.UI.Alert(string)
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  18. #18
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Rassures toi pour ce qui est de chercher sur internet, je ne fais que ça... et la déclaration de variable ce fait semble-t-il comme ça... tous les tutos que j'ai vu vont dans ce sens tout du moins...

    Ma devise est de ne pas attendre... mais quand je ne sais po... ban je pose la question.

    En tout cas merci de répondre parcequ'il semble qu'il n'y que toi qui réponde sur le forum.

  19. #19
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Alors pour information, au cas où une autre personne tomberait sur le même type d'erreur:

    Il ne faut pas indiquer de type à la variable lors de sa déclaration. C'est à dire qu'au lieu de noter: "Dim body As String", et bien il faut taper: "Dim body", puis lui attribuer la valeur que l'on veut.

    Je trouve ce fonctionnement un peu trop permissif m'enfin bon ça fonctionne pour moi...

    Maintenant, quelqu'un peut-il me dire si ma syntaxe pour l'utilisation de ma variable 'body' est la bonne avec la fonction .write, s'il vous plaît?

    Set FSys = CreateObject("Scripting.FileSystemObject")
    Set Fictest = FSys.CreateTextFile("e:\fichiertest.xml")

    With Fictest
    .write Bod
    End With

    Msg = "Test réussi"
    MsgBox(Msg)

  20. #20
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    '<namespacesDefinition>
    XDocument.DOM.setProperty "SelectionNamespaces", "xmlns:my=""http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-08-20T13:12:16"""
    '</namespacesDefinition>
     
    '<On spécifie à Infopath d'utiliser XPath>
     
    XDocument.DOM.setProperty "SelectionLanguage","XPath"
     
    '</On spécifie à Infopath d'utiliser XPath>
     
    '=======
    Sub CTRL5_5_OnClick(eventObj)
    ' Tapez votre code ici
     
    	Dim Bod 
    	Bod = XDocument.DOM.selectSingleNode("/my:mesChamps/my:body").text
     
    	Set FSys = CreateObject("Scripting.FileSystemObject")
    	Set Fictest = FSys.CreateTextFile("e:\fichiertest.xml")
    	With Fictest
    	'.writeLine "Ce test fonctionne"
    	'.write "Pas de saut de ligne"
    	.write Bod
    	'.writeLine "Ce test fonctionne"
    	End With
    	Msg = "Test réussi"
    	MsgBox(Msg)
     
    End Sub
    Avec ce code je désir récupérer le texte que je rentrerai dans le champs "body" de mon formulaire.
    Lorsque je fais le test, rien ne m'est renvoyé, tout se passe comme si la variable "Bod" ne récupère rien. A moins que je n'emploie mal l'instruction de récupération de la valeur d'un champ...

    Could you help me?

Discussions similaires

  1. Problème avec l'export via ODS : au format HTML
    Par Au pays des stats dans le forum Outils BI
    Réponses: 4
    Dernier message: 16/03/2012, 10h25
  2. [HTML] Mail au format HTML avec les accents
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 13/04/2009, 13h59
  3. Réponses: 1
    Dernier message: 05/09/2007, 12h47
  4. Réponses: 1
    Dernier message: 09/05/2007, 21h36
  5. Réponses: 2
    Dernier message: 15/04/2005, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo