2010-09-08 17 views
1

Je travaille avec des formulaires InfoPath pour les deux derniers mois, et j'ai maintenant l'exigence suivante:Ouvrez un formulaire à partir d'un formulaire InfoPath avec les valeurs de la première à la nouvelle

J'ai une forme est rempli par certains utilisateurs, puis envoyé à d'autres utilisateurs. Ce dernier, après avoir visualisé les données sur le formulaire, a la possibilité soit d'accepter & Répondre ou Rejeter.

Lorsqu'ils cliquent sur Accepter & Répondre, une autre forme est déclenchée, dans laquelle certains champs sont répétés. Je voudrais savoir comment obtenir les valeurs du premier formulaire à cette forme déclenchée. Je précise que je suis et non en utilisant SharePoint; ils accèdent aux formulaires à partir d'un dossier partagé sur le réseau local.

Merci d'avance pour votre aide à ce sujet.

Yusuf

Répondre

2

que je sache vous ne pouvez pas accéder directement à la nouvelle forme depuis Infopath conserve tous les cas séparés (SDI vs MDI). Vous avez besoin d'un emplacement de stockage "intermédiaire". Une base de données n'est pas une mauvaise idée si vous en avez une disponible - lorsque l'utilisateur clique sur le bouton, les données sont enregistrées dans la base de données, puis le nouveau formulaire est ouvert et lit à partir de la base de données.

Une autre façon que nous avons utilisée (qui est tout aussi encombrante), est d'utiliser une copie vierge du formulaire lui-même (pas le xsn d'origine). C'est mauvais parce que vous devez garder manuellement la copie vierge à jour si vous changez le modèle mais fonctionne bien pour ce que vous faites. Uniquement recommandé si vous avez VRAIMENT besoin de remplir ces champs et que vous n'avez pas de base de données que vous pouvez utiliser pour le stockage temporaire.

Ouvrez votre modèle de formulaire comme vous allez remplir le formulaire, mais enregistrez simplement une copie "vierge" dans le partage (il sera enregistré en tant que xml). Le processus derrière le bouton sur votre formulaire source est: créer une copie unique du formulaire vierge (nous les stockons tous dans un sous-dossier nettoyé tous les soirs), ouvrir par programme et modifier cette nouvelle copie vierge (facile car il est xml) les données dans les champs corrects, sauvegardez la copie éditée, ouvrez la copie éditée pour l'utilisateur au lieu du xsn.

+0

Ceci est une réponse très complète, et je pense que la solution de base de données temporaire devrait être la plus appropriée; Cependant, dans la division que je travaille, les gens n'utilisent pas tous la même version d'InfoPath; le plus ancien est 2003 et le plus récent est 2010. Puisque je dois répondre à cela, il semble que l'enregistrement dans une base de données (ou un fichier XML d'ailleurs) n'est pas possible. Connaissez-vous une solution utilisant InfoPath 2003? – Yusuf

+0

La version ne devrait pas avoir d'importance pour la solution DB (ou le fichier XML) puisque vous ne stockez que des données brutes. Avoir une table avec des colonnes pour tous les champs qui sont «partagés» plus une clé. La première forme enregistre à la table, la deuxième forme lit d'eux. Toutes les versions de IP peuvent le faire avec des sources de données secondaires. Vous pourriez également utiliser une solution de code managé avec beaucoup plus de travail. – ktharsis

+0

En fait, il semble que je ne puisse pas utiliser un DB Access ou un fichier XML pour un formulaire compatible 2003. – Yusuf