none
LetterID Zugriff DynamicEntity???? RRS feed

  • Frage

  • Hallo zusammen,

     ich komme leider mal wieder nicht richtig weiter.

    Folgendes möchte ich gerne realisieren.

    Ich möchte gerne einen neuen Brief erstellen. In dem onSave() Ereignis von der Entität Brief rufe ich ein aspx Seite auf. In dem Code von der aspx Seite bräuchte ich jetzt aber die LetterID. Da die aber erst nachm speichern erstellt wird (wenn ich mich nicht ganz irre?!), dachte ich mir, dass man es vielleicht über DynamicEntity machen könnte.
    Kann man das denn überhaupt realisieren bzw. wie komme ich an die ID ran?

    Gruß
    Samstag, 3. Oktober 2009 12:48

Antworten

  • Hallo,

    ja das wäre doch mal eine schöne Schleife, solltest du also besser unterlassen :-)

    Meine Idee wäre es, nicht JavaScript sondern ein PlugIn zu verwenden. In diesem hast du die ID. AUch ein Workflow wäre möglich, dieser ist allerdings immer asynchron.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Donnerstag, 25. November 2010 06:45
    Montag, 5. Oktober 2009 07:18
  • Hallo Olli,

    im OnLoad kommst du natürlich an die ID heran, allerdings ist das Problem, dass man den Datensatz auch speichern kann, ohne dass er direkt danach erneut geöffnet wird. Es sei denn, du deaktivierst per JScript im OnLoad den Button für das "Speichern und Schließen".

    Viele Grüße,
    Jürgen
    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de
    Mittwoch, 6. Januar 2010 10:10
    Moderator

Alle Antworten

  • Hallo,

    auch bei Dynamic Entitys werden die IDs erst nach dem speichern erzeugt, das hilft dir also nicht weiter.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    Samstag, 3. Oktober 2009 17:24
  • Guten Morgen,

     gibts denn keinen anderen Weg, um an die ID ran zu kommen? Vielleicht wenn man in onSave() nochmal die Save() Methode aufruft?

    Gruß
    Montag, 5. Oktober 2009 06:38
  • Hallo,

    ja das wäre doch mal eine schöne Schleife, solltest du also besser unterlassen :-)

    Meine Idee wäre es, nicht JavaScript sondern ein PlugIn zu verwenden. In diesem hast du die ID. AUch ein Workflow wäre möglich, dieser ist allerdings immer asynchron.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Donnerstag, 25. November 2010 06:45
    Montag, 5. Oktober 2009 07:18
  • Hi,

    während des ersten OnSave() wurde der Datensatz noch nicht in der Datenbank angelegt. Wenn du es per clientseitigem Scripting lösen willst, dann kannst du frühestens im ersten OnLoad() auf die ID des Datensatzes zugreifen. Nach dem ersten Speicher wird das Fenster automatisch neu geladen, was auch ein OnLoad() zur Folge hat. Hier hast du dann auch Zugriff auf die ID.
    Montag, 5. Oktober 2009 07:28
  • Hi,

    irgnedwie habe ich da jetzt ein kleines Verständisproblem. Über ein Plugin komm ich an die ID ran, dass kann ich nachvollziehen. Also müsste ich ein Plugin schreiben, dass mir die Entität Brief speichert. Dadurch habe ich ja dann die Guid von der Entität. Kann ich dann von der Scriptseite auf die Guid zugreifen? Was läuft denn zuerst? Erst das Plugin und dann der Code Clientseitig? Wie müsste ich dann das Plugin registrieren? Ich habe ja dieses Plugin registrierungstool,leider werde ich da nicht ganz so schlau draus.

    Hi ckeller,

     ich habe momentan folgenden code im onSave() Ereignis

    var server = SERVER_URL;
    var s = crmForm.all.bmww_vorlageid.DataValue[0].id;
    var kontakt = crmForm.all.to.DataValue[0].id;
    window.open("http://localhost:1863/OpenDocument/default.aspx?id="+s+"&idcontact="+ kontakt);

    MIt dem komme ich ja leider nicht sehr weit, wenn ich jetzt diese Zeile noch mit einbinden, habe ich ja noch nicht die id.

    var i = crmForm.ObjectId;

    Verstehe ich es jetzt richtig wenn ich z. B. diesen Code in onLoad() schreiben

    var idLetter = crmForm.ObjectId;
    if(!idletter null)
    {
    var server = SERVER_URL;

    var s = crmForm.all.bmww_vorlageid.DataValue[0].id;
    var kontakt = crmForm.all.to.DataValue[0].id;
    window.open("http://localhost:1863/OpenDocument/default.aspx?id="+s+"&idcontact="+ kontakt+"&letterid="+idletter);
    }

    Müsste ich doch zugriff auf die ID haben oder?

    Gruß Olli
    Montag, 5. Oktober 2009 07:57
  • Hallo Olli,

    im OnLoad kommst du natürlich an die ID heran, allerdings ist das Problem, dass man den Datensatz auch speichern kann, ohne dass er direkt danach erneut geöffnet wird. Es sei denn, du deaktivierst per JScript im OnLoad den Button für das "Speichern und Schließen".

    Viele Grüße,
    Jürgen
    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de
    Mittwoch, 6. Januar 2010 10:10
    Moderator