Forum des développeurs  

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é.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath

InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML)

Réponse
 
Outils de la discussion
Vieux 09/06/2008, 16h31   #1 (permalink)
Invité de passage
 
Date d'inscription: mars 2007
Messages: 6
Par défaut InfoPath : Erreur non spécifiée

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.
olivierlem est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/06/2008, 09h48   #2 (permalink)
Membre du Club
 
Date d'inscription: juillet 2007
Localisation: Cote Ouest
Âge: 25
Messages: 107
Par défaut

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?
billout rm est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/06/2008, 10h13   #3 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: J'peux pas bien dire...
Âge: 24
Messages: 1 616
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/06/2008, 15h58   #4 (permalink)
Invité de passage
 
Date d'inscription: mars 2007
Messages: 6
Par défaut De retour

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:
Sinon est ce que tu as développé du code sur le bouton pour l'envoi
Pour répondre à Bilout, j'ai fait un bouton envoyer standard qui :
- 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
olivierlem est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/06/2008, 22h49   #5 (permalink)
Invité de passage
 
Date d'inscription: mars 2007
Messages: 6
Par défaut allez, on va y arriver !!

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+
olivierlem est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/06/2008, 17h03   #6 (permalink)
Membre du Club
 
Date d'inscription: juillet 2007
Localisation: Cote Ouest
Âge: 25
Messages: 107
Par défaut

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.
billout rm est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 18h30   #7 (permalink)
Invité de passage
 
Date d'inscription: mars 2007
Messages: 6
Par défaut Du nouveau ! après avoir laissé passer l'été !

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
olivierlem est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/09/2008, 09h04   #8 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: J'peux pas bien dire...
Âge: 24
Messages: 1 616
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide