Page 1 sur 1

Refresh lors de l'enregistrement d'un document

MessagePublié: 12 Jan 2011 à 09:28
par lebanner
Bonjour a tous,

A partir d'une base A je génére un document dans la base B.

Je ne trouve pas la solution pour actualiser le nouveau document créé lors de l'enregistrement ?

Le refresh ne fonctionne que sur un uidoc !!!

Voici mon code :
Code : Tout sélectionner
Dim dbcible As NotesDatabase
Set dbcible = Session.GetDatabase("chemin", "fichier.nsf")
Set newdoc = New NotesDocument(dbcible)
newdoc.form = "Nomduform"
.....j'incrémente les champs que j'ai besoin

'J'aimerai actualiser le nouveau doc avant le save
Call newdoc.Save(False, False)



Merci d'avance pour votre aide

Cordialement

MessagePublié: 12 Jan 2011 à 09:34
par Michael DELIQUE
salut

regarde à Computewithform.

il est normale que le refresh ne fonctionne qu'en UI vue que ça rafraichi l'afficahge

MessagePublié: 12 Jan 2011 à 09:34
par lebanner
je vais peut petre tenté avec le ComputeWithForm

MessagePublié: 12 Jan 2011 à 09:35
par lebanner
Michael DELIQUE a écrit:salut

regarde à Computewithform.

il est normale que le refresh ne fonctionne qu'en UI vue que ça rafraichi l'afficahge


Bonjour Michael,

On a pensé à la même chose en même temps.

Je vais faire le test tout de suite
Merci

MessagePublié: 12 Jan 2011 à 09:42
par lebanner
Bonjour,

Voici ce que j'ai mis :
Code : Tout sélectionner
Dim sucess As Variant
sucess = newdoc.ComputeWithForm(False,False)
If sucess Then
Call newdoc.Save(True,True)
Msgbox "Nouveau dpcument ................."
End If


En regardant au débugeur, le sucess est à FALSE, du coup, la sauvegarde du doc ne fonctionne pas

MessagePublié: 12 Jan 2011 à 09:45
par Michael DELIQUE
c'est que tu as une erreur sur ton masque. genre du texte dans un champ intéger ou une formule qui passe pas

MessagePublié: 12 Jan 2011 à 10:42
par lebanner
Michael DELIQUE a écrit:c'est que tu as une erreur sur ton masque. genre du texte dans un champ intéger ou une formule qui passe pas


Oui, effectivement, il y a un souci sur un champ au format Date/Heure

Je calcul une Date, juste là pas de problème.
Par contre, dès que j'affecte au nouveau doc cette valeur il le transforme en texte.

Voici le code :
Code : Tout sélectionner
Dim date As New NotesDateTime(Now)
Call date.AdjustDay(2)
newdoc.RupturePrevue_RElvR = date.DateOnly   'Au moment de l'affectation, il le tranforme en texte et non en date


J'ai regardé en debug et la donnée Date est bien au format Date/Heure

MessagePublié: 12 Jan 2011 à 11:05
par Michael DELIQUE
essais avec un

cdat(date.DateOnly)

MessagePublié: 12 Jan 2011 à 11:35
par lebanner
Michael DELIQUE a écrit:essais avec un

cdat(date.DateOnly)


J'ai plus de probleme avec le refresh

Cependant, le Cdat remet la date sous format DD/MM/YYYY 00:00:00
ce qui n'est pas le format du champ du nouveau document donc il ne le prend pas en compte tout de suite. Il faut que je retourne sur le nouveau doc créé et que je réactualise à la main avec le F9.

MessagePublié: 12 Jan 2011 à 11:48
par Michael DELIQUE
sur la validation d'entré de ton champ met une formule du genre

@if(@trim(@text(@thisvalue))="";@thisvalue;@date(@thisvalue))

MessagePublié: 12 Jan 2011 à 13:06
par lebanner
J'ai déjà une validation d'entrée dans le champ (le document créé est utiliser dans d'autres situations)

J'ai juste besoin de récupérer, je pense, en LS une date sous format DD/MM/YYYY

Logiquement avec date.DateOnly c'est bon

Je ne comprend pas le problème !!

Cordialement

MessagePublié: 12 Jan 2011 à 18:57
par lebanner
Bonjour,

J'ai contourner mon problème en ouvrant le nouveau doc crée, en actualisant en auto et en fermant le doc en auto. La chose se fait en une demi seconde donc pas de problème.

Merci Michael
Cordialement