none
Zugeordnete Ansicht: Angebote in der Entität "Firma" - Filter für: läßt sich nicht ändern!

    Frage

  • Hallo zusammen.
    In der Entität Firma - Navigation Angebote werden Standardmäßig alle Angebote mit dem Status "Entwurf" angezeigt. Gerne möchte ich aber das hier alle Angebote (Aktiv, Geschlossen, Entwurf ...) angezeigt werden.
    In der Entität Angebot - Ansichten - Zugeordnete Ansicht: Angebot habe ich den Filter auf zuerst mal auf "Aktiv" gesetzt um das Ergebnis kontrollieren zu können (Speichern - Alle Anpassungen veröffentlichen habe ich natürlich gemacht).

    Der Filter bleibt jedoch immer auf Entwurf stehen.
    Was mache ich falsch?

    Vielen Dank

    Gruß Wolle   


    Wolle39

    Donnerstag, 13. Februar 2014 11:15

Alle Antworten

  • Hallo,

    du hast da einen klassischen Denkfehler eingebaut.

    Durch deine Änderung wird ja nur der Standardfilter für die Ansicht geändert, der ohne Anpassungen leer ist.

    In der Form wird aber ein Filter direkt gesetzt, und der bleibt dann auch auf Entwurf. Durch deine Änderung hast du nur erreicht, das alle Aktiven Angebote im Status Entwurf angezeigt werden, was immer null sein wird, da ein Angebot nur einen der beiden Stati annehmen kann.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website XING LinkedIn Facebook Twitter

    Donnerstag, 13. Februar 2014 13:17
    Moderator
  • Hallo Michael,

    das heißt das ich den Filter für: "Entwurf" gar nicht auf "Alle" ändern kann?

     


    Wolle39

    Donnerstag, 13. Februar 2014 13:27
  • Hallo Wolle,

    du hast die Möglichkeit die Anforderung durch ein Skript zu lösen:

    //*****************************************************************
    // Filter Angebotsansicht
    //*****************************************************************
    function SetView(type, defaultValue, fieldName)
    {
       SetDefaultView = function (viewCombo, viewName, appGrid)
       {
          if (viewCombo.value != viewName)
          {
             viewCombo.value = viewName;
             appGrid.RefreshGridView();
          }
       }
    
       areaActivitiesFrame_OnReadyStateChange = function ()
       {
          if (this.readyState == "complete")
          {
             var frame = document.frames("area" + type + "Frame");
             var viewCombo = frame.document.getElementById(fieldName);
             var appGrid = frame.document.getElementById("AppGridFilterContainer");
             if (viewCombo.readyState == "complete")
             {
                SetDefaultView(viewCombo, defaultValue, appGrid);
             }
    
             else
             {
                viewCombo.onreadystatechange = function ()
                {
                   if (this.readyState == "complete")
                   {
                      SetDefaultView(this, defaultValue, appGrid);
                   }
                }
             }
          }
       }
    
       if (document.getElementById("nav" + type) != null)
       {
          document.getElementById("nav" + type).onclick = function ()
          {
             loadArea("area" + type);
             document.frames("area" + type + "Frame").document.onreadystatechange = 
             function ()
             {
                if (this.readyState == "complete")
                {
                   var frame = document.frames("area" + type + "Frame");
                   var viewCombo = frame.document.getElementById(fieldName);
                   var appGrid = frame.document.getElementById("AppGridFilterContainer");
                   if (viewCombo.readyState == "complete")
                   {
                      SetDefaultView(viewCombo, defaultValue, appGrid);
                   }
    
                   else
                   {
                      viewCombo.onreadystatechange = function ()
                      {
                         if (this.readyState == "complete")
                         {
                            SetDefaultView(this, defaultValue, appGrid);
                         }
                      }
                   }
                }
             }
          }
       }
    }
    
    function FilterActivities()
    {
    //var newURL = window.location.protocol + "://" + window.location.host + "/" + window.location.pathname;
    //alert(newURL);
    SetView("Quotes", "1", "crmGrid_quote_customer_accounts_statecode");
    
    }

    Im Account hinterlegen und die Funktion "FilterActivities" im OnLoad aufrufen.

    Die Funktionen sind leider nicht sauber benannt, aber das Skript funktioniert einwandfrei. Die Umbenennungen könntest du natürlich für dich nachziehen.

    Grüße

    Karan

    • Als Antwort vorgeschlagen Karan5959 Freitag, 7. März 2014 10:15
    Freitag, 7. März 2014 10:14
  • Das obige Script wird aktuell wohl im IE funktionieren, in anderen Browsern mit großer Wahrscheinlichkeit nicht. Es ist auch völlig unsupportet, per JavaScript direkt auf das DOM Object zuzugreifen.

    Aus diesen Gründen würde ich mir einen Einsatz in einer Produktivumgebung sehr gut überlegen.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website XING LinkedIn Facebook Twitter


    Freitag, 7. März 2014 10:21
    Moderator