[gelöst]getEventArgs undefiniert oder null?

Bild Microsoft Dynamics CRM 2013

[gelöst]getEventArgs undefiniert oder null?

Beitragvon airliner » 11. Juli 2016 10:16

Ich sehe den Wald vor lauter Bäumen nicht mehr. Es gibt eine neue kleine Anforderung, dass das Speichern bitte unterbunden werden soll, wenn in bestimmten Feldern mehr als zwei Ziffern vorkommen (damit dort nicht u.a. Telefonnummern oder Adressen geschrieben werden).
Da ich noch ein Skript zur Formüberprüfung der Telefonnummern meines Vorgängers liegen habe, sollten die Anpassungen ja nur halb so wild sein. Habe ich gedacht. Zum Vergleich: Als erstes der Code zum Telefonnummernformat (das funktioniert), danach mein angepasster Code (wirft den Fehler "Die Eigenschaft getEventArgs eines undefinierten oder Nullverweises kann nicht abgerufen werden").

Code: Alles auswählen
function TelFormatCheck(executionObj) {

/*===========================THEMA: TELEFONNUMMERN-Format-Check==========================*/

TelefonnummerCheck("telephone1",executionObj);
TelefonnummerCheck("telephone2",executionObj);
TelefonnummerCheck("telephone3",executionObj);
TelefonnummerCheck("fax",executionObj);
}
/*------------------------------------------------------------------------------------------------------------*/
function TelefonnummerCheck(Feld,executionObj)
{
var tel = Xrm.Page.data.entity.attributes.get(Feld);

switch (Feld) {
    case "telephone1": var AnzText="Telefon 1";
                             break;
    case "telephone2": var AnzText="Telefon 2";
                              break;
    //case "telephone3": var AnzText="Telefon 3";
                              //break;
    case "fax": var AnzText="Fax";
                              break;
                    }         

/* Regular expression*/
var regEx=/^\+[0-9]{1,4} \([0-9]{1,9}\) [0-9]{1,9}\-?[0-9]{1,9}$/;
var tel_inhalt = tel.getValue();         
if (tel_inhalt != null)
           {
           if (tel_inhalt.search(regEx) == -1)
                                        {
                              
                                       alert(AnzText+":ungĂĽltiges Format\n------------------------------\ngĂĽltige Formate:\n+49 (385) 123456789 oder\n+49 (385) 123456789-123456789\n-------------------------\nSpeichern nicht möglich!");
                                       /*executionObj ist nur ungleich null, wenn onsave ausgefĂĽhrt wurde.
                              wenn onchange ausgefĂĽhrt wird, darf exec.. nicht ausgefĂĽhrt werden. */
                              if (executionObj.getEventArgs() != null)
                                 {
                                 // Datensatz wird nicht gespeichert; onsave wird abgebrochen
                                 executionObj.getEventArgs().preventDefault();
                                 //event.returnValue=false;
                                 //return false;
                                 //Xrm.Page.getControl(Feld).setFocus();
                                 }
                               }                                       
            else {
                   //alert(Feld+":OK");
                   }
           }
}


Code: Alles auswählen
function NamenFormatCheck(executionObj) {

NamenCheck("rz_bezeichnung",executionObj);
NamenCheck("name",executionObj);
NamenCheck("rz_name2",executionObj);
NamenCheck("rz_name3",executionObj);
NamenCheck("rz_name4",executionObj);
}
/*------------------------------------------------------------------------------------------------------------*/
function NamenCheck(Feld,executionObj)
{
var namen = Xrm.Page.data.entity.attributes.get(Feld);
switch (Feld) {
    case "rz_bezeichnung": var AnzText="Bezeichnung";
                             break;
    case "name": var AnzText="Firmenname";
                              break;
    case "rz_name2": var AnzText="Name2";
                              break;
    case "rz_name3": var AnzText="name3";
                              break;
   case "rz_name4": var AnzText="name4";
                              break;
                    }

/* Regular expression*/
var regEx=/^[0-9]{3,}$/;
var namen_text = namen.getValue();
if (namen_text != null)
   {
      if (namen_text.search(regEx) == -1)
        {
         alert(AnzText+":ungĂĽltiges Format\n------------------------------\nMehr als zwei Ziffern sind hier nicht erlaubt\n-------------------------\nSpeichern nicht möglich!");
         if (executionObj.getEventArgs() != null)
            {
            // Datensatz wird nicht gespeichert; onsave wird abgebrochen
            executionObj.getEventArgs().preventDefault();
            //event.returnValue=false;
            //return false;
            //Xrm.Page.getControl(Feld).setFocus();
            }
      }
      else{
      //Irgendwas zum Abfange
      }
   }                                       
}


Geladen werden jeweils die FormatCheck-Funktionen beim OnSave-Event des Forms.
Wo ĂĽbersehe ich etwas? Das Vorgehen ist doch identisch, nur dass ich andere Felder zum Vergleich mit der RegEx verwende, oder nicht?
Zuletzt geändert von airliner am 12. Juli 2016 13:17, insgesamt 1-mal geändert.
airliner
 
Beiträge: 106
Registriert: 10. März 2015 14:48
Arbeitsort: Hamburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 2011, 2013, Online

Re: getEventArgs undefiniert oder null?

Beitragvon Michael Sulz » 12. Juli 2016 08:12

Hallo,

haben die Felder alle den gleichen Datentyp oder sind diese unterschiedlich?
GruĂź, Michael Sulz
Mein Blog
Xing LinkedIn Facebook Twitter

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.

Wie man Fragen richtig stellt
Benutzeravatar
Michael Sulz
Microsoft Partner
Microsoft Partner
 
Beiträge: 4939
Registriert: 9. September 2009 17:41
Wohnort: MĂĽnster
Realer Name: Michael Sulz
Arbeitsort: MĂĽnster
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics CRM

Re: getEventArgs undefiniert oder null?

Beitragvon airliner » 12. Juli 2016 09:17

Die sind alle gleich: Einzelne Textzeile.
airliner
 
Beiträge: 106
Registriert: 10. März 2015 14:48
Arbeitsort: Hamburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 2011, 2013, Online

Re: getEventArgs undefiniert oder null?

Beitragvon Roxxinger » 12. Juli 2016 10:36

Hast du den Haken fĂĽr den executioncontext gesetzt?
execontext.png
Roxxinger
 
Beiträge: 239
Registriert: 1. Juni 2010 14:33
Realer Name: Jan
Bezug zu Microsoft Dynamics: Freiberufler
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 2011, 4.0

Re: getEventArgs undefiniert oder null?

Beitragvon airliner » 12. Juli 2016 13:17

:oops: :roll: Wir brauchen noch einen Smiley, der sich mit überhöhter Geschwindigkeit an die Stirn fasst.
Das war der Fehler, danke Roxxinger! Jetzt muss ich nur noch die RegEx richtig hinbiegen, dass die auch nur dann anschlägt, wenn sie es soll.
airliner
 
Beiträge: 106
Registriert: 10. März 2015 14:48
Arbeitsort: Hamburg
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 2011, 2013, Online


ZurĂĽck zu CRM 2013

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast