none
Abbildung verschiedener Kundenverträge (Rahmenvertag, NDA,...) als CRM Enität + SP RRS feed

  • Frage

  • Hallo zusammen,

    wir haben verschiedene Verträge/ Vereinbarungen (z.B. Rahmenvertrag, Partnerschaftsvertrag, NDA etc..) mit Firmen deren Inhalte wir als Abstrakt in ein Formular im CRM festhalten und dann den entsprechenden Vertrag im Sharepoint ablegen möchten.  

    Da die Verträge sehr unterschiedlich sind, wäre das Formular der Entität sehr groß. Gibt es die Möglichkeit, eine Registerkarte ein-/auszublenden je nachdem war für eine Auswahl (Vertragsart) seines Optionsfeld ausgewählt ist. 

    Oder hat jemand eine anderen Lösungsvorschlag für die Abbildung unterschiedlicher Kundenverträge in einer Enität.

    Gruß & Danke

     


    Viele Grüße Patrick Jähne

    Freitag, 1. Juni 2012 10:46

Antworten

  • Hallo Patrick,

    ich würde es genauso machen, wie Andreas es schon ausgeführt hat. Das ist für den Benutzer eine sehr komfortable Lösung und wird von mir in diversen Projekten verwendet.


    Viele Grüße

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

    • Als Antwort markiert Michael Sulz Montag, 31. Oktober 2016 16:10
    Freitag, 1. Juni 2012 14:01
  • Hi,

    Ich vermute beim Script wird ein Fehler auftauchen - du musst folgende Überprüfung einbauen:

    var vertrag_selectedOption = Xrm.Page.getAttribute("new_vertragstyp").getSelectedOption(); 
    if(vertrag_selectedOption != null) 
    {
    var vertrag = Xrm.Page.getAttribute("new_vertragstyp").getSelectedOption().text;
    ...

    Wenn vertrag_selectedOption null ist führst du einfach kein Script aus, dann sind alle Reiter sichtbar!

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010

    Montag, 1. Oktober 2012 14:03

Alle Antworten

  • Hallo Patrick,

    Eine Registerkarte ausblenden funktioniert per Javascript problemlos:

    Xrm.Page.ui.tabs.get(<Tab Index OR Tab Name>).setVisible(false);

    Die ganze Ein- und Ausblendlogik kannst du in eine Javascript-Methode verpacken und diese auf das OnChange der Vertragsart hängen. Zusätzlich musst du die Methode noch im OnLoad des Formulars aufrufen, dass beim Öffnen auch nur die korrekten Abschnitte angezeigt werden (hier passiert ja noch kein OnChange).

    Ich selbst habe diese Variante schon öfter so implementiert - vorwiegend für Vertragsarten (wie du) und für Servicefälle (Fälle für versch. Servicebereich in einer Entität) - und bin eigentlich immer gut ausgekommen.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010

    Freitag, 1. Juni 2012 11:46
  • Hallo Patrick,

    ich würde es genauso machen, wie Andreas es schon ausgeführt hat. Das ist für den Benutzer eine sehr komfortable Lösung und wird von mir in diversen Projekten verwendet.


    Viele Grüße

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

    • Als Antwort markiert Michael Sulz Montag, 31. Oktober 2016 16:10
    Freitag, 1. Juni 2012 14:01
  • Hallo,

    ich habe Probleme bei dem Script da beim öffnen des Formulars die Picklist nicht gefüllt ist. Aktuell sieht das Script so aus.

    function vertragstyp()
    {
    var vertrag = Xrm.Page.getAttribute("new_vertragstyp").getSelectedOption().text;  
    {
    if (vertrag == 'XYZ') 	
    {
    Xrm.Page.ui.tabs.get("tab_4").setVisible true);                                       
    Xrm.Page.ui.tabs.get("tab_3").setVisible(false);      
    }
    else
    {
    Xrm.Page.ui.tabs.get("tab_4").setVisible(false);
    Xrm.Page.ui.tabs.get("tab_3").setVisible(true);
    }
    }
    }
    Wie sage ich, das wenn beim öffen die Picklist nicht gefüllt ist im Formular alle Reiter angezeigt werden mit " " habe ich es schon versucht aber leidre ohne Ergebniss 

    Viele Grüße Patrick Jähne

    Montag, 1. Oktober 2012 13:52
  • Hi,

    Ich vermute beim Script wird ein Fehler auftauchen - du musst folgende Überprüfung einbauen:

    var vertrag_selectedOption = Xrm.Page.getAttribute("new_vertragstyp").getSelectedOption(); 
    if(vertrag_selectedOption != null) 
    {
    var vertrag = Xrm.Page.getAttribute("new_vertragstyp").getSelectedOption().text;
    ...

    Wenn vertrag_selectedOption null ist führst du einfach kein Script aus, dann sind alle Reiter sichtbar!

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010

    Montag, 1. Oktober 2012 14:03
  • Hallo Patrick,

    ich würde die Picklist als Pflichtfeld machen, und bei einem neuen Datensatz erst einmal alle Tabs ausblenden. Zusätzlich auf das onChange der Picklist die Methode vertragstyp() binden.

    Gruß,

    Reinhold Becker

    Montag, 1. Oktober 2012 14:16
  • Danke, für die Optimierung. Es hat funktioniert mit der Überprüfung.

    Viele Grüße Patrick Jähne

    Dienstag, 2. Oktober 2012 05:47