CRM 2011: Javascript - Schreibschutz auf das Feld "estimatedvalue"

Answered CRM 2011: Javascript - Schreibschutz auf das Feld "estimatedvalue"

  • Thursday, 21 July, 2011 9:33 AM
     
      Has Code

    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, 22 July, 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, 5 August, 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, 4 October, 2011 4:23 PM
    Moderator
     
     

    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, 5 October, 2011 11:56 AM
     
     

    Nein, habe ich leider nicht!

     


    Viele Grüße Patrick Jähne
  • Wednesday, 5 October, 2011 2:32 PM
    Moderator
     
     

    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, 6 October, 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, 6 October, 2011 9:10 AM
    Moderator
     
     Answered

    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
  • Monday, 14 May, 2012 7:22 PM
     
     
    Hi, 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, 15 May, 2012 6:28 AM
    Moderator
     
     Answered

    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

  • Tuesday, 15 May, 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, 15 May, 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, 16 May, 2012 8:32 AM
     
     Answered

    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

  • Wednesday, 16 May, 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.