Plugin - Emailstatus auf gesendet ändern!

已答复 Plugin - Emailstatus auf gesendet ändern!

  • 2012년 3월 21일 수요일 오후 1: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.

모든 응답

  • 2012년 3월 21일 수요일 오후 3:36
    중재자
     
      코드 있음

    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

  • 2012년 3월 22일 목요일 오전 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.

  • 2012년 3월 22일 목요일 오전 11:47
    중재자
     
     답변됨 코드 있음

    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

    • 답변으로 표시됨 A_DA 2012년 3월 22일 목요일 오후 1:02
    •  
  • 2012년 3월 22일 목요일 오전 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

    • 답변으로 표시됨 A_DA 2012년 3월 22일 목요일 오후 1:02
    •  
  • 2012년 3월 22일 목요일 오후 1: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.