Bon code ! :mouarf:
Version imprimable
Bonjour,
Désolé pour ne pas avoir donné de nouvelle mais j'ai été basculé sur un autre projet...
Je reviens maintenant sur ce projet, j'ai pas mal avancé: je créé mes sites en fonction des données du formulaire :D
Là où j'ai un petit soucis c'est qu'un de mes champs est issue d'un controle de type "Personne ou Groupe", je stocke donc la liste d'identifiant qu'il contient dans une colonne de bibliothèque grâce à l'option de fusion (la colonne de la bibliothèque est de type "Plusieurs ligne de texte").
Le problème est que lorsque j'essaye de récupérer les données de cette colonne ce message d'erreur m'est retourné : "La référence d'objet n'est pas définie à une instance d'un objet.", j'essaye de récupérer les données comme je le fait pour les informations de création de site mais visiblement ça ne fonctionne pas...
Voici le code que j'utilise pour la récupération (que je converti en string avec ToString()):
Des suggestions?Code:itemProperties.AfterProperties["Account Id"]
Bonjour,
As tu essayé en passant directement par "l'internal name" ?
C'est à dire en remplaçant "l'espace" par "_x0020_" :
CordialementCode:itemProperties.AfterProperties["Account_x0020_Id"]
Bonjour thibmar,
Je viens de tester et ça ne fonctionne malheureusement pas.
Mais je pense pas que ça puisse venir de là car j'ai, pour la création de site, des noms de colonnes avec des espaces.
Justement!!! "espace / ou caractères spéciaux" sont interdits dans les bonnes pratiques lors de la création de site / liste / colonne => bref tout contenu sharepoint.Citation:
Mais je pense pas que ça puisse venir de là car j'ai, pour la création de site, des noms de colonnes avec des espaces.
SharePoint va renommer le nom "interne" et unique pour qu'il ne contienne aucun "espace / ou caractères spéciaux".
Votre colonne qui s'appelle ["Account Id"] n'existe pas pour sharepoint.
Bonjour
Il n'y a pas d'espace ou de caractères non-ascii dans les noms internes. Retrouver et utiliser le nom interne de la colonne est la seule solution.
Ex.: Dans les options de la liste SharePoint, cliquer sur la colonne, regarder l'URL le nom interne est en paramètre (Field=xxx)
Bonjour,
Merci pour vos réponses, au début j'ai voulut faire ça
Seulement je ne peux pas le faire, je ne peux pas les "clicker" sinon j'aurais travaillé depuis le début avec leur "id" et non leur "nom"...Citation:
cliquer sur la colonne, regarder l'URL le nom interne est en paramètre
http://imagik.fr/thumb/32006.jpeg
Bonjour,
Je vois que vous êtes parti dans du code. Je reviens sur la première idée qui était d'utiliser du Powershell.
J'avais vue une présentation de Dan Holme qui faisait exactement la meme chose que toi mais d'une manière différente. J'arrive certainement après la bataille mais si ca ne sert pas pour toi, ca pourra servir à d'autres.
Déjà, j'enleverais la partie InfoPath. C'est bien, c'est pratique mais c'est galère à gérer dès que c'est beaucoup utilisé... Et je ne parle pas des migrations...
La solution de Dan Holmes était d'avoir une simple liste ou des personnes faisaient leur demande de site. Une autre personne approuvait ou non cette demande. Un script powershell était planifié toutes les 5min. Il lisait le contenu de cette liste et créait le site si la demande avait été approuvée et que le site n'avait pas déjà été créé.
Voilà une partie de la solution : http://sharepointpromag.com/sharepoi...shell-ui-style
J'aurais choisi cette solution parce que je la trouve simple et que je connais bien Powershell. Pour la partie planification, on peut faire une tache planifiée (pas top mais pratique), utiliser une solution de scheduling (dans les grosses boite généralement) ou utiliser une solution CodePlex qui génère des jobs qui exécutent le powershell qu'on lui donne à manger (http://sppowershelltimerjob.codeplex.com/).
@+
Bonjour,
j'ai résolu le problème j'ai supprimé toute les colonnes créé par infopath lors de la publication du formulaire, puis je les ai remise en modifiant cette fois les espace (qu'InfoPath met tout seul, c'est très pratique :cfou: ).
Et effectivement ça fonctionne, merci à vous :ccool:, c'est tout de même étrange qu'il est trouvé les autres colonnes qui avaient des noms avec des espaces et pas celle-ci...