Pb synchronisation base lotus réplication

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Pb synchronisation base lotus réplication

Messagepar madani » 23 Juin 2010 à 13:13

Bonjour, et merci d'avance

je dois créer une base qui a un masque et dans ce masque plusieurs personnes différentes interviennent sur un bouton et des champs.

Le problème est que chaque personne doivent renseigner les mêmes champs et vont recevoir en même temps le mail donc interviennent en même temps sur le masque risque alors de réplication de masque.

Comment éviter ceci en sachant que je dois envoyer un mails pour les avertirs à 30 personnes différentes.

J'avais penser a un mail toutes les heures le souci est toujours le problème d'ouvrir en même temps la base en modifier.


Existe t-il en lotuscript la possibilité de savoir si le masque est déja ouvert par une personne ? Je pense au queryopen ??

Si quelqu'un a une autre idée je suis preneur ??? merci

Merci avance mais je pense que je suis pas le seul a avoir ce problème.
Dernière édition par madani le 10 Juin 2011 à 08:42, édité 1 fois.
madani
 

Messagepar LSong » 23 Juin 2010 à 13:20

lotus contient un systeme de lock sur les documents a partir de la version 6

regarde a NotesDocument.lock() et unlock()
ca crée un lock sur le document sur la replique maitre
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar madani » 23 Juin 2010 à 13:29

Merci je vais regarder
madani
 

Messagepar madani » 23 Juin 2010 à 13:35

tu l'as déjà tester ?
madani
 

Messagepar LSong » 23 Juin 2010 à 15:15

oui il faut parametrer ou se trouve la replication maitre

ca marche sur les replication mais pas les local (il doit accéder a la replication maitre pour savoir si le doc est locker ou pas)
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar madani » 23 Juin 2010 à 15:38

Franchement c'est complex car la j'ai une base sur mon serveur j'ai essayé de tester locker ou non le problème est qu'une fois sur 2 en lotuscript il me met non locké ou locké alors que je suis deçu si tu as un bout de code qui pourrait m'éclaire en lotus ou formule .


je me sert de se bout de code mais j'ai pas trop compris en même temps sa fait 6 semaines que j'ai pas fait du lotuscript je suis en alternance je faisais du jsp java avant rien a voir mdr mais bref la n'est pas le sujet:

Sub Initialize
Dim Sess As New NotesSession
Dim Doc As NotesDocument
Dim Count As NotesItem
Dim Status As Integer
Dim LockID As Integer
Dim others As Integer

' Creating a Lock ID or getting the Lock ID
' For the event of "WebSiteHits"
LockID = Createlock("WebSiteHits")

' Infinite loop that can only be exited
' when this agent has a successfull
' lock. An unsuccessfull lock means
' that this agent is presently being
' run by someone else.
Do While True
If Codelock(LockID) Then
Exit Do ' We finally have a lock, exiting Loop
End If
Loop

Set Doc = Sess.SavedData

Set count = Doc.GetFirstItem("WebHits")
If count Is Nothing Then
Set count = New NotesItem(Doc, "WebHits", 0)
End If

count.Values = count.Values(0) + 1

Call Doc.Save(True,False)

' Once completed, release and
' destroy this lock so another
' run of this agent can continue.
Status = CodeUnlock(LockID)
Status = DestroyLock(LockID)

End Sub[color=green]
[/color]

Merci de ton aide
madani
 

Messagepar roubech » 23 Juin 2010 à 15:49

pour utiliser le lock native de Notes, il faut cocher l'option correspondante dans les propriétés de la base
Ensuite, normalement ça le fait tout seul : quand un user ouvre un doc en Edit, ça ajoute des champs $Writers et $WriterDate et quand il ferme son docs, ça les enlève. Si entre temps un autre user essaye de passer le doc en Edit, il a une popup indiquant que le doc est déjà ouvert en edit par untel
par contre, si tu as des agents qui modifie les doc en backend, il faut utiliser la propriété LS pour savoir si le doc est ouvert par quelqu'un
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar madani » 23 Juin 2010 à 15:53

ok merci a je comprend mieux
madani
 

Messagepar madani » 23 Juin 2010 à 15:57

l'option c'est celle ci ?
madani
 

Messagepar madani » 23 Juin 2010 à 16:09

c'est bon merci sa marche
madani
 


Retour vers Développement

cron