WebQueryOpen
Bonjour,
La doc sur "DocumentContext property" dit :
« Pour un agent exécuté à partir d'un navigateur avec @Command[ToolsRunMacro], le document en mémoire est le document en cours.
Dans le cas de WebQueryOpen, c'est le document avant que Domino ne le convertisse en HTML et ne l'envoie au navigateur... »
Ce que je souhaite, c'est de récupérer le dernier document créé (cf pj), incrémenter un compteur (pris dans ce dernier document) et créer un nouveau document.
Ceci afin de réserver le document en cours à l'utilisateur.
Je voudrais que le nouveau compteur ( NumDme ) apparaisse dans le masque ce qui n'est pas le cas
Merci de votre aide
Le script :
[Admin] => il ya des balises pour insérer du code, c'est plus pratique à lire qu'un fichier texte
La doc sur "DocumentContext property" dit :
« Pour un agent exécuté à partir d'un navigateur avec @Command[ToolsRunMacro], le document en mémoire est le document en cours.
Dans le cas de WebQueryOpen, c'est le document avant que Domino ne le convertisse en HTML et ne l'envoie au navigateur... »
Ce que je souhaite, c'est de récupérer le dernier document créé (cf pj), incrémenter un compteur (pris dans ce dernier document) et créer un nouveau document.
Ceci afin de réserver le document en cours à l'utilisateur.
Je voudrais que le nouveau compteur ( NumDme ) apparaisse dans le masque ce qui n'est pas le cas
Merci de votre aide
Le script :
- Code : Tout sélectionner
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.currentdatabase
'vue repertoriant les numero des demandes
Dim viewNumDme As notesview
Set viewNumDme = db.getview("VueNumDmes")
' -----------------------------------------------------------------------------------------------------------------
' Calcul du N° de commande à utiliser
' -----------------------------------------------------------------------------------------------------------------
Dim docNum As NotesDocument
Dim mNumDme As String
Dim mKeyAnnee As String
Dim mNum As Integer
'recuperation de l annee en cours
Dim dateTime As New NotesDateTime( "" )
dateTime.LSLocalTime = Now
Dim sdatetime As String
sdatetime = dateTime.DateOnly
mKeyAnnee = Mid$( sDateTime, 7, 4)
mNumDme = "" 'Init du numero de demande du doc en cours
' on calcule un nouveau numéro
' Recherche dans les commandes de l annee
Set docNum = viewNumDme.GetDocumentByKey( mKeyAnnee , True)
' Set docNum = s.DocumentContext
'Si pas de commande pour cette annee, on commence à 1 (par exemple 2004-0001)
If ( docNum Is Nothing ) Then
mNumDme = mKeyAnnee + "-" + "0000001"
' Sinon on prend la derniere commande créée et on incremente
' La vue est triée ds l'ordre décroissant --> on prend le premier doc
' de la collection
Else
mStr = docNum.NumDme(0)
' extraction du Numero + 1
mNum = Cint( Right$( mStr, 7 ) ) + 1
' Reconstitution de la partie numérique du Numero commande completé avec des zero
mStr = Left$( "0000000" , 7 - Len( Trim$ (Str$( mNum ) ) ) ) + Trim$ (Str$( mNum ) )
mNumDme = mkeyannee + "-" + mStr
End If
' -----------------------------------------------------------------------------------------------------------------
' FIN Calcul du N° de commande à utiliser
' -----------------------------------------------------------------------------------------------------------------
Call docNum.ReplaceItemValue("NumDme", mNumDme)
Msgbox "NumDme : " & docNum.NumDme(0)
Call docNum.Save( True, False )
End Sub
[Admin] => il ya des balises pour insérer du code, c'est plus pratique à lire qu'un fichier texte