# Dotnet > Gnral Dotnet > Dveloppement Office System > InfoPath >  InfoPath : Erreur non spcifie

## olivierlem

Bonjour,

J'utilise un formulaire Infopath qui se connecte  une base de donnes 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 faon rgulire sans avoir d'explications je suis oblig de supprimer et recrer mes formulaires parce que lorsque je modifie les anciens j'ai des messages de ce type :

Certaines rgles n'ont pas t appliques :InfoPath ne peut pas envoyer le formulaire.
Une erreur s'est produite lors de l'envoi du formulaire.
Erreur non spcifie


Habituellement je reprend le contenu du formulaire et je le refais mais j'aimerai tout de mme savoir pourquoi lorsque je fais la moindre modification je suis contraint de refaire tout le formulaire (sachant que je ne touche pas 
aux donnes existantes, j'en ajoute !!!!!)

Merci de vos lumires.

----------


## billout rm

Salut,

Tu as bien fait attention d'actualiser ta connexion de donnes (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 dcalage entre ta connexion et ta table et peut-tre une erreur inconnue.

Sinon est ce que tu as dvelopp du code sur le bouton pour l'envoi?

----------


## virgul

Salut,

es-ce que tu garde le projet original (xsn) quand tu veux modifier ou tu le tlcharge sur Sharepoint et tu clic sur modifier?

Si te le reprend chaque sur Sharepoint pour le modifier ca peut expliquer ton problme.

Si tu ne fais pas clic droit -> concevoir sur le modle que tu as sur ton PC ca peut aussi provoquer des problmes.

++

Thierry

----------


## olivierlem

Bonjour bilout et virgul,

Depuis j'ai un peu creus sans obtenir la rponse 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 supplmentaire dans la base de donne.
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 crer de nouveaux formulaires, il s'enregistre bien dans la base de donnes et sur le site SPS et je contrle les valeurs dans la base qui sont bien prsentes. 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 droulant 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 rgles n'ont pas t appliques :InfoPath ne peut pas envoyer le formulaire.
Une erreur s'est produite lors de l'envoi du formulaire.
Erreur non spcifie

Et si je regarde la ligne dans la base de donnes au niveau du champ ajout je trouve une valeur <NULL>, d'ou mon problme. donc la premire 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'espre que vous saurez m'aider.




> Sinon est ce que tu as dvelopp du code sur le bouton pour l'envoi


Pour rpondre  Bilout, j'ai fait un bouton envoyer standard qui :
- envoi les donnes dans la base
- enregistre le formulaire sur le site Sharepoint
- ferme le formulaire aprs cela.

Mais tout est standard, fonctionnalits de Infopath ...


si vous avez des ides je suis preneur.


Merci

----------


## olivierlem

A oui,

Pour VIRGUL, je modifie toujours celui sur le site que je republie. Je  me dis qu'au moins c'est la dernire 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 (mme siles champs ne se mettent pas dans la base) et si tu l'ouvres derrire pour le remodifier il te met erreur inconnu.

En fait c'est comme s'il stockait une fois la valeur dans le formulaire sans vrifier la validit du champ en base mais qu'ensuite lors du second enregistrement il le fasse ????

Bon je continu d'explorer les mandres d'InfoPath,

C'est tout de mme chiant de ne pas pouvoir faire voluer ton formulaire e fonction des besoins d'information que tu n'as pas prvu auparavant.
Ds que je fais une modification je me fais les recopie de mes formulaires !!

A+

----------


## billout rm

Salut,

Dsol du temps de rponse mais ton problme est quand mme assez rude.

Est ce que tu peux regarder dans la source de donnes 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 rception 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 possde le mme type.

Je pense qu'il faut que tu investigues la dessus car le problme ne peut venir que d'un mauvais mappage selon moi.

Bonne fin de journe.
Cdt.

----------


## olivierlem

Bonjour,

Je reviens avec de bonnes nouvelles, du moins je pense ...
Aprs avoir fait des tests sur les XML de la bibliothque SPS rsume 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 donnes. Normal puisqu'il n'a pas rouvert 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 cre aprs les avoir republier et l'insrer dans les anciens formulaires (en les ayant tous ouverts et enregistr une fois !!)

EN CLAIR UNE GALERE !!!!!!!!!!!!!!!!  ::arf::  ::evilred::  ::evilred:: 


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 dsespoir de cause je ne vois pas comment faire autrement.

du courage, du courage, du courage ......
Je dois encore le revalider sur quelques formulaires

----------


## virgul

Salut,

Quand tu fais une update et que tu change ton schma 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 rgle 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 rgle qui s'applique quand tu ouvre le formulaire (c'est aussi dans option du formulaire).

++

Thierry

----------

