none
Formulare per Skript umschalten? RRS feed

  • Frage

  • Guten Tag liebe CRMler,

    seit CRM 2011 hat man ja nun die möglichkeit mehrere Formulare für eine Entität zu erstellen. Meine Frage wäre nun, ob man zwischen diesen Formularen per Javascript (oder dergleichen) hin und her schalten kann? Mit welchen Formular man den Datensatz erstellt hat wird ja tragischerweise nicht mitgespeichert.

    Ich danke euch schonmal im Vorraus!

    MfG Jasper

    Dienstag, 25. Oktober 2011 13:19

Antworten

  • Hallo Jasper,

    ja, man kann per JScript mit dem formSelector und navigate automatisiert umschalten.

    Xrm.Page.ui.formSelector

    http://msdn.microsoft.com/en-us/library/gg328253.aspx

    Mit der navigate-Methode kannst du ein bestimmtes Formular anzeigen lassen:

    http://msdn.microsoft.com/en-us/library/gg309560.aspx

    Beispiel aus dem SDK:

    showFormItems: function ()
    {
        var items = Xrm.Page.ui.formSelector.items.get();
        if (items.length > 1)
        {
            var html = "<html><head><title>Show Form Items</title>";
            html += "<style type=\"text/css\">body { font-family:Calibri;}";
            html += "table {border:1px solid gray; border-collapse:collapse;}";
            html += "th {text-align:left; border:1px solid gray;}";
            html += "td {border:1px solid gray;}</style>";
            html += "<script type=\"text/jscript\" >";
            html += "function navigate(itemId) { ";
            html += "window.opener.Xrm.Page.ui.formSelector.items.get(itemId).navigate(); ";
            html += "window.close();";
            html += "}";
            html += "</script></head><body>";
            html += SDK.FormItemSamples.getFormItems();
            html += "</body></html>";
            var myWindow = window.open("", "_blank");
            myWindow.document.open();
            myWindow.document.write(html);
            myWindow.document.close();
        }
        else
        {
            alert("There is only one form item currently available.");
        }
    },
    
    getFormItems: function ()
    {
        var html = "<table><thead><th>Form Item Label</th><th></th>" +
    "</thead><tbody>";
        var items = Xrm.Page.ui.formSelector.items.get();
        var currentFormId = Xrm.Page.ui.formSelector.getCurrentItem().getId();
        for (var i in items)
        {
            var item = items[i];
            var itemId = item.getId();
            if (itemId != currentFormId)
            {
                var itemLabel = item.getLabel();
                html += "<tr><td>" + itemLabel +
            "</td><td><input type=\"button\" onclick=\"navigate('" + itemId +
            "');\" value='Navigate to " + itemLabel + "' /></td></tr>";
            }
    
        }
    
        html += "</tbody></table>";
        return html;
    }
    
    

    Viele Grüße,
    Jürgen

     


    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de
    Dienstag, 25. Oktober 2011 14:42
    Moderator