Fehlermeldung Onload nach Umstellung auf IE 11

4. Mai 2015 14:51

Guten Tag,
nach der Umstellung auf IE11 bekomme ich beim Aufruf des Formulars Kontakt eine Fehlermeldung mit folgendem Text:
Fehler im benutzerdefinierten Ereignis dieses Felds.
Feld:window
Ereignis:onload
Fehler: Das Objekt unterstützt die Eigenschaft oder Methode"selectSingleNode" nicht.

Ich konnte die "fehlerhafte" onload Funktion lokalisieren.
Folgendes Script verursacht die Fehlermeldung.
Damit überschreiben wir die Adresse des Kontakts mit den der Firma.
function RetrieveAccountAddressInfo() {

function CheckAndFillAddressFields(result) {
if (typeof (result[0].attributes.address1_city) != "undefined") {
Xrm.Page.getAttribute('address1_city').setValue(result[0].attributes.address1_city.value);
}
if (typeof (result[0].attributes.address1_line1) != "undefined") {
Xrm.Page.getAttribute('address1_line1').setValue(result[0].attributes.address1_line1.value);
}
if (typeof (result[0].attributes.address1_line2) != "undefined") {
Xrm.Page.getAttribute('address1_line2').setValue(result[0].attributes.address1_line2.value);
}
if (typeof (result[0].attributes.address1_line3) != "undefined") {
Xrm.Page.getAttribute('address1_line3').setValue(result[0].attributes.address1_line3.value);
}
if (typeof (result[0].attributes.address1_postalcode) != "undefined") {
Xrm.Page.getAttribute('address1_postalcode').setValue(result[0].attributes.address1_postalcode.value);
}
if (typeof (result[0].attributes.address1_stateorprovince) != "undefined") {
Xrm.Page.getAttribute('address1_stateorprovince').setValue(result[0].attributes.address1_stateorprovince.value);
}

if (typeof (result[0].attributes.vl_land_liste_firma) != "undefined") {
Xrm.Page.getAttribute('vl_land_liste').setValue(result[0].attributes.vl_land_liste_firma.value);
}


Xrm.Page.getAttribute("vl_land_liste").fireOnChange();

}

// only try to retrieve data, if the field is not empty
var account = Xrm.Page.getAttribute('parentcustomerid').getValue();
if (account != null) {
var accountId = account[0].id;
var fetchXML = '<fetch mapping="logical" version="1.0">' +
'<entity name="account">' +
'<attribute name="address1_city" />' +
'<attribute name="address1_line1" />' +
'<attribute name="address1_line2" />' +
'<attribute name="address1_line3" />' +
'<attribute name="address1_postalcode" />' +
'<attribute name="address1_stateorprovince" />' +
//'<attribute name="address1_country" />' +
'<attribute name="vl_land_liste_firma" />' +
'<attribute name="name" />' +

'<attribute name="telephone1" />' +
'<attribute name="emailaddress1" />' +
'<filter>' +
'<condition attribute="accountid" operator="eq" value="' + accountId + '" />' +
'</filter>' +
'</entity>' +
'</fetch>';



var serverUrl = Xrm.Page.context.getServerUrl();
var oService = new FetchUtil("", serverUrl);
var result = oService.Fetch(fetchXML);


CheckAndFillAddressFields(result);

Hat jemand eine Idee?
Vielen Dank und schöne Grüße
Frank

Re: Fehlermeldung Onload nach Umstellung auf IE 11

5. Mai 2015 08:15

Hallo Frank,

das sieht für mich sehr danach aus, das ein JavaScript noch nicht geladen ist, wenn seine Funktion aufgerufen wird.
Habt ihr alle benötigten JavaScripte in einer Bibliothek oder in mehreren?

Re: Fehlermeldung Onload nach Umstellung auf IE 11

5. Mai 2015 10:47

Hallo Michael,
in 8 Formularbibliotheken.
Gruß Frank

Re: Fehlermeldung Onload nach Umstellung auf IE 11

5. Mai 2015 11:17

Hallo Frank,

welches Update Rollup habt ihr eingespielt?
Es gab ein UR (oder mehrere), bei dem man die Reihenfolge explizit definieren musste, in welcher Reihenfolge die Skripte geladen werden.

Re: Fehlermeldung Onload nach Umstellung auf IE 11

6. Mai 2015 08:01

Hallo Dirk,
Rollup 14.
Gruß Frank

Re: Fehlermeldung Onload nach Umstellung auf IE 11

6. Mai 2015 08:28

Hallo Frank,

seit dem RU11 werden die JavaScripte in CRM 2011 asynchron geladen. Selbst wenn du die Reihenfolge im OnLoad festlegst kannst du nicht sicher sein, das alle Scripte schon geladen sind, wenn du deine Funktion ausführst.

Mit RU16 wurde dieses von Microsoft korrigiert, du musst also mindestens auf RU16 updaten, um das Problem zu beheben.