2017-09-21 2 views
0

Hintergrundkann nicht auf den eingestellten Wert, um benutzerdefinierte Feld Dynamics 365

  • ich ein benutzerdefiniertes Feld in Dynamics 365 new_statecode Namen geschaffen haben.
  • Ich verwende eine HTML-Webresource, um Eingaben vom Benutzer zu erhalten, die ich später an das oben erwähnte benutzerdefinierte Feld übergeben möchte.

    <input id="statecode" type="text" placeholder="">

  • Ich habe einen Java-Skript geschrieben vom Benutzer eingegebenen Wert zu erhalten und den Wert im benutzerdefinierten Feld gesetzt.

Dies ist der Code für das Skript.

document.getElementById("submitButton").addEventListener("click", function (event) { 
    var strstatecode = document.getElementById("statecode").value; 
    window.parent.Xrm.Page.data.entity.attributes.get("new_statecode").setValue(strstatecode); 
}); 

Das Problem

Dies ist der Fehler, den ich in der Konsole immer bin.

Unable to get property 'setValue' of undefined or null reference 

ich einen ähnlichen Fehler, wenn getValue Eigenschaft verwenden zu versuchen.

Offenbar ist dies ein sehr häufiges Problem, aber keine der anderen Lösungen funktioniert für mich.

Was ich

  • ich bisher habe here, sah here, here und Tonnen von anderen Beiträge geleistet haben.

  • Ich habe die benutzerdefinierten Feldnamen überprüft. Es gibt keinen Tippfehler oder Rechtschreibfehler.

  • Ich habe versucht, mit window.parent.Xrm.Page.getAttribute("new_statecode").setValue(strstatecode);

  • Ich habe versucht, ein neues benutzerdefiniertes Feld zu schaffen und versuchte, den Wert zu setzen. Das hat auch nicht funktioniert. Es gibt denselben Fehler.

Note1: Ich denke, es ist erwähnenswert, dass der Code, den ich geschrieben habe wurde bearbeitet und gekürzt von SO die mcve Standards entsprechen. In meiner HTML-WebResource gibt es 6 weitere Eingaben (Adresse, Stadt usw.), und ich kann die Daten erfolgreich in ihren entsprechenden Feldern in CRM speichern. Der einzige Unterschied ist, dass dies keine benutzerdefinierten Felder sind.

Hinweis2: Ich verwende Dynamics 365 Version 1612 (8.2.1.410).

Wie behebe ich dieses Problem? Gibt es noch etwas, das ich mir ansehen sollte? Vielleicht etwas, auf das ich beim Erstellen dieses benutzerdefinierten Felds geachtet haben sollte?

meinen Mangel an Wissen in CRM-Jargon Verzeihen.

+0

Fügen Sie '' in Ihre Webressource ein? Was passiert als Test, wenn Sie den Wert dem benutzerdefinierten Feld aus einer regulären JavaScript-Bibliothek und nicht aus einer Webressource zuweisen? – Aron

+0

TBH habe ich nicht. Aber jetzt habe ich es eingefügt, drücken Sie speichern und dann veröffentlichen (mache ich das richtig?). Immer noch keine Veränderung. Gleicher Fehler –

+0

Ja, nach der Aktualisierung wird das Speichern und Veröffentlichen aktiviert. Natürlich müssen Sie auch den Browser aktualisieren, und als zusätzliche Maßnahme können Sie ohne den Cache in bestimmten Browsern mit STRG-F5 aktualisieren oder den Cache leeren und dann aktualisieren. – Aron

Antwort

4

Ein Attribut/Feld muss in einem Formular vorhanden sein, um von Xrm.Page.getAttribute(attributeName) erreichbar zu sein.

Es kann jedoch ausgeblendet werden oder in einem ausgeblendeten Abschnitt oder einer Registerkarte platziert werden.

Verwandte Themen