none
Formulaires de saisies avec code - InfoPath ? RRS feed

  • Question

  • Bonjour à tous,

    Parmi les nouveautés en matière de personnalisation des formulaire d'ajout, d'édition et de visualisation il y a InfoPath.

    J'ai donc poussé mes recherches et j'ai certaines interrogations pour savoir si InfoPath pourra répondre à mes besoins :

    Je dois créer des écrans qui gère des fournisseurs et des commandes, ces écrans doivent présenter les infos sous formes d'onglets (plusieurs vues)

    Des listes déroulantes dynamiques (sélection d'une catégorie puis affichage des produits), des infos liés au user courant de l'AD (nom, nom du chef de service etc), affichage de popup permettant de créer un fournisseur à partir d'une commande, ... composent mes écrans.

    Pour faire cela je pensais utiliser infopath avec compatibilité navigateur sachant que les ordinateurs du parc informatique ne disposent pas de InfoPath client lourd. Et je devrais propablement mettre du code dans ces formulaires via client object model.

    On m'a dit que si je crée un content type FOURNISSEUR et COMMANDE puis les ajouter à des listes personnalisées je ne pourrai pas y ajouter du code ou créer des sources externes pour peupler mes listes déroulantes.

    On m'a donc conseillé de créer mes formulaires depuis InfoPAth puis de les mettre dans des bibliothèques de formulaires, MAIS je me pose plusieurs questions :

    1/ Avec la compatibilité navigateur (form services) certaines options seront bridées ?

    2/ Si je publie dans une bibliothèque de formulaire, que deviendra mon content type Fournisseur créé précédemment ? il ne servira plus à rien ?

    3/ J'aurais des workflows et event handler à ajouter à ces bibliothèques qui , pour le worklow doit démarrer après que l'utilisateur ait enregistré le formulaire et pour l'event handler doit surveiller les modifications. Dans ces cas, comment je pourrai modifier l'item courant, avec des lliste perso je faisais item[nom_colonne]=ma valeur mais avec des formulaires infopath est ce faisable ?

    Voila, j'espère avoir été assez clair et comme vous le voyez c'est assez confu dans ma tête...

    Merci d'avance pour vos retours d'expérience et merci de me dire comment vous faites pour personnalisé vos formulaires

     


    rahan
    • Déplacé Hengzhe Li mardi 21 février 2012 06:42 merge forum (Origine :Développement Sharepoint 2010)
    lundi 19 septembre 2011 18:42

Réponses

  • Bonjour,

    1. en effet un formulaire InfoPath conçu avec compatibilité navigateur dispose de moins de contrôles graphiques que par défaut. A priori, rien de bloquant quant à votre besoin.

    2. Lorsque vous associez un formulaire InfoPath a une liste SharePoint, cela crée un type de contenu particulier, qui hérite du type de contenu Formulaire Infopath et qui etablie une correspondance entre les champs du formulaire et les colonnes de la liste. Un type de contenu personnalisé créé ailleurs que dans InfoPath ne peut malheureusement pas être utilisé, à ma connaissance.

    3.  Vous pouvez brancher des event receivers et des workflows comme avec n'importe quelle autre bibliothèque de document. Attention cependant à ne manipuler que les champs que vous aurez mappé au content type lors de la publication du formulaire (ou Form Options -> Property Promotion). Les autres champs ne seront pas exposés au niveau de la liste et ne pourront être manipulés qu'en attaquant le XML du formulaire lui même.

    Pour la partie code du formulaire InfoPath, il ne s'agit pas du modèle objet client, mais du modèle objet serveur : vous pouvez coder en VSTA et référencer l'assembly Microsoft.SharePoint.dll.

    Côté retour d'exp, j'ai utilisé SharePoiont + InfoPath + code behind pour un besoin relativement similaire au votre. Avec le recul, je dirais que InfoPath aurait apporté une vraie plu-value si les end-user avaient designé eux-même le formulaire, et que je n'avais eu qu'à m'occuper du code-behind et du workflow. Sans cet aspect collaboratif, si le developpeur travaille seul, une solution orientée listes + webpart me parait plus rapide à mettre en oeuvre, et plus facile à maintenir.

    J'espère que ces éléments auront pu vous aider


    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    jeudi 22 septembre 2011 11:10