none
JavaScript Funktion - Datum setzen RRS feed

  • Frage

  • Hallo zusammen,

     

    ich habe folgende Problemstellung: Ich habe im Lead ein Feld angelegt, dass mit dem speichern des Leads, dass Datum in diesem aktualisieren soll.

     

    Dazu habe ich in den Formularbibliotheken eine Funktion hinterlegt, welche mit OnSave gestartet wird.

    Allerdings funktioniert die Methode nicht:

    function Datum()
    {

    Xrm.Page.getAttribute("new_letztequalifizierung").setValue(new Date());

    }

     

    Auch mit "sehr ähnlichen" Methoden bekommen ich es nicht hin.... habt Ihr einen Tip? 

     

    Danke im Voraus, Stefan

     

     

     

     

    Montag, 23. Januar 2012 14:36

Antworten

  • Hallo Stefan,

    Nicht:

    Xrm.Page.getAttribute('new_letztequalifizierung').setValue('datum1');
    

    Sondern:

    Xrm.Page.getAttribute('new_letztequalifizierung').setValue(datum1);
    

    Die Hochkomma musst du weglassen, da du keinen String sondern den Wert der Variablen zuweisen willst! Und ich bleibe trotzdem dabei: Die Zuweisung in eine Variable ist nicht notwendig, ich habe die Funktion auf einem meiner Testsystem ohne Zuweisung ausprobiert.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010

    Dienstag, 24. Januar 2012 15:09

Alle Antworten

  • Hallo Stefan, da Du im OnSave Modus arbeitest und Du vor dem eigentlichen Speichern noch Deinen Wert verändert haben möchtest, solltest Du mit

    Xrm.Page.getAttribute("new_letztequalifierzierung").setSubmitMode("always");

    erlauben, dass in jedem Fall der Wert in das DB-Feld eingetragen wird. Vorausgesetzt Du sprichst Deine Funktion korrekt an, sollte es damit eigentlich funktionieren.

    Gruß


    Carsten Groth http://carstengroth.wordpress.com Microsoft Certified Technology Specialist
    Montag, 23. Januar 2012 15:02
  • Hallo Stefan,

    Die von dir geschriebene Funktion sollte auf jeden Fall so funktionieren. Wenn das Feld auf dem Formular gesperrt, also read-only ist, musst du noch die von Carsten beschriebene Zeile einfügen um die programmatische Änderung in der DB zu persistieren. Wenn es dann immer noch nicht funktioniert würde ich mit dem alert('...')-Befehl mal testen, ob die Funktion überhaupt aufgerufen wird.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    Montag, 23. Januar 2012 18:54
  • Hallo, danke für eure Antworten.

    Ich bekomme aber folgende Fehlermeldung:

    "Fehler im benutzerdefinierten Ereignis dieses Feldes.

    Feld:new_letztequalifizierung

    Ereignis:onchange

    Fehler:Der Wert der Eigenschaft "datum" ist Null oder undefiniert, kein Function-Objekt"

     

    Onchage übrigens deswegen, weil ich es mal "so" ausprobieren wollte -> klappt nur leider auch nicht. Handelt sich übrigens um das aktuelle CRM.

    Das Feld new_letztequalifizierung, erwartet ein Datum.

    Mir fällt nichts mehr ein, hoffe einer von euch hat noch eine Idee.

     

    Danke im Voraus, Stefan

     

    Montag, 23. Januar 2012 19:26
  • Hallo Stefan,

    ich hatte ein ähnliches Problem beim setzen und speichern des Datums siehe hier  Ich konnte das Problem erst lösen nachdem ich die Variable definiert hatte.  

     


    Viele Grüße Patrick Jähne
    Montag, 23. Januar 2012 20:26
  • Hallo Stefan,

    Die Fehlermeldung kann auf keinen Fall mit deiner obigen Funktion übereinstimmen: In deiner Funktion oben gibt es keinen Wert-, Eigenschafts-, oder Methoden-Aufruf mit "datum". Bitte kontrolliere nochmal alle Aufrufe zu diesem Event bzw. den eigentlich Funktionstext von "Datum"...

    Bedenke bei deinen Kontrollen auch, dass JScript Case-Sensitive ist, d.h. datum != Datum!

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    Montag, 23. Januar 2012 21:18
  • Hallo Stefan!

    Patrick hat Recht. Du musst das Datum erst in einer Variablen definieren.


    Ich hoffe das bringt weiter. Andreas(a)Donaubauer.com www.crmfaq.de
    Dienstag, 24. Januar 2012 08:16
  • Hallo,

    danke für eure Hilfe. Leider klappt es immer noch nicht! :(

    Letzter Stand:

    function Datum()

    {

    var datum1 = new Date();

    Xrm.Page.getAttribute('new_letztequalifizierung').setValue('datum1');

    var test = Xrm.Page.getAttribute('new_letztequalifizierung').getValue();

    alert(test);

    }

     

    Das Feld bleibt jetzt leer und alert gibt mir als Wert nun "null" an...

    Dienstag, 24. Januar 2012 15:04
  • Hallo Stefan,

    Nicht:

    Xrm.Page.getAttribute('new_letztequalifizierung').setValue('datum1');
    

    Sondern:

    Xrm.Page.getAttribute('new_letztequalifizierung').setValue(datum1);
    

    Die Hochkomma musst du weglassen, da du keinen String sondern den Wert der Variablen zuweisen willst! Und ich bleibe trotzdem dabei: Die Zuweisung in eine Variable ist nicht notwendig, ich habe die Funktion auf einem meiner Testsystem ohne Zuweisung ausprobiert.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010

    Dienstag, 24. Januar 2012 15:09