CRM 2011: Javascript - Schreibschutz auf das Feld "estimatedvalue"
-
Donnerstag, 21. Juli 2011 09:33
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
Alle Antworten
-
Freitag, 22. Juli 2011 08:18
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 -
Freitag, 5. August 2011 11:09
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 -
Dienstag, 4. Oktober 2011 16:23Moderator
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
-
Mittwoch, 5. Oktober 2011 11:56
Nein, habe ich leider nicht!
Viele Grüße Patrick Jähne -
Mittwoch, 5. Oktober 2011 14:32Moderator
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
-
Donnerstag, 6. Oktober 2011 07:22
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 -
Donnerstag, 6. Oktober 2011 09:10Moderator
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
- Als Antwort markiert JuergenBeckModerator Freitag, 12. Oktober 2012 19:20
-
Montag, 14. Mai 2012 19:22Hi, 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
-
Dienstag, 15. Mai 2012 06:28Moderator
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- Als Antwort markiert JuergenBeckModerator Freitag, 12. Oktober 2012 19:20
-
Dienstag, 15. Mai 2012 07:23
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
-
Dienstag, 15. Mai 2012 15:03
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
-
Mittwoch, 16. Mai 2012 08:32
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
- Als Antwort vorgeschlagen Andreas DonaubauerMicrosoft Community Contributor Mittwoch, 16. Mai 2012 08:32
- Als Antwort markiert JuergenBeckModerator Freitag, 12. Oktober 2012 19:20
-
Mittwoch, 16. Mai 2012 10:04
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.