jscript => visual basic - InfoPath Dev
in

InfoPath Dev

jscript => visual basic

Last post 08-02-2006 05:17 AM by Coita Thierry. 16 replies.
Page 1 of 2 (17 items) 1 2 Next >
Sort Posts: Previous Next
  • 07-24-2006 02:23 AM

    • Kris
    • Not Ranked
    • Joined on 07-24-2006
    • Posts 9

    jscript => visual basic

    Bonjour à tous,

    Je suis actuellement sur un projet qui consiste a créer un workflow autour des demandes de congés.
    Dans un premier temps, j'ai créé mon formulaire sous infopath 2007 en utilisant du jscript.
    Ce script permet:
    - de vérifier que les dates de la demande sont cohérentes.
    - de caluler le nombre de jours ouvrés entre les 2 dates.
    - de remplir à l'ouverture du formulaire certains champs comme le nom et le prénom de l'utilisateur ainsi que le nom de son responsable en allant chercher les infos depuis l'active directory à l'aide du webservice WhoAmI

    Tout marchait bien, cependant en voulant publier mon formulaire sur le site sharepoint, je me suis rendu compte que le jscript n'était pas supporté :s

    D'après ce que je crois avoir compris, je dois utiliser du code managé tel que le Visual Basic d'où mon problème.
    J'aimerais convertir mon script en visual basic mais rien ne semble marcher.

    Je n'arrive pas à trouver la fonctions visual basic qui récupère un champs de mon formulaire. En jscript, j'utilisais:
    var Name = XDocument.DOM.selectSingleNode("//my:prenom");


    Mon deuxième plus gros problème est que j'aimerais pouvoir afficher une boite de dialogue du même style que XDocument.UI.Alert en jscript afin de pouvoir faciliter le debuggage. Je pensais pouvoir utiliser MsgBox mais j'obtient une erreur: le nom "MsgBox" n'est pas déclaré. Est-ce que j'aurais oublié d'installé quelque chose? (j'utilise Visual Studio Tools for Application)

    J'espère m'être bien expliqué

    Merci d'avance
    ++
  • 07-24-2006 05:25 AM In reply to

    Re: jscript => visual basic

    Salut Kris,

    Bienvenue sur InfopathDev.com!

    Tu as un peu mal formulé ton problème. Je pense que vu que tu as office 2007 tu veux utilise le form server d'infopath qui te permet de ne pas avoir Infopath installé sur tes poste client. Problème le script ne marche pas avec Infopath form serveur! C'est bien ca?

    Tu dit que tu utilise Visual Basic mais tu parles bien de VB.Net? Car si tu parle de VBscript tu auras le même résultat.

    Pour ce qui est du code managé C# et VB.Net XDocument devient ThisXDocument et après pour le reste de commande c'est presque pareil:

    thisXDocument.DOM.selectSingleNode("/my:prenom")

    et
    thisXDocument.UI.Alert("Youpi ca marche!")


    ferront ce que tu demande.

    ++

    Thierry
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 07-24-2006 06:02 AM In reply to

    • Kris
    • Not Ranked
    • Joined on 07-24-2006
    • Posts 9

    Re: jscript => visual basic

    En tout cas, merci pour la rapidité de ta réponse.

    quote:
    Tu as un peu mal formulé ton problème. Je pense que vu que tu as office 2007 tu veux utilise le form server d'infopath qui te permet de ne pas avoir Infopath installé sur tes poste client. Problème le script ne marche pas avec Infopath form serveur! C'est bien ca?



    Oui désolé de m'être mal expliqué, c'est exactement le problème que j'ai.

    quote:
    Tu dit que tu utilise Visual Basic mais tu parles bien de VB.Net?


    oui c'est bien de VB.NET dont je parle.

    quote:
    thisXDocument.DOM.selectSingleNode("/my:prenom")
    et
    thisXDocument.UI.Alert("Youpi ca marche!")


    J'avais déjà trouvé ces fonctions(dans l'un de tes posts d'ailleurs il me semble). Le problème c'est que sous VSTA, "thisXDocument" n'existe pas. J'ai même essayé avec Visual studio 2005 en important mon projet infopath et rien y fait.

    Est ce qu'il y'a un module à installer pour pouvoir utiliser thisXDocument?

  • 07-24-2006 08:04 AM In reply to

    Re: jscript => visual basic

    Bonjour!
    tu as raison ThisXDocument n'existe pas en VBscript

    moi j'ai XDocument.DOM.setProperty "SelectionNamespaces", "xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xhtml=""http://www.w3.org/1999/xhtml"" xmlns:my=""http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-07-04T07:54:49"" xmlns:xd=""http://schemas.microsoft.com/office/infopath/2003"""

    Comme déclaration et donc j'utilise
    XDocument

    essai donc
    XDocument.DOM.selectSingleNode("/my:mesChamps").text pour avoir le contenu :)

    bonne chance
  • 07-24-2006 08:26 AM In reply to

    • Kris
    • Not Ranked
    • Joined on 07-24-2006
    • Posts 9

    Re: jscript => visual basic

    Tu te trompes Arnjea, ce n'est pas du VBscript que je veux faire mais du VB.NET. :)
    En tout cas merci de vouloir aider.

    Je pense que les fonctions que Virgul m'a communiqué sont justes, le problème doit venir de ma configuration ou d'un module manquant. Peut être que je dois utiliser autre chose que VSTA. (Ce qui m'étonne qd même étant donné qu'il s'installe avec infopath)

  • 07-25-2006 01:44 AM In reply to

    Re: jscript => visual basic

    Alors je suis largué ;)
    VB.net et pas VBscript...mais si je code dans Infopath!! c'est quoi que je fais?
  • 07-25-2006 02:15 AM In reply to

    Re: jscript => visual basic

    Jscript et Vbscript sont des script qui s'écrive dans VSTA. Il n'y a pas l'intelli sense (auto-complete) mais pas mal de gens les maitrise et avant la Sp1 on ne pouvait codé que comme ca. La Sp1 est arrivé avec .Net mais il ont gardé pour la compatibilité les script.

    Code Managé .Net: C# ou VB.Net s'utilise avec Visual Studio 2003 ou 2005 et biensur avec le framework 1.1 ou 2.0. On peux passer facilement un projet de 2003 à 2005 sans rien perdre. Il faut installé le toolkit pour Infopath dans les deux version pour pouvoir l'utiliser disponnible sur msdn gratuitement. ( Faire du .Net avec VSTA je sais pas si c'est possible mais je ne crois pas... ).

    quote:
    VB.net et pas VBscript...mais si je code dans Infopath!! c'est quoi que je fais?


    Non pas du tout, toi tu fais du Vbscript. Tu code en Vbscript et moi je code en C#. Donc nous codons tous les deux ;)
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 07-25-2006 07:01 AM In reply to

    • Kris
    • Not Ranked
    • Joined on 07-24-2006
    • Posts 9

    Re: jscript => visual basic

    Je viens d'installer le toolkit avec le framework 2.0, ensuite sous visual studio 2005, j'ai fait:

    fichier => Nouveau Projet => Autres langages => Visual C# => Office => modèle de formulaire Infopath

    J'ai créé un formulaire avec un bouton "envoyer" et voici le code que j'ai mis dans le fichier FormCode.cs. (Si j'ai bien compris, il devrait afficher une boite de dialogue si on appuie sur le bouton "envoyer").


    using Microsoft.office.Infopath;
    using System;
    using System.Windows.Forms;
    using System.Xml;
    using System.Xml.XPath;

    namespace ModeleFormulaireInfoPath1
    {
    public void InternalStartup()
    {
    ((ButtonEvent)EventManager.ControlEvents["Submit"]).Clicked += new ClickedEventHandler(Submit_Clicked);
    }

    public void Submit_Clicked(object sender, ClickedEventArgs e)
    {
    thisXDocument.UI.Alert("c'est bon?");
    }
    }



    Cependant j'ai toujours la même erreur: le nom "thisXDocument" n'existe pas dans le contexte actuel.
  • 07-25-2006 07:33 AM In reply to

    Re: jscript => visual basic

    mais t'as effacé quelquechose car moi quand je créer un proj j'ai ceci :

    using System;
    using Microsoft.Office.Interop.InfoPath.SemiTrust;

    // Attribut d'intégration Office. Identifie la classe de démarrage du formulaire.
    // Ne pas modifier.
    [assembly: System.ComponentModel.DescriptionAttribute("InfoPathStartupClass, Version=1.0, Class=InfoPathProject2.InfoPathProject2")]

    namespace InfoPathProject2
    {
    // Les préfixes d'espaces de noms définis dans cet attribut doivent être
    // synchronisés avec ceux du fichier de définition de formulaire (.xsf).
    [InfoPathNamespace("xmlns:my='http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-07-25T14-27-39'")]
    public class InfoPathProject2
    {
    private XDocument thisXDocument;
    private Application thisApplication;

    public void _Startup(Application app, XDocument doc)
    {
    thisXDocument = doc;
    thisApplication = app;

    // Vous pouvez ajouter ici du code d'initialisation supplémentaire.
    }

    public void _Shutdown()
    {
    }
    }
    }


    t'as installé les PIA d'office 2003 (même si il me semble que ca n'a rien a voir mais sait-on jamais) et la Sp2 ou la Sp1 d'infopath?

    PIA:
    http://www.microsoft.com/downloads/details.aspx?familyid=3c9a983a-ac14-4125-8ba0-d36d67e0f4ad&displaylang=en

    Car la ton namespace n'est pas le bon : using Microsoft.office.Infopath;

    et tu as bien installé le toolkit infopath 2003 pour Visual Studio 2005?
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 07-25-2006 07:53 AM In reply to

    • Kris
    • Not Ranked
    • Joined on 07-24-2006
    • Posts 9

    Re: jscript => visual basic

    j'ai installé le toolkit suivant:
    http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=00779894-e95f-4b22-8590-07584c891207

    Je vais essayer de mettre le PIA et si ca ne marche pas,je réinstallerai tout au cas où j'aurais fait une mauvaise manip'.
  • 07-25-2006 08:07 AM In reply to

    • Kris
    • Not Ranked
    • Joined on 07-24-2006
    • Posts 9

    Re: jscript => visual basic

    J'ai oublié de préciser que je travaille avec InfoPath 2007 beta 2.
  • 07-26-2006 05:18 AM In reply to

    Re: jscript => visual basic

    Oui c'est juste je me suis emêlé les pinceaux!

    Tu peux télécharger le modèle object d'infopath 2007 a l'adresse suivante:

    http://download.microsoft.com/download/0/9/c/09cda3f2-6d3d-4082-aec5-9a62b7679ecf/office2007infopathomposter.exe

    ++

    Thierry

    P.S. Je l'ai pas encore bien testé mais toi as-tu travaillé avec le 2003? Si oui quelle sont les améliorations que tu as trouvé génial (a part tout ce qui est form serveur)?
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 07-26-2006 05:59 AM In reply to

    • Kris
    • Not Ranked
    • Joined on 07-24-2006
    • Posts 9

    Re: jscript => visual basic

    Ca marche bien maintenant grâce au modèle Object
    Est ce que tu peux me dire ce que fait exactement le modèle Object?

    En tout merci beaucoup pour ton aide, j'aurais jamais trouvé tout seul.

    PS: désolé, j'ai commencé avec InfoPath 2007. Je ne connais pas du tout le 2003.
  • 07-26-2006 06:04 AM In reply to

    Re: jscript => visual basic

    Il s'agit juste d'un pdf que tu peux ouvrir et qui te permet de savoir quelle commande utiliser pour faire tel ou tel chose.

    genre : XDocument(script), ThisXDocument(managé 2003) devient XmlForm pour 2007!

    C'est une sorte de pense bête si tu veux.
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 07-27-2006 07:26 AM In reply to

    • Kris
    • Not Ranked
    • Joined on 07-24-2006
    • Posts 9

    Re: jscript => visual basic

    J'ai terminé de convertir mon jscript en c#. Tout a l'air de bien fonctionner. Cependant avant de publier, InfoPath me dit que mon formulaire contient des erreurs. Apparement il faut que je mette à niveau le modèle objet.(est-ce normal?). C'est donc ce que j'ai fait, Infopath m'informe que la mise à niveau a bien été faites. Et la, plus rien ne marche, j'arrive même plus à ouvrir mon formulaire. Je retourne voir le code sous visual studio, et comme prévu, la mise a niveau a modifié le code. J'ai 4 erreurs toutes du type:

    le type ou le nom d'espace de noms "XmlChangingEventArgs" est introuvable(une directive using ou une référence d'assembly est-elle manquante)

    est ce que quelqu'un a une idée?
Page 1 of 2 (17 items) 1 2 Next >
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.