Benutzer mit den meisten Antworten
JavaScript Funktion - Datum setzen

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
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
- Bearbeitet Andreas Buchinger Dienstag, 24. Januar 2012 15:11
- Als Antwort markiert Michael Sulz Dienstag, 24. Januar 2012 18:37
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 -
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 -
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
-
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 -
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- Bearbeitet Andreas Buchinger Montag, 23. Januar 2012 21:19 Erweiterung
-
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...
-
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
- Bearbeitet Andreas Buchinger Dienstag, 24. Januar 2012 15:11
- Als Antwort markiert Michael Sulz Dienstag, 24. Januar 2012 18:37