Plugin - Emailstatus auf gesendet ändern!
-
miércoles, 21 de marzo de 2012 13:43
Hallo,
folgende Sachverhalt. Ich habe einen Plug-In geschrieben die beim Update von Kontakt und Firma einen Email mit den geänderten Daten versendet ( als Email aktivität). Es funktioniert auch. Allerdings ist aktuell das Problem, dass der Status auf nicht gesendet ist und da möchte ich ändern.Nach herumstöbern in sdk habe ich folgende bsp gefunden :
// Use the SendEmail message to send an e-mail message.SendEmailRequest sendEmailreq = new SendEmailRequest
{
EmailId = _emailId,
TrackingToken = "",
IssueSend = true
};
Mein code
// send Email
// Guid _userId = context.InitiatingUserId;
SendEmailRequest sendEmail = new SendEmailRequest();
sendEmail.IssueSend = true;
//Guid idemail = (Guid)email.Attributes["partyid"];
//Guid aktuelleemail = sendEmail.EmailId;
//sendEmail.EmailId = (Guid)email.Attributes["partyid"];
sendEmail.TrackingToken="";
service.Execute(sendEmail);wie ihr sieht habe ich da ein wenig rumprobiert. Code läuft zwar fehlerfrei aber in Id ist immer 000000 oder ist nicht vorhanden???
Kann mir jemand da ein Tip geben??
Danke
lg
Arash
Gruß Arash Man braucht den Rat anderer nicht zu befolgen, damit sie sich gut fühlen. Es genügt, sie um Rat zu fragen.
Todas las respuestas
-
miércoles, 21 de marzo de 2012 15:36Moderador
Hallo,
du musst die GUID der erstellten Email mitgeben.
SendEmailRequest reqSendEmail = new SendEmailRequest(); reqSendEmail.EmailId = GUID der erzeugten Email; reqSendEmail.TrackingToken = ""; reqSendEmail.IssueSend = true; SendEmailResponse res = (SendEmailResponse)service.Execute(reqSendEmail);
Viele Grüße
Michael Sulz
MVP für Microsoft Dynamics CRM
Blog
Website -
jueves, 22 de marzo de 2012 10:50
Hallo Michael,
danke für deine Antwort. Ich denke da liegt das Problem den ich versuche die guid der erzeugten Email zu übergeben allerdings ist immernoch überall nuller drin
Guid emailId = service.Create(email);
SendEmailRequest reqSendEmail = new SendEmailRequest();
reqSendEmail.EmailId = email.Id; // hier erzeuge ich die Entity Email ---> Entity email = new Entity("email");reqSendEmail.TrackingToken = "";
reqSendEmail.IssueSend = true;
SendEmailResponse send = (SendEmailResponse)service.Execute(reqSendEmail);wenn ich da email.Id mache müsste er mir doch die id übergeben das macht er eben nicht ?????????
Gruß Arash Man braucht den Rat anderer nicht zu befolgen, damit sie sich gut fühlen. Es genügt, sie um Rat zu fragen.
-
jueves, 22 de marzo de 2012 11:47Moderador
Hallo Arash,
in deiner Variablen emailId steht die guid, du musst sie so zuweisen (ohne den Punkt vor Id):
reqSendEmail.EmailId = emailId;
Viele Grüße
Michael Sulz
MVP für Microsoft Dynamics CRM
Blog
Website- Marcado como respuesta A_DA jueves, 22 de marzo de 2012 13:02
-
jueves, 22 de marzo de 2012 11:59
Hallo Arash!
Mit der Zeile "Guid emailId = service.Create(email);" erstellst du eine neue Email.
In der Variablen "emailId" ist die Id dieser Email.Mit "reqSendEmail.EmailId = emailId" musst du diese Id dem SendEmailRequest - Object zuweisen.
Ich hoffe das bringt weiter. Andreas(a)Donaubauer.com www.crmfaq.de
- Marcado como respuesta A_DA jueves, 22 de marzo de 2012 13:02
-
jueves, 22 de marzo de 2012 13:03
Danke für die Hilfe,
jetzt kriegt er auch die Guid :-)
Gruß Arash Man braucht den Rat anderer nicht zu befolgen, damit sie sich gut fühlen. Es genügt, sie um Rat zu fragen.