CRM 2011: Javascript - Schreibschutz auf das Feld "estimatedvalue"
-
Thursday, July 21, 2011 9:33 AM
Hallo,
ich habe ein Javascript erstellt das auf einige Felder einen Schreibschutz legt wenn ein BIT-Feld einen bestimmten Wert hat.
Diese Script funktioniert soweit auch außer das, wenn ich eine VC erneut öffne das das Feld estimatedvalue nicht schreibgeschützt ist obwohl das BIT-Feld gesetzt ist. Alle weiteren Felder sind entsprechend Schreibgeschützt.
Ich vermute das dies damit zusammenhängt das diese Feld, ein Feld ist was man nicht aus dem Formular entfernt werden kann und Systemseitig benutzt wird
function Berechnung() { if (Xrm.Page.getAttribute("new_berechnung").getValue() != '0') { Xrm.Page.getControl("estimatedvalue").setDisabled(true); Xrm.Page.getAttribute("estimatedvalue").setSubmitMode('always'); Xrm.Page.getControl("estimatedclosedate").setDisabled(true); Xrm.Page.getAttribute("estimatedclosedate").setSubmitMode('always'); Xrm.Page.getControl("new_closeprobability").setDisabled(true); Xrm.Page.getAttribute("new_closeprobability").setSubmitMode('always'); } else { Xrm.Page.getControl("estimatedvalue").setDisabled(false); Xrm.Page.getAttribute("estimatedvalue").setSubmitMode('always'); Xrm.Page.getControl("estimatedclosedate").setDisabled(false); Xrm.Page.getAttribute("estimatedclosedate").setSubmitMode('always'); Xrm.Page.getControl("new_closeprobability").setDisabled(false); Xrm.Page.getAttribute("new_closeprobability").setSubmitMode('always'); } }
Hat jemand eine Idee wie ich diese Feld trotzdem beeinflußen kann?
Viele Grüße Patrick Jähne
All Replies
-
Friday, July 22, 2011 8:18 AM
Hallo Patrick,
Das Feld estimatedvalue ist vom Bit-Feld isrevenuesystemcalculated abhängig - wenn dieses Bit-Feld auf false steht, wird das Feld estimatedvalue freigeschalten. Da diese Funktionalität vom System kommt denke ich, dass diese Logik erst nach dem OnLoad läuft. Daher greift dein setDisable danach nicht mehr. Du könntest das Feld isrevenuesystemcalculated mit deinem Feld new_berechnung synchronisieren - somit sollte dann das estimatedvalue dementsprechend auch gesperrt sein.
Liebe Grüße,
Andreas
Andreas Buchinger
Microsoft Dynamics Certified Technology Specialist
MCPD: SharePoint Developer 2010 -
Friday, August 05, 2011 11:09 AM
Leider funktioniert dies nicht da der Wert des Feldes estimatedvalue dann druch das Bit-Feld isrevenuesystemcalculated gelöscht wird wenn man das Feld Feldes estimatedvalue vom System
berechnen lässt. Bei dieser CRM Installation System werden keine Produkte / Preislisten o.ä. benutzt da das Unternehmen Induviduallösungen mit unserschiedlichen gestallteten Preisen vertreibt.
Viele Grüße Patrick Jähne -
Tuesday, October 04, 2011 4:23 PMModerator
Hallo Patrick,
hast du mittlerweile eine Lösung gefunden?
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
-
Wednesday, October 05, 2011 11:56 AM
Nein, habe ich leider nicht!
Viele Grüße Patrick Jähne -
Wednesday, October 05, 2011 2:32 PMModerator
Hallo Patrick,
um was genau geht es dir denn? Den Schreibschutz zu aktivieren oder das Aktualisieren beim Öffnen des Datensatzes zu verhindern oder etwas anderes?
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
-
Thursday, October 06, 2011 7:22 AM
Wie beschrieben geht es mir um den Schreibschutz für das Feldes estimatedvalue. Dieser wird beim erneuten öffnen der VC nicht gesetzt.
Viele Grüße Patrick Jähne -
Thursday, October 06, 2011 9:10 AMModerator
Hast du es auch mal mit dem klassischen DISABLED Attribut auf HTML-Ebene versucht?
http://msdn.microsoft.com/en-us/library/ms533732(v=vs.85).aspx
Also selbst wenn du beides immer im OnLoad setzt, wird das Feld nicht für den Anwender schreibgeschützt?
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
- Marked As Answer by JuergenBeckModerator Friday, October 12, 2012 7:20 PM
-
Monday, May 14, 2012 7:22 PMHi, mich würde die Lösung auch interessieren. estimatedvalue soll bei uns aus 4 anderen Feldern berechnet werden und selber nicht editiert werden. Danke Henri
-
Tuesday, May 15, 2012 6:28 AMModerator
Hallo,
der Befehl zum Schreibschützen eines Feldes lautet:
Xrm.Page.getControl('Feldname').setDisabled(true);
Sonst siehe auch: http://michaelsulz.wordpress.com/2012/02/02/crm-2011-hilfreiche-javascript-codeschnippsel-version-3/
Viele Grüße
Michael Sulz
MVP für Microsoft Dynamics CRM
Blog
Website XING LinkedIn Facebook Twitter- Marked As Answer by JuergenBeckModerator Friday, October 12, 2012 7:20 PM
-
Tuesday, May 15, 2012 7:23 AM
Hi Michael,
ja, danke, is klar :-)
Geht aber bei diesem speziellen Feld nicht, da es nach dem FormLoad anscheinend durch irgendeine hintergrundaktion wieder enabled wieder (wohl entsprechend wie im System isrevenuesystemcalculated gesetzt wird).
Henri
-
Tuesday, May 15, 2012 3:03 PM
Bist du dir denn sicher, dass nach deiner Aktion der FormLoad überhaupt betreten wird?
Wenn ja, dann ruft deine Funktion einfach mit window.setInterval(<deineFunktion>, 3000); auf
Damit wird die Funktion alle 3 sekunden ausgeführt. Sollte das funktionieren kannst du ja das Intervall kürzerstellen und ggfs. mit window.clearInterval wieder abstellen.
Gruß
localh0rst
-
Wednesday, May 16, 2012 8:32 AM
Hallo Henri!
Kannst du das Feld isrevenuesystemcalculated umstellen?
Dann sollte die Funktion von Michael "Xrm.Page.getControl('Feldname').setDisabled(true);" funktionieren.
Ich hoffe das bringt weiter. Andreas(a)Donaubauer.com www.crmfaq.de
- Proposed As Answer by Andreas DonaubauerMicrosoft Community Contributor Wednesday, May 16, 2012 8:32 AM
- Marked As Answer by JuergenBeckModerator Friday, October 12, 2012 7:20 PM
-
Wednesday, May 16, 2012 10:04 AM
Hallo Henri,
poste doch einfach mal dein Skript.
Wenn Umsatz auf "Vom Benutzer angegeben" angeklickt ist, dann ist es auch problemlos möglich den Gesch. Umsatz auf disabled zu setzen, auch beim erneuten öffnen der Verkaufschance.