[gelöst] Webressource in Angebotsprodukt kann kein getSrc

7. September 2015 14:46

Hallo zusammen,

ich habe ein seltsames Problem und hoffe ihr könnt mir helfen. In den Verkaufchanceprodukten habe ich eine Webressource (HTML) auf dem Formular eingebunden. Diese Webressource ist ein WYSIWYG Editor (TinyMCE). Was ich dort eingebe wird über JavaScript in meinem eigentlichen Beschreibungsfeld im HTML Format abgelegt. Beim Verkaufschance Produkt funktioniert das ganze wunderbar. Um den Text im WYSIWYG beim neu laden anzupassen wird folgender JS Code ausgeführt:
Code:
Xrm.Page.getControl("WebResource_TinyMCE_deutsch").setSrc(Xrm.Page.getControl("WebResource_TinyMCE_deutsch").getSrc());
Xrm.Page.getControl("WebResource_TinyMCE_fremdsprache").setSrc(Xrm.Page.getControl("WebResource_TinyMCE_fremdsprache").getSrc());

Funktioniert hier wunderbar. Im Angebotsprodukt gibt es die gleiche Webressource (HTML) auf dem Formular und es wird der gleiche JS Code aufgerufen. Hier kommt dann aber die Fehlermeldung
Das Object unterstützt die Eigenschaft oder Methode "getSrc" nicht.


Ich verstehe nicht was hier schief läuft es ist ja in beiden Formularen dasselbe und im einen funktioniert es im anderen nicht. :shock:

Kann es daran liegen das das Angebotsprodukt Formular noch in der alten CRM 2011 Optik ist? Funktioniert da die neue Syntax nicht? (Ich versteh sowieso nicht wieso man über zwei Versionen immernoch bei zwei drei Entitäten die alte Formularoptik mitschleift. Macht die Akzeptanz bei den Usern nicht gerade besser :()
Zuletzt geändert von Nicole Schmitz am 15. September 2015 11:21, insgesamt 1-mal geändert.

Re: Webressource in Angebotsprodukt kann kein getSrc

8. September 2015 08:21

Hallo Nicole,

der JavaScript Code sollte in beiden Formularen funktionieren.
Bist du sicher, das beim aufrufen der Webressource diese auch schon geladen ist?
Webressourcen werden im Formular asynchron geladen und du musst prüfen, ob es deine Webressource schon gibt.

Re: Webressource in Angebotsprodukt kann kein getSrc

8. September 2015 13:38

Hallo Michael,

das ganze passiert beim onchange Event der productid. Das heißt erst wenn ich das Produkt im Angebotsprodukt verändere wird dieser Code ausgelöst. Spätestens zu diesem Zeitpunkt sollte die Webressource ja geladen sein. Zumal ich sie ja auch sehe der TinyMCE wird ja angezeigt bevor ich das Produkt wechsle und so den Code auslöse? Ich stehe einfach nur vor einem Rätsel :(

Re: Webressource in Angebotsprodukt kann kein getSrc

9. September 2015 12:22

Hat das noch keiner gehabt diese Problematik? Ich komm einfach nicht weiter. Der ganze Quellcode der aufgerufen wird sobald im geöffneten Angebotsprodukt Formular das Produkt ändert ist folgender:
Code:
var productField = Xrm.Page.getAttribute(productIdField).getValue();
    if(productField != null){ debugger
        var productId = productField[0].id;
            if(typeof productId != 'undefined' && productId != null){
            // 20130904 avit merging to odata
            var result = GetAttributeValueWithOData("/ProductSet?$select=OPD_html_description_de,OPD_html_description_en&$filter=ProductId eq guid'" + productId + "'");
            if(typeof result == 'undefined' || result == null){
                // Testen?
                alert('Error: ProduktBeschreibung WYSISWIG ist null oder undefined');
            }
            if(result.OPD_html_description_de != null){
                Xrm.Page.getAttribute("opd_html_description_de").setValue(removeNL(result.OPD_html_description_de));               
            }
            if(result.OPD_html_description_en != null){
                Xrm.Page.getAttribute("opd_html_description_en").setValue(removeNL(result.OPD_html_description_en));               
            }
            Xrm.Page.getControl("WebResource_TinyMCE_deutsch").setSrc(Xrm.Page.getControl("WebResource_TinyMCE_deutsch").getSrc());
            Xrm.Page.getControl("WebResource_TinyMCE_fremdsprache").setSrc(Xrm.Page.getControl("WebResource_TinyMCE_fremdsprache").getSrc());
        }
    }

wenn ich im Debugger vor der entscheidenden Stelle Xrm.Page.getControl("WebResource_TinyMCE_deutsch").setSrc(Xrm.Page.getControl("WebResource_TinyMCE_deutsch").getSrc()); nur den Teil Xrm.Page.getControl("WebResource_TinyMCE_deutsch") in der Überwachung zufüge wird mir auch angezeigt das er da ein Webressource Objekt drin hat. Da ist es also.

Re: Webressource in Angebotsprodukt kann kein getSrc

9. September 2015 13:16

Hi ich hab noch nie mit TinyMCE gearbeitet, aber bin mal für 2015 und setsrc/getsrc auf diesen Artikel gestoßen:
https://carstengroth.wordpress.com/2015 ... gewusst-5/
Vielleicht hilft das ja.

Re: Webressource in Angebotsprodukt kann kein getSrc

9. September 2015 13:47

Hallo Roxxinger,

danke für den Link, aber leider hilft mir das nicht. das getSrc an sich funktioniert ja schon nicht. So als würde eine Webressource auf dem Alten Formular einfach den Befehl getSrc nicht kennen. Ich weiß nur auch keinen alternativen Befehl der helfen könnte.
Hat sonst noch jemand eine Idee?

Re: Webressource in Angebotsprodukt kann kein getSrc

10. September 2015 11:23

Hallo zusammen,

da ich meiner Lösung immer noch nicht näher gekommen bin habe ich mal eine Stinknormale index.html in der neben dem Standard HTML Gerüst nur Test drin steht in mein Angebotsproduktform eingebunden und versucht es mit getSrc setSrc neu zu laden. Mit dem gleichen Ergebnis. Es schient im Angebotsformular schlicht nicht möglich zu sein mit getSrc eine Webresource auszulesen. Ich verzweifle. Ohne einen vernünftigen Editor in unseren Angebotsprodukten geht hier nix. :(
Hat noch keiner versucht eine HTML Webresource in ein Angebotsprodukt einzubinden und zu refreshen?

Re: Webressource in Angebotsprodukt kann kein getSrc

15. September 2015 11:21

Hallo zusammen,

zwischenzeitlich konnte mir außerhalb dieses Forums weitergeholfen werden. Aber falls noch jemand auf diese Problematik stoßen sollte will ich euch die Lösung für den Refresh der Webressource nicht vorenthalten :)

wir mussten mit JavaScript über das WebressourceObjekt heran gehen und einen Reload machen. Dann wurde mein Text in der Webressource sauber neu geladen. Hier der Code:
Code:
var tinymce_deutsch = Xrm.Page.getControl("WebResource_TinyMCE_deutsch");
tinymce_deutsch.getObject().contentWindow.location.reload();

Re: [gelöst] Webressource in Angebotsprodukt kann kein getSr

16. September 2015 10:06

Hallo Nicole,

hab vielen dank für deine Rückmeldung :-)