Page 1 sur 1

Création d'entrée d'agenda

MessagePublié: 17 Mai 2011 à 15:33
par enjoy
Hello,

J'ai un bout de code qui fonctionnait superbement bien en v6.5 et qui ne fonctionne plus du tout en v8.5.
Est ce qu'une bonne âme pourrait me guider ?
Le code est issu d'un programme de gestion de congé.

Lib_affiche := @If(EntierDemi = "1"; @Text(TypeDemande) + " Journée";EntierDemi = "2";@Text(TypeDemande) + " matin";@Text(TypeDemande) + " Après midi");
Pers_affiche := @Text(Personne);
Lib_enreg := @Text(Pers_affiche) + " " +@Text(Lib_affiche);
travdate:=DebutConge;
delta := @Integer(((FinConge - DebutConge)/86400)+1);
@If(EntierDemi = "1" ;

@For( n:=1 ; n<=delta; n:=n+1;
@Command([OpenCalendar];@UserName);
@Command([Compose];"Appointment");
FIELD StartDate:=travdate;
FIELD EndDate:=travdate;
FIELD AppointmentType :="2";
FIELD Subject:= Lib_enreg;
FIELD SaveOptions := 1;
travdate:=@Adjust(travdate;0;0;1;0;0;0);
@Command([FileCloseWindow]));

EntierDemi = "2" ;
@Do(@Command([OpenCalendar];@UserName);
@Command([Compose];"Appointment");
FIELD StartDate:=@Date(DebutConge);
FIELD EndDate:=@Date(DebutConge);
FIELD AppointmentType :="2";
FIELD Subject:= Lib_enreg;
FIELD SaveOptions := 1;
@Command([FileCloseWindow]));

@Do(@Command([OpenCalendar];@UserName);
@Command([Compose];"Appointment");
FIELD StartDate:=@Date(DebutConge);
FIELD EndDate:=@Date(DebutConge);
FIELD AppointmentType :="2";
FIELD Subject:= Lib_enreg;
FIELD SaveOptions := 1;
@Command([FileCloseWindow])));
@Command([FileCloseWindow])

J'ai droit à une belle msgbox "Document non valide ou inexistant"
Avec mon agenda ouvert en arrière plan "Aucun service d'agenda" , "Cette opération n'est pas autorisée lorsqu'une boîte de dialogue est affichée" avec un beau bouton "recharger" :roll:

MessagePublié: 18 Mai 2011 à 13:34
par enjoy
Personne n'a même un bout de code à me donner pour créer un rdv dans l'agenda de l'user en cours en v8 ? :?

MessagePublié: 18 Mai 2011 à 13:40
par Michael DELIQUE
salut

le sujet à déjà été abordé une petite recherche sur le site devrais te le remonter

MessagePublié: 19 Mai 2011 à 13:04
par enjoy
Déjà effectué la recherche Merci !
Ce que je souhaites ne s'y retrouve pas.
Ce que je recherche c'est le fonctionnnement sur la v8.5 ou v8.
Mon code fonctionne parfaitement en V6.5 et je voudrais savoir si un dev a déjà effectué ce genre de manip en @command ou en LS.

MessagePublié: 24 Mai 2011 à 11:00
par enjoy
Je viens de réussir à ne pas avoir l'erreur de création d'évènement dans l'agenda avec la commande suivante :

@Command([Compose];@MailDbName;"Appointment");

Par contre je n'arrive pas à passer les valeurs des champs de ma base pour donner une valeur au champ du masque appointment genre le StartTime etc...

Quelqu’un aurait une idée ?

MessagePublié: 24 Mai 2011 à 14:33
par Dominux
Un endroit où creuser pour comprendre entre autre les évenements d'agenda et leur structure :
https://www.ibm.com/developerworks/lotu ... tion/capi/
Regarde dans le guide de référence, tu trouveras des infos sur les champs nécessaires à renseigner pour un événement bien formé!

MessagePublié: 24 Mai 2011 à 15:05
par enjoy
Merci de ton aide !
J'ai fini par trouver en tâtonnant....

Voici le code qui fonctionne si cela peut aider qq'un :

Duree:=EntierDemi;
TypeDmd :=TypeDemande;
DebutC := DebutConge;
FinC := FinConge;
Lib_affiche := @If(Duree = "1"; @Text(TypeDmd) + " Journée";Duree = "2";@Text(TypeDmd) + " matin";@Text(TypeDmd) + " Après midi");
Pers_affiche := Personne;
Lib_enreg := Pers_affiche + " " + Lib_affiche;


@Do(@Command([Compose];@MailDbName;"Appointment");
@UpdateFormulaContext;
FIELD AppointmentType:="2";
FIELD tmpAppointmentType:="2";
@Command([RefreshHideFormulas]);
FIELD StartDate := DebutC;
FIELD EndDate := FinC;
@Command( [EditGotoField] ; "Subject" );
@Command([EditInsertText]; Lib_enreg));