|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
Bonjour s'il vous plait j'aimerais savoir comment faire pour récuperer les valeurs dans champs "C1" dans une section extensible , j'ai esseyé le code suivant mais ca ne marche pas :
XPathNodeIterator nodes = MainDataSource.CreateNavigator().Select("/dfs:myFields", this.NamespaceManager); string field1 = string.Empty; foreach(XPathNavigator node in nodes) { field1 = node.SelectSingleNode("/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Valeur", this.NamespaceManager).Value; } le count de "nodes" est a 0 , alors que quand je met l'XPath d'un champ de la source de données principal je reçois ce que je veux , et ma source de données viens d'une liste sharepoint ... aidez moi s'il vous plait ! |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 648 ![]() |
Bonjour,
Désolé je suis en vacances donc je ne traite pas trop actuellement sur les forums. Je vous réponds directement sur le forum pour votre MP (ça pourrait aider la communauté). Pour votre problème, le XPathNodeIterator renvoie 0 lorsque l'expression à étudier n'est pas correcte. Si vous souhaitez utiliser une source de données secondaire, vous ne pouvez pas l'attaquer par le MainDataSource qui correspond comme son nom l'indique à la source de données principale. En suivant ce post, vous arriverez à votre bonheur : http://www.infopathdev.com/forums/p/9471/33542.aspx Bon dév!
__________________
Rémi MATAYRON MVP InfoPath N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/ Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient. |
|
|
10
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
Merci pour votre interet
|
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 648 ![]() |
Bonjour,
Pour cela vous allez devoir utiliser du code managé. Si vous utilisez InfoPath Forms Services (version Web), le formulaire est ouvert dans le contexte SharePoint et vous pouvez utiliser le modèle objet de SharePoint en référençant la dll "Microsoft.SharePoint". Vous pouvez suivre ce genre tuto que vous trouverez partout sur Internet : http://www.mindfiresolutions.com/Add...epoint-372.php Si vous ne pouvez pas utiliser le modèle objet (si vous utilisez InfoPath en version cliente, le formulaire n'est pas ouvert dans le contexte SharePoint), vous pouvez utiliser les web services SharePoint pour rajouter un élément.
__________________
Rémi MATAYRON MVP InfoPath N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/ Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
Bonjour ^^ ,
mon formulaire est ouvert sur Web effectivement , donc j'essai d'inserer les enregistrement de cette façon : using (SPSite oSPsite = new SPSite("http://website url/")) { using (SPWeb oSPWeb = oSPsite.OpenWeb()) { oSPWeb.AllowUnsafeUpdates = true; // Fetch the List SPList list = oSPWeb.Lists["MyList"]; //Add a new item in the List SPListItem itemToAdd = list.Items.Add(); itemToAdd["Title"] = "Test Title"; itemToAdd["Description"] = "Test Description"; itemToAdd.Update(); } } ... Mais j'ai un souci pour ouvrir le site avec cette méthode : using (SPSite oSPsite = new SPSite("http://website url/")) j'ai vérifié et revérifié mon URL et rien , probléme d'accés, alors que quand j'y accéde depuis du code Visual Studio ça marche .. , mais depuis InfoPath non ... sauriez-vous pourquoi ? |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 648 ![]() |
Bonjour,
Attention il ne faut pas coder les URL en dur... Vous pouvez utilisez les méthodes SPContext.Current.Site et SPContext.Current.Web pour récupérer les SPSite et SPWeb du site sur leque vous êtes connecté. Ensuite si vous êtes en SharePoint 2010, il faut vérifier la cible de génération 32 bits ou 64 bits. Un "SPSite" instancié en 32 bits vous renverra une erreur car le SharePoint est monté en 64 bits.
__________________
Rémi MATAYRON MVP InfoPath N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/ Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient. |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
Bonjour,
Effectivement j'aimerai bien ne pas entrer l'URL brute comme ça mais le : -SPContext.Current.Site -SPControl.GetContextSite(HttpContext.Current) ne marchent pas. (sur Visual Studio(dév de workflow)) Cordialement |
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 648 ![]() |
Rebonjour,
Je n'ai pas suivi la fin de votre réponse : vous développez un workflow ou un formulaire InfoPath avec code managé? Si vous êtes dans InfoPath, la méthode "SPContext.Current.Site" fonctionne correctement car j'utilise ce principe dans tous mes projets. Par contre, pour que cela fonctionne, il faut débugguer le formulaire directement depuis SharePoint. Si vous développez un workflow avec workflow foundation, il faudra utiliser l'objet WorkflowProperties qui comprend des propriétés pour récupérer le SPWeb et le SPSite. Cordialement.
__________________
Rémi MATAYRON MVP InfoPath N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/ Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient. |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
Bonjour,
j'ai pu récupéré le site avec workflowProperites.SiteUrl.toString(); mais il me retourne "http://Site.com" alors que j'ai besoin de subsite qui est par exemple "http://Site.com/Proto" :S Cordialement |
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 648 ![]() |
En effet,
Le "workflowProperties.SiteUrl.toString()" vous renvoie l'url de la racine de la collection de sites. Vous devez donc utiliser "workflowProperties.Web.Url"
__________________
Rémi MATAYRON MVP InfoPath N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/ Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient. |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
Bonjour
maintenant pour ouvrir le site depuis du code infopath j'ai utilisé la méthode using (SPSite site = new SPSite(SPContext.Current.Web.ToString())) { using (SPWeb web = site.OpenWeb()) {.. et même pour manipuler la méthode de chargement du formulaire, il me sort l'erreur suivante : System.Security.SecurityException Request for the permission of type 'Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' failed. at Planification_des_tâches.FormCode.Groupe_Changed(Object sender, XmlEventArgs e) at Microsoft.Office.InfoPath.Internal.XmlEventHost.GenericProxy(Object genericDelegate, DataDOMEvent dataDOMEvent, InfoPathEvents type) at Microsoft.Office.Interop.InfoPath.SemiTrust._DataDOMEventSink_SinkHelper.OnAfterChange(DataDOMEvent pDataDOMEvent) j'ai modifié les persmissions au niveau du webconfig a Medium au lieu de Minimal mais rien .. :S Cordialement |
|
|
00
|
|
|
#12 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 648 ![]() |
Bonjour,
Est-ce que l'utilisateur avec lequel vous êtes connecté possède assez de droits sur le site SharePoint en question? Si ce n'est pas le cas, il faut utiliser ce que l'on appelle le RunWithElevatedPrivileges: http://blogs.msdn.com/b/sowmyancs/ar...b-context.aspx
__________________
Rémi MATAYRON MVP InfoPath N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/ Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient. |
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
Bonjour
Comment savoir les droit de mon utilisateur sur le site SharePoint ? car je suis en session administrateur .. , normalement je devrais avoir tous les droits .. Cordialement |
|
|
00
|
|
|
#14 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 648 ![]() |
En effet, ce ne peut-être ça!
Du coup la seule explication est que vous n'avez pas modifié le niveau d'autorisation dans votre formulaire InfoPath... Pour cela il faut : - Ouvrir votre formulaire InfoPath en mode design, - Aller dans option du formulaire - Aller sur l'onglet “Sécurité et approbation". - Désélectionner “Déterminer automatiquement le niveau de sécurité” - Cocher Confiance totale, - Enregistrer pour publier le formulaire. Et normalement après ça, ça rocks!
__________________
Rémi MATAYRON MVP InfoPath N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/ Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient. |
|
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
\O/ ca marche, merci beaucoup pour ton aide ^^ ,
mais ce qui est bizarre , c'est que ca marche en mode débugge (j'ai entré l'url à la place du Context...) mais quand je publie et j'essai de le faire depuis le site , ca ne marche pas :S . |
|
|
00
|
|
|
#16 |
|
Nouveau Membre du Club
![]() Sed TDéveloppeur SharePoint 2010 Inscription : juillet 2011 Messages : 76 ![]() |
et j'ai un autre soucie, et je crois que c'est la meme erreur qui fait que ca ne marche pas coté web , c'est que quand j'ajoute du code a mon formulaire , je ne peux plus l'ouvrir en mode web , il s'ouvre en infopath ...
|
|
|
00
|
|
|
#17 |
|
Membre chevronné
![]() MVP InfoPath Inscription : juillet 2007 Messages : 648 ![]() |
Bonjour,
Il faut dans ce cas vérifié dans les "options du formulaire" dans l'onglet "Compatibilité" si votre formulaire est en mode "Formulaire Web". Ensuite il faut vérifier dans votre bibliothèque SharePoint si le mode d'ouverture est défini à "Ouvrir dans le navigateur" (dans les paramètres avancés de la bibliothèque). Avec ça, vous devrez être bon. Par contre, il faudrait recréer un post à chaque nouvelle question afin que les utilisateurs ne puissent s'y retrouver. Cordialement.
__________________
Rémi MATAYRON MVP InfoPath N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/ Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com