Précédent   Forum du club des développeurs et IT Pro > Dotnet > Général Dotnet > Développement Office System > InfoPath
InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/08/2012, 18h11   #1
Pmld59
Invité de passage
 
Homme
Urbaniste
Inscription : avril 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Urbaniste
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 9
Points : 1
Points : 1
Par défaut Bouton de commande Enregistrer sous.

Bonjour à tous,

Je viens de créer un formulaire avec Infopath 2007 dans lequel il y a un bouton de commande "Envoyer", qui fonctionne très bien

Maintenant, je veux rajouter un autre bouton de commande intitulé "Enregistrer sous" qui aura comme action d'enregistrer mon formulaire dans un emplacement partagé N:\Formulaires.

En même temps, je veux à chaque fois attribuer un nom unique à mon formulaire pour ne pas écraser les formulaires déjà existants dans N:\Formulaires. Ce nom unique pourrait être le numéro de demande de mon formulaire que j'ai déjà créé (numéro unique).

Une fois enregistré le formulaire devrait être fermé.

Quelqu'un aurait-il une solution à me proposer?

Merci d'avance...

Pmld59
Pmld59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2012, 18h52   #2
billout rm
Membre chevronné
 
Avatar de billout rm
 
MVP InfoPath
Inscription : juillet 2007
Messages : 653
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : MVP InfoPath

Informations forums :
Inscription : juillet 2007
Messages : 653
Points : 768
Points : 768
Bonjour,

Si vous utilisez un formulaire InfoPath client lourd (qui s'ouvre avec InfoPath et non dans le navigateur) et que vous pouvez utiliser du code managé, il est possible d'utiliser le code suivant:

if(this.New)
{
this.SaveAs("N:\Formulaires\NomUnique.xml");
}
else
{
this.Save();
}

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.
billout rm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2012, 19h30   #3
Pmld59
Invité de passage
 
Homme
Urbaniste
Inscription : avril 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Urbaniste
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 9
Points : 1
Points : 1
Bonjour billout rm,

Merci de votre réponse...

Je suis allé dans propriétés - bouton, puis dans modifier le code du formulaire j'ai inséré le code que vous m'avez donné.
Voilà ce que j'ai:

XDocument.DOM.setProperty("SelectionNamespaces", 'xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-07-31T14:58:19" xmlnsd="http://schemas.microsoft.com/office/infopath/2003"');
function CTRL67::OnClick(eventObj)
{
if(this.New)
{
this.SaveAs("N:\Formulaires\NomUnique.xml");
}
else
{
this.Save();
}

Mais quand j'appuie sur le bouton je reçois un message d'erreur: Infopath ne peut pas executer cette action en raison d'une erreur dans le code du formulaire.

Y a-t-il une chose que j'ai mal faite?

Merci,




Citation:
Envoyé par billout rm Voir le message
Bonjour,

Si vous utilisez un formulaire InfoPath client lourd (qui s'ouvre avec InfoPath et non dans le navigateur) et que vous pouvez utiliser du code managé, il est possible d'utiliser le code suivant:

if(this.New)
{
this.SaveAs("N:\Formulaires\NomUnique.xml");
}
else
{
this.Save();
}

Cordialement.
Pmld59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2012, 09h45   #4
billout rm
Membre chevronné
 
Avatar de billout rm
 
MVP InfoPath
Inscription : juillet 2007
Messages : 653
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : MVP InfoPath

Informations forums :
Inscription : juillet 2007
Messages : 653
Points : 768
Points : 768
Bonjour,

Oui en effet, je pense qu'il y a un problème.
Le gestionnaire d'évènement généré correspond à du JSCRIPT selon moi : "function CTRL67::OnClick(eventObj)".

Le code que je vous ai envoyé est valable pour du C# (Catégorie .Net).
Pour cela, il faut aller dans les options du formulaire (disponible depuis Outil puis dans la partie Programmation).

Une fois que vous serez passé en C#, le gestionnaire d'évènement ressemblera à cela : btnTest_Clicked(...)

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.
billout rm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2012, 15h59   #5
Pmld59
Invité de passage
 
Homme
Urbaniste
Inscription : avril 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Urbaniste
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 9
Points : 1
Points : 1
Bonjour,

Je suis allé dans les options du formulaire pour mettre C#.
Mais aprés, je n'arrive plus à ouvrir le gestionnaire d'événements...

Vous pouvez voir en pièce jointe le message d'erreurs que j'obtiens (en gros, il faut installer Visual Studio pour Applications VSTA)

Je vais voir comment l'installer et je vous tiens au courant!

Merci encore,

Pmld59
Fichiers attachés
Type de fichier : doc MessGestEven.doc (109,0 Ko, 3 affichages)
Pmld59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2012, 17h15   #6
billout rm
Membre chevronné
 
Avatar de billout rm
 
MVP InfoPath
Inscription : juillet 2007
Messages : 653
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : MVP InfoPath

Informations forums :
Inscription : juillet 2007
Messages : 653
Points : 768
Points : 768
Exact, il vous faut installer VSTA - Visual Studio Tools for Application ou VSTO - Visual Studio Tools for Office.


Par contre, autre précision importante du même tonneau, il faut activer ce que l'on appelle la couche de programmabilité .Net sur tous les ordinateurs qui utilisent des formulaires avec du code managé!

Pour faire cela, il faut cocher la totalité du bloc InfoPath lors de l'installation depuis le CD Office. Il est possible de réaliser ceci à postériori en allant dans le panneau "Ajout et suppression de programmes" de votre PC puis en modifiant la configuration d'office.

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.
billout rm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2012, 14h54   #7
Pmld59
Invité de passage
 
Homme
Urbaniste
Inscription : avril 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Urbaniste
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 9
Points : 1
Points : 1
Bonjour billout rm,

Il a eu une modification des besoins concernant mon formulaire...Désolé!!!

En effet, au lieu que le bouton "Enregistrer sous" enregistre le formulaire dans N:\Formulaires, il faut qu'il le stocke dans un dossier d'Outlook (Exemple: Boîte de réception/Formulaire). En gros c'est un autre bouton "Envoyer", mais la destination est plus précise.

Est ce qu'il faut que je fasse un autre post?

Merci,

Pmld59
Pmld59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2012, 10h14   #8
billout rm
Membre chevronné
 
Avatar de billout rm
 
MVP InfoPath
Inscription : juillet 2007
Messages : 653
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : MVP InfoPath

Informations forums :
Inscription : juillet 2007
Messages : 653
Points : 768
Points : 768
Bonjour,

La destination est plus précise en effet...
Dans ce cas la, il faudrait que vous réalisiez une connexion d'envoi par mail.

Mais pourquoi ne pas directement rester dans le contexte Outlook en réalisant un formulaire InfoPath personnalisé?
Vous trouverez de nombreux tutos sur le net à ce sujet:
http://blogs.msdn.com/b/tudort/archi...22/536800.aspx

N'hésitez pas pour toutes questions.
__________________
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.
billout rm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2012, 18h04   #9
Pmld59
Invité de passage
 
Homme
Urbaniste
Inscription : avril 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Urbaniste
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 9
Points : 1
Points : 1
Merci Billout,

J'ai finalement opté pour un formulaire Outlook et c'est beaucoup plus simple (grâce à votre lien).

Mieux vaut tard que jamais: Merci de votre aide.

Pmld59
Pmld59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h18.


 
 
 
 
Partenaires

Hébergement Web