1

Hoffe, dass jemand dabei helfen kann. Ich weiß, wie ein Feldwert auf einem Formular festgelegt wird, und es funktioniert auf eine Weise. Meine Abfrage ist um die Tatsache, dass es nur funktioniert, wenn ich diese Zeile unten in das Formular laden Ereignis als eine Zeile für sich.Das Setzen eines Dezimalwertes auf einem Formular funktioniert nicht immer - Dynamics CRM 2013

Xrm.Page.getAttribute('cal_entrynumber').setValue(1.01);

jedoch in Wirklichkeit brauche ich einige bedingten Kontrollen haben, bevor ich diesen Wert gesetzt und wenn ich diese Zeile in diese bedingten Kontrollen setzte, dann, was ich bemerken ist, dass die Textbox leer ist, aber wenn ich sehe Bei dem Wert in der Datenentität gibt es an, dass es den Wert 1,01 hat.

alert("No. in entity:" + Xrm.Page.data.entity.attributes.get('cal_entrynumber').getValue());

Also wollte ich wissen, ob jemand mir etwas genau bestimmen können, die möglicherweise die Ursache für diese hier sein könnte ... ist der Code, in dem die Leitung (und nicht funktioniert) sitzt.

var queryString = "?$select=cal_EntryNumber&$filter=cal_SafetyProgrammeNo eq '" + spNo + "'&top=1&$orderby=cal_EntryNumber desc"; 
SDK.REST.retrieveMultipleRecords(
    "cal_operation", 
    queryString, 
    function (results) { 
     //alert(results.length); 
     if (results.length == 0) { 
      //var entry = 1.01; 
      //alert("Entry No:" + Number(entry)); 
      Xrm.Page.getAttribute('cal_entrynumber').setValue(1.01); 

     } 
     else { 
      // Code to go here.        
     } 
    }, 
    errorHandler, 
    function() { 
     // OnComplete handler 
    } 
    ); 

Antwort

1

Ich habe, warum dies nicht funktioniert gefunden (auch wenn der Code korrekt ist) und ich bin Entsendung hier meine Antwort zu helfen jemand anderes, der das gleiche Problem haben könnte.

Das Feld Entry Number ruft den Fokus auf, wenn das Formular geladen wird und das Feld des Wertes (javascript set) geleert wurde. Ich habe das behoben, indem ich ein anderes Textfeldfeld als erstes Feld auf dem Formular anbrachte, und jetzt zeigt das Feld den JavaScript-Set-Wert an (es waren keine Codeänderungen erforderlich).

Ich vermute, das funktionierte, wenn ich den Code in das Formular laden Ereignis selbst, wie es synchron ausgeführt wird, aber wenn ich die gleiche Codezeile in RetrieveMultipleRecords Erfolg Callback-Funktion, wie dies asynchron läuft, stellt es dieses Problem. Hoffe, das hilft jedem anderen mit diesem Problem.

Verwandte Themen