Plugin - Emailstatus auf gesendet ändern!

Respondida 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:36
    Moderador
     
      Tiene código

    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:47
    Moderador
     
     Respondida Tiene código

    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
     
     Respondida

    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.