![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML) |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: mars 2007
Messages: 6
|
Bonjour,
J'utilise un formulaire Infopath qui se connecte à une base de données SQL avec formulaire enregistré sur un site SPS (Sharepoint). A plusieurs reprises j'ai été amené à modifier mon formulaire afin d'ajouter ou modifier des champs. Et de façon régulière sans avoir d'explications je suis obligé de supprimer et recréer mes formulaires parce que lorsque je modifie les anciens j'ai des messages de ce type : Certaines règles n'ont pas été appliquées :InfoPath ne peut pas envoyer le formulaire. Une erreur s'est produite lors de l'envoi du formulaire. Erreur non spécifiée Habituellement je reprend le contenu du formulaire et je le refais mais j'aimerai tout de même savoir pourquoi lorsque je fais la moindre modification je suis contraint de refaire tout le formulaire (sachant que je ne touche pas aux données existantes, j'en ajoute !!!!!) Merci de vos lumières. |
|
|
|
|
|
#2 (permalink) |
|
Membre du Club
![]() Date d'inscription: juillet 2007
Localisation: Cote Ouest
Âge: 25
Messages: 107
|
Salut,
Tu as bien fait attention d'actualiser ta connexion de données (dans l'onglet Outil). Parce qu'il me semble que si tu ne le fais pas, les champs ne s'actualisent pas automatiquement. Donc il y a un décalage entre ta connexion et ta table et peut-être une erreur inconnue. Sinon est ce que tu as développé du code sur le bouton pour l'envoi? |
|
|
|
|
|
#3 (permalink) |
|
Expert Confirmé
![]() |
Salut,
es-ce que tu garde le projet original (xsn) quand tu veux modifier ou tu le télécharge sur Sharepoint et tu clic sur modifier? Si te le reprend chaque sur Sharepoint pour le modifier ca peut expliquer ton problème. Si tu ne fais pas clic droit -> concevoir sur le modèle que tu as sur ton PC ca peut aussi provoquer des problèmes. ++ Thierry
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
|
#4 (permalink) | |
|
Invité de passage
![]() Date d'inscription: mars 2007
Messages: 6
|
Bonjour bilout et virgul,
Depuis j'ai un peu creusé sans obtenir la réponse mais en ayant compris (ou identifié tout au moins) le soucis. Pour reprendre dans l'ordre : J'ai un formulaire InfoPath sur un site SPS. 1. J'ouvre ce formulaire que je modifie, j'ai besoin d'ajouter un champ supplémentaire dans la base de donnée. 2. J'ai donc dans la base SQL ajouté une colonne. 3. Ensuite refait la connexion principale et ajouté ce champ dans la connexion principale. 4. j'ajoute un nouveau controle dans mon formulaire et je n'oublie pas de selectionner qu'il faut mettre à jour les versions sur le serveur (sinon les anciens formulaire apparaissent avec le champs ajouté en grisé !) Mais, là une subtilité m'échappe, parce que je peux créer de nouveaux formulaires, il s'enregistre bien dans la base de données et sur le site SPS et je contrôle les valeurs dans la base qui sont bien présentes. Donc tout va bien me direz vous sauf que ... ... J'ouvre un ancien formulaire et là je peux renseigner mon nouveau champ (c'est un menu déroulant qui fait appel a trois valeurs possible). J'enregistre et tout semble se passer correctement. J'ouvre une seconde fois ce formulaire et là j'ai mon fameux message d'erreur ! : Certaines règles n'ont pas été appliquées :InfoPath ne peut pas envoyer le formulaire. Une erreur s'est produite lors de l'envoi du formulaire. Erreur non spécifiée Et si je regarde la ligne dans la base de données au niveau du champ ajouté je trouve une valeur <NULL>, d'ou mon problème. donc la première modification du formulaire s'enregistre mais seul le formulaire est à jour, la base n'est pas mise à jour ? Lors de la seconde ouverture le formulaire va certainement comparer les champs de la base et du formulaire et là il me sort ce message. Je n'ai pas trouvé d'explication, mais j'espère que vous saurez m'aider. Citation:
- envoi les données dans la base - enregistre le formulaire sur le site Sharepoint - ferme le formulaire après cela. Mais tout est standard, fonctionnalités de Infopath ... si vous avez des idées je suis preneur. Merci |
|
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: mars 2007
Messages: 6
|
A oui,
Pour VIRGUL, je modifie toujours celui sur le site que je republie. Je me dis qu'au moins c'est la dernière version !!! Ce que je n'arrive pas a expliquer c'est la possibilité d'avoir la main une fois sur le formulaire pour l'enregistrer (même siles champs ne se mettent pas dans la base) et si tu l'ouvres derrière pour le remodifier il te met erreur inconnu. En fait c'est comme s'il stockait une fois la valeur dans le formulaire sans vérifier la validité du champ en base mais qu'ensuite lors du second enregistrement il le fasse ???? Bon je continu d'explorer les méandres d'InfoPath, C'est tout de même chiant de ne pas pouvoir faire évoluer ton formulaire e fonction des besoins d'information que tu n'as pas prévu auparavant. Dès que je fais une modification je me fais les recopie de mes formulaires !! A+ |
|
|
|
|
|
#6 (permalink) |
|
Membre du Club
![]() Date d'inscription: juillet 2007
Localisation: Cote Ouest
Âge: 25
Messages: 107
|
Salut,
Désolé du temps de réponse mais ton problème est quand même assez rude. Est ce que tu peux regarder dans la source de données de ton formulaire si ton nouveau champ apparait. Il doit se retrouver à la fois dans le q: (query fields) et le d: (datafields) ... Si je me souviens bien et que je ne dis pas trop de connerie, il me semble que l'un est utilisé pour la réception et l'autre pour l'envoi. Bref, est ce que ton champs se situe bien dans ces 2 groupes? Et aussi, est ce que le champs possède le même type. Je pense qu'il faut que tu investigues la dessus car le problème ne peut venir que d'un mauvais mappage selon moi. Bonne fin de journée. Cdt. |
|
|
|
|
|
#7 (permalink) |
|
Invité de passage
![]() Date d'inscription: mars 2007
Messages: 6
|
Bonjour,
Je reviens avec de bonnes nouvelles, du moins je pense ... Après avoir fait des tests sur les XML de la bibliothéque SPS résume le pb que je constate : 1 : si j'ouvre un "ancien" formulaire avec un éditeur XML sans l'avoir ouvert avec InfoPath, je ne retrouve pas mes nouveaux champs de données. Normal puisqu'il n'a pas réouvert le document avec le nouveau templates ! 2 : Il faut donc ouvrir tous les formulaires un par un et modifier un champ puis enregistrer le formulaire (et c'est sans doute pour cela que le premier enregistrement ne met pas le message d'erreur !) 3 : De là si j'ouvre le formulaire avec un éditeur de XML je retrouve mon/mes nouveaux champs. SAUF QU'IL MANQUE lA DESCRIPTION DU CHAMP DANS LE XML !!!!! 4 : Il faut donc copier la description du champ d'un des formulaire crée après les avoir republier et l'insérer dans les anciens formulaires (en les ayant tous ouverts et enregistré une fois !!) EN CLAIR UNE GALERE !!!!!!!!!!!!!!!! ![]() ![]() ![]() Je l'ai validé sur deux de mes 170 formulaires (chouette, il m'en reste 168 !) et je fermerais cette discution lorsque j'aurai validé que ma manipulation fonctionne. C'est vraiment pas simple mais en désespoir de cause je ne vois pas comment faire autrement. du courage, du courage, du courage ...... Je dois encore le revalider sur quelques formulaires |
|
|
|
|
|
#8 (permalink) |
|
Expert Confirmé
![]() |
Salut,
Quand tu fais une update et que tu change ton schéma c'est normal que dans les anciens XML le champ n'existe pas? Non? Il existe un fichier ou un code que tu peux écrire lors d'un changement de version (onversionupdate) afin d'appliquer cette régle seulement au ancien xml des ancien formulaire. Voir dans outils -> option du formulaire. De deux il faut toujours garder les originaux des XSN et republier ceux-ci et pas les reprendre sur Sharepoint à chaque fois. Car si tu avais écris du code tu le perderais a chaque fois. Quand a ton erreur va voir si tu n'aurais pas des règle qui s'applique quand tu ouvre le formulaire (c'est aussi dans option du formulaire). ++ Thierry
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
![]() |
![]() |
||
InfoPath : Erreur non spécifiée
|
||
| Outils de la discussion | |
|
|