Page 1 sur 1
Passage de parametre entre deux documents ? comment faire

Publié:
04 Mai 2011 à 10:59
par moiiom
Bonjour,
je suis en 6.5 et aimerais passer plusieurs champs d'un document a un autre. Un copier/coller des champs d'un document dans un autre.
je suis parti sur un tableau qui contient les différentes chaines que j'essai de restaurer dans un autre document. Mais je perds les données de mon tableau étant donnée que je n'arrive pas a déclarer une variable "globale".
Il semblerait que je puisse passer par des variables d'environnements, mais je me demande si c'est la bonne solution ????
pourriez vous me guider
merci

Publié:
04 Mai 2011 à 11:53
par Michael DELIQUE
salut
je comprend pas pas ! tu veux que des données soient commune a plusieurs document ?
faire comme un copier coller de plusieurs champs

Publié:
04 Mai 2011 à 12:10
par moiiom
récupérer des données et les copier dans un autre document. Je souhaite juste déplacer le contenu de quelques champs dans un autre document.
merci de ton aide

Publié:
04 Mai 2011 à 13:19
par Michael DELIQUE
tu instancie 2 documents
et tu passe les champs del'un a l'autre
docA.monchamp = docb.monchamp(0)
Le document source est fermé

Publié:
04 Mai 2011 à 13:39
par moiiom
Le problème est que je dois fermer mon document source, et ouvrir un autre document pour y coller les valeurs.

Publié:
04 Mai 2011 à 13:41
par Michael DELIQUE
je comprend pas ce que tu veux faire.
une sorte de copié/collé ?

Publié:
04 Mai 2011 à 13:52
par seroa
Si tu es en web tu peux passer tes paramètres dans l'url.
Sinon il te faut l'Unid du document source pour pouvoir récupérer une valeur de champ dans ce document, mais dans ce cas il faut que ton document soit enregistrer avant d'être fermé.
je suis donc passer par des variables d'environnement

Publié:
04 Mai 2011 à 15:42
par moiiom
Un bouton copier
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Call session.SetEnvironmentVar("ENVNom", _
uidoc.FieldGetText("Nom"))
Call session.SetEnvironmentVar("ENVPrenom", _
uidoc.FieldGetText("Prenom"))
Call session.SetEnvironmentVar("ENVCid", _
uidoc.FieldGetText("Comp_ID"))
Call session.SetEnvironmentVar("ENVTrait", _
uidoc.FieldGetText("Traitement"))
Call session.SetEnvironmentVar("ENVCt", _
uidoc.FieldGetText("Comp_T"))
End Sub
Et un bouton coller
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Call uidoc.FieldSetText( "Nom", _
session.GetEnvironmentString( "ENVNom" ) )
Call uidoc.FieldSetText( "Prenom", _
session.GetEnvironmentString( "ENVPrenom" ) )
Call uidoc.FieldSetText( "Comp_ID", _
session.GetEnvironmentString( "ENVCid" ) )
Call uidoc.FieldSetText( "Traitement", _
session.GetEnvironmentString( "ENVTrait" ) )
Call uidoc.FieldSetText( "Comp_T", _
session.GetEnvironmentString( "ENVCt" ) )
End Sub
Je colle les champs d'un document puis les colles dans un autre document de mon choix.
C'est le seul moyen que j'ai trouvé pour obtenir des "variables globales"

Publié:
05 Mai 2011 à 21:04
par esolarc
C'est un peu tordu comme solution non ?
Tu veux faire cette opération une fois ?
C'est toujours les mêmes valeurs que tu veux mettre dans plusieurs documents ou des valeur d'un document X dans un document Y en pouvant sélectionner n'importe quel document X et n'importe quel document Y ?

Publié:
09 Mai 2011 à 15:14
par roubech
peux-tu préciser fonctionnellement comment tu veux procéder ?
traitement batch ou côté client à l'initiative de l'utilisateur
choix et sélection manuelle des docs ?
Ce que je crois comprendre : un user lambda veut prendre des infos dans un doc A pour les mettre dans un doc B
donc pour moi soit tu pars du doc A et l'utilisateur clique sur un bouton d'action lui demandant de choisir le docB
soit inversement, il se met sur le docB et le bouton d'action lui permet de choisir le docA
lapres, si à partir d'un docA tu veux mettre à jour plusieurs docB, il est préférable de partir de A et dans la boite de dialogue (PickList) au lieu de choisir un doc, tu permet d'en choisir plusieurs)
mais globalement, avec notesUIWorkspace.PickListCollection
et des call docB.replaceItemValue("monchamp", docA.GetItemValue()) tu devrais t'en sortir
parce que si ton user cliques sur copier le lundi et le vendredi il clique sur coller en oubliant de cliquer sur copier avant, il va récupérer des vieilles valeurs qui n'auront peut-être rien à voir ...
Si ta problématique est lié à la création d'un nouveau doc, pour lequel tu voudrait reprendre des valeurs dans un autre doc, il y a un propriété au niveau du masque dans le 2nd onglet "hérité les valeur du doc sélectionné" ....