none
Wie ergänze ich einen Datensatz? RRS feed

  • Frage

  • Hi.

    Ich kann nun Datensätze über den WebService erstellen,
    doch wie kann ich einen Datensatz aktualisieren?
    Ich kann einen bestimmten Datensatz herausfiltern anhand einer ID,
    und nun möchte ich z.B. den Namen ändern und wieder abspeichern.

    Wie mache ich das ohne gleich einen neuen Datensatz zu erstellen?

    Vielen Dank
    Montag, 4. Januar 2010 14:13

Antworten

  • entity = new DynamicEntity();

    entity.name = "account";

    entity["accountid"] = new Key(new Guid("Guid der account entity"));

    entity["new_kundennr"] = "123-456"; // sofern das ein String ist

    crmservice.Update(entity)
    Danke. Passt genau.

    Dann müsste es doch auch eine direkt crmservice-Methode geben, welche einen neuen Datensatz speichert.
    Also ohne Execute sondern könnte ich nicht z.B. ganz simpel einen neuen Satz so erstellen?
    entity = new DynamicEntity();

    entity.name = "account";

    //entity["accountid"] = new Key(new Guid("Guid der account entity"));

    entity["new_kundennr"] = "123-456"; // sofern das ein String ist
    entity["address1_line1"] = "Peter";
    //usw.

    crmservice.Create(entity)
    Würde das nicht auch irgendwie gehen?
    Dienstag, 5. Januar 2010 13:42

Alle Antworten

  • Hallo,

    dazu gibt es im SDK diverse Beispiele, siehe:
    http://msdn.microsoft.com/en-us/library/cc151183.aspx
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    Montag, 4. Januar 2010 14:19
  • Hi,

    das geht über die Message Update [1] oder direkt über die Methode Update des Webservices [2]

    [1] http://msdn.microsoft.com/de-de/library/bb890239(en-us).aspx
    [2] http://msdn.microsoft.com/de-de/library/bb929003(en-us).aspx
    Montag, 4. Januar 2010 15:15
  • Super, vielen Dank für die schnellen Antworten.
    Hat mir sehr geholfen.

    Schönen Tag wünsch ich euch :-)
    Dienstag, 5. Januar 2010 10:01
  • Was mache ich jedoch, wenn ich eine dynamic Entity ändern will wie z.B. meine alt bekannte "new_kundennr", welche
    in der ExtensionBase, also zusätzlich im CRM erstellt wurde?
    Diese kann ich nicht auswählen wie z.B.

    account.address1_line1 = "test";

    Jemand eine Idee?
    Danke
    Dienstag, 5. Januar 2010 10:22
  • Hallo CRMMorpheus,

    das hängt in jedem Falle davon ab, wie du auf das CRM zugreifst. Ich persönlich greife praktisch immer über die Dlls aus dem SDK und üblicherweise über die DynamicEntity auf das CRM zu. Sobald du eine DynamicEntity geladen hast, kannst du dann sehr einfach auf das entsprechend Attribut zugreifen um bspw. einen Datensatz zu ändern.

    DynamicEntity entity = new DynamicEntity();
    entity.name = "account";
    entity["accountid"] = new Key(new Guid("Guid der account entity"));
    entity["new_kundennr"] = "123-456"; // sofern das ein String ist
    crmservice.Update(entity);
    Ich habe das jetzt mal so runtergetippt und hoffe, das ich kein Tippfehler gemacht habe oder etwas vergessen habe. Aber so einfach ist es letztlich.

    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
    Dienstag, 5. Januar 2010 13:07
    Moderator
  • entity = new DynamicEntity();

    entity.name = "account";

    entity["accountid"] = new Key(new Guid("Guid der account entity"));

    entity["new_kundennr"] = "123-456"; // sofern das ein String ist

    crmservice.Update(entity)
    Danke. Passt genau.

    Dann müsste es doch auch eine direkt crmservice-Methode geben, welche einen neuen Datensatz speichert.
    Also ohne Execute sondern könnte ich nicht z.B. ganz simpel einen neuen Satz so erstellen?
    entity = new DynamicEntity();

    entity.name = "account";

    //entity["accountid"] = new Key(new Guid("Guid der account entity"));

    entity["new_kundennr"] = "123-456"; // sofern das ein String ist
    entity["address1_line1"] = "Peter";
    //usw.

    crmservice.Create(entity)
    Würde das nicht auch irgendwie gehen?
    Dienstag, 5. Januar 2010 13:42
  • Ja es geht auch so.
    Warum habe ich mich dann vorher Tagelang mit unzähligen Zeilen Code rumgeschlagen?
    Danke dir, du hast mich und damit meinen Chef soeben sehr glücklich gemacht mit den einfachsten Dingen :-)

    Schönen Tag noch
    Dienstag, 5. Januar 2010 13:45
  • Gern geschehen. :-)

    Warum diese einfache Syntax nicht im SDK beschrieben ist, entzieht sich auch meiner Kenntnis.

    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