Annulation dune reunion

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

Annulation dune reunion

Messagepar magkev » 30 Oct 2009 à 14:35

Salut,

Suis nouveau dans ce forum , jai suis bloqué avec un prob .. jexplique ..

Jai crée un webservice qui créer un invitation de reunion .. lutilisateur accepte linvitation et la reunion est crée dans l'agenda .. mais jarrive pas a crée une annulation de reunion ..jai bidouillé un peu de code mais ca marche pas , je vais mettre aussi le code de creation parcequil y a un forte possibilité que le probleme viens de la ..




[syntax="javascript"]

VOICI MON CODE POUR CREER LA REUNION ........................................................................................................................

public String creationCourierAvecInvitation(String dest, String suj, String StartDate,String NomClient, String LeSujet) {


try{
Session s = WebServiceBase.getCurrentSession();
Database db = s.getAgentContext().getCurrentDatabase();
Document doc = db.createDocument();

DateTime dtnow = s.createDateTime(StartDate);
DateTime dtTime = s.createDateTime(StartDate);
DateTime dtEndTime = s.createDateTime(StartDate);
dtEndTime.adjustHour(1,true);

System.out.println(dtnow);
System.out.println(dtTime.getLocalTime());
System.out.println(dtEndTime.getLocalTime());
System.out.println(suj);
doc.replaceItemValue("Form", "Appointment");
doc.replaceItemValue("AppointmentType", "3");
doc.replaceItemValue("MeetingType", "1");
doc.replaceItemValue("Subject", "S4-" + NomClient + "-" + LeSujet);
doc.replaceItemValue("StartDate", dtnow);
doc.replaceItemValue("StartDateTime", dtTime);
doc.replaceItemValue("tmpStartDate1", dtTime);
doc.replaceItemValue("StartTime", dtnow.getTimeOnly());
//doc.replaceItemValue("StartTimeZone", dtnow.getTimeZone());
doc.replaceItemValue("EndDateTime", dtEndTime);
doc.replaceItemValue("tmpEndTime1", dtEndTime);
doc.replaceItemValue("EndTime", dtEndTime.getTimeOnly());
doc.replaceItemValue("SendTo", dest);
doc.replaceItemValue("From", "Logiciel S4");
//doc.replaceItemValue("Author","Kevin Koman") ;
doc.replaceItemValue("Principal",dest) ;
doc.replaceItemValue("CopyTo", "");
doc.replaceItemValue("Chair", "");
//doc.replaceItemValue("sequencenum", 1);
doc.computeWithForm(true,false);

//Call doc.ComputeWithForm(True,False);

RichTextItem body = doc.createRichTextItem("Body");
body.appendText("Fichier excel jointes");
body.addNewLine(2);
System.out.println(suj);
body.embedObject(EmbeddedObject.EMBED_ATTACHMENT,"", suj ,"");
doc.save(true, true);
doc.send();

}
catch(Exception e) {
e.printStackTrace();
}
System.out.println("creationCourierAvecInvitation ................test ENd");
return "OK";
}


CODE POUR ANNULER LA REUNION...........................................................................................................


public String AnnulationCourierAvecInvitation(String dest, String StartDate,String NomClient, String LeSujet) {


try{
Session s = WebServiceBase.getCurrentSession();
Database db = s.getAgentContext().getCurrentDatabase();
Document doc = db.createDocument();


DateTime dtnow = s.createDateTime(StartDate);
DateTime dtTime = s.createDateTime(StartDate);
DateTime dtEndTime = s.createDateTime(StartDate);
dtEndTime.adjustHour(1,true);

System.out.println(dtnow);
System.out.println(dtTime.getLocalTime());
System.out.println(dtEndTime.getLocalTime());
//System.out.println(suj);
doc.replaceItemValue("Form", "Appointment");
doc.replaceItemValue("AppointmentType", "3");
doc.replaceItemValue("MeetingType", "1");
doc.replaceItemValue("Subject", "S4-" + NomClient + "-" + LeSujet);

doc.replaceItemValue("NoticeType", "C");
doc.replaceItemValue("_ViewIcon", "81");
doc.replaceItemValue("Alarms", "");
doc.replaceItemValue("BookFreeTime", "1");
doc.replaceItemValue("MailOptions", "");

doc.replaceItemValue("StartDate", dtnow);
doc.replaceItemValue("StartDateTime", dtTime);
doc.replaceItemValue("tmpStartDate1", dtTime);
doc.replaceItemValue("StartTime", dtnow.getTimeOnly());
doc.replaceItemValue("EndDateTime", dtEndTime);
doc.replaceItemValue("tmpEndTime1", dtEndTime);
doc.replaceItemValue("EndTime", dtEndTime.getTimeOnly());
doc.replaceItemValue("SendTo", dest);
doc.replaceItemValue("From", "Logiciel S4");
doc.replaceItemValue("Principal",dest) ;
doc.replaceItemValue("CopyTo", "");
doc.replaceItemValue("Chair", "");
doc.computeWithForm(true,false);
RichTextItem body = doc.createRichTextItem("Body");
body.appendText("Fichier excel jointes");
body.addNewLine(2);
//System.out.println(suj);
//body.embedObject(EmbeddedObject.EMBED_ATTACHMENT,"", suj ,"");
doc.save(true, true);
doc.send();

}
catch(Exception e) {
e.printStackTrace();
}
System.out.println("AnnulationCourierAvecInvitation ................test ENd");
return "OK";
}

}[/syntax]

Jespere que vous pourrez maider ..

:-?

Merci,
A+
magkev
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 2
Inscrit(e) le : 30 Oct 2009 à 14:29

Messagepar LSong » 02 Nov 2009 à 10:29

pour que ton mail d'annulation fonctionne il faut qu'il retrouve l'appoitement qui lui correspond.

et il te manque certaine chose ...
normalement c'est une forme Notice qu'il te faut
j'ai mis tout ca et un peu plus je mette en commentaire ce qui sont probablement obligatoire, j'ai ommis ceux qui me semble a priori optionelle si tu veux je te mette tout

doc est le document appointement dans la base mail
invite est une nouvelle instance d'un document pour envoyer le mail

invite.form = "Notice"
Call invite.ComputeWithForm (True, False)
Call invite.MakeResponse(doc) ' il faut qu'il soit une reponse a l'appointement de depart (pas super sur que ca soit mandatory)
invite.AppointmentType = "3"
invite.ApptUNID = doc.UniversalID ' tres important il faut que cette variable ai l'ID de l'appointement d'origine
Call invite.ReplaceItemValue("$AltPrincipal", emailDB) ' si tu veux changer l'envoyeur
Call invite.ReplaceItemValue("$RefOptions", "1") ' ULTRA IMPORTANT il va permettre de crée dans le lien document reponse dans la base mail de l'utilisateur
invite.UpdateSeq = doc.UpdateSeq
invite.SequenceNum = doc.SequenceNum
' TRES important ces numéros permetent de dire si le mail a deja etait traiter ou pas
s'il est < a celui dans l'appointement de la base mail cible la notice est ignoré, il faut prevoir un incremant dans l'appointement pour etre sur qu'ils soit bon
invite.NoticeType = "C" ' pour cancellation


Laurent SONG
j'ai passé deux jours à faire mumuse avec ca
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

re-annulation dune reunion

Messagepar magkev » 04 Nov 2009 à 07:17

Salut,

Dsl , jai pas pu repondre plu tot .. javais des probleme de connection.

Mais est-ce possible davoir l'ID de l'appointement d'origine vue que l'invitation a été envoyé par un autre utilisateur ? .. parceque normalement l'appointement d'origine va se trouver sur une autre base .(celle de lutilisateur qui a accepter linvitation)
Comme jai cru comprendre l'ID de l'appointement d'origine est tres important ..


Merci bcp pour ta reponse.
magkev
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 2
Inscrit(e) le : 30 Oct 2009 à 14:29


Retour vers Développement

cron