none
Update von CRM 3.0 auf 4.0 wie bekomme ich meine lookupfelder wieder? RRS feed

  • Frage

  • Hallo,
    ich habe ein Update von CRM 3.0 auf 4.0 gemacht.
    Wir hatten in der 3.0 Version etliche Lookupfelder. teils gefilter, teils nicht.

    Jetzt gibt es ja diese 1:n Verknüpfungen.
    Aber wie bekomme ich die Daten aus den vorhandenen CRM3 Lookupfeldern wieder in meine neu angelegt 1:n Felder?
    Oder denke ich grade falsch und es gibt einen besseren Weg?
    Dienstag, 4. August 2009 14:50

Antworten

  • Als Info für Interessierte: Durch direkte Kommunikation konnten wir die Aufgabe klären und auch eine Lösung herausarbeiten.

    Hintergrund:
    In MS CRM 3.0 war es unmöglich, mehr als eine Relationen zwischen Systemtabellen wie Account (Firmen) und Opportunity (Verkaufchancen) aufzubauen. Der oben beschriebene Programmieransatz war ein Work-Around, damit man im angepassten Dialog Verkaufschance mehrere Verknüpfungen zur Firmentabelle machen kann (zur Abbildung einer Vertriebspartnerstruktur). 

    Mit MS CRM 4.0 sind nun mehrere Relationen erlaubt. Die Anwendung wurde umgestellt und neue N:1-Beziehung definiert. Damit wurden neue Felder von Typ Lookup angelegt. Diese Felder waren natürlich noch ohne Inhalt. 

    Die Aufgabe bestand also darin, die bisher im Format nvarchar gespeicherten AccountIDs (GUIDS) in die neuen Felder vom Typ Lookup zu kopieren. Das ging über ein einfaches SQL-Statements. Dabei gab es noch das Problem, dass in den alten Textfeldern GUIDs standen, die im Datenbestand nicht mehr vorhanden waren. Die mußten wir raussuchen, weil das neue Feld die refentielle Integrität überprüft.

    Herzliche Grüße Markus Müller
    Freitag, 7. August 2009 08:08

Alle Antworten


  • Hallo Tomiliy,

    den ersten Teil verstehe ich. Ihr hattet bei Version 3.0 ein oder mehrere Lookupfelder in einer Tabelle bzw. bei mehreren Tabellen. Jetzt seit Ihr auf Version 4.0

    Aber auf was bezieht sich der Hinweis zu neuen  1:n Verknüpfungen ? Und das auf Feldebene ?  Diese Info passt nicht so recht zu meinem bisherigen "CRM-Weltbild". An weiteren Info bin ich interessiert :-)

    Neu bei der Version 4.0 sind M zu N Relationen auf Tabellenebene. Die 1 zu N-Beziehungen auf Tabellenebene gab es auch bei Version 3.0 bereits. Oder macht Ihr ein Redesign der Anwendung, indem Ihr vorhandene Lookup-Felder in neue Tabellenbeziehungen überführt ? 

    Herzliche Grüße Markus Müller
    Dienstag, 4. August 2009 16:26
  • Hallo,

    vielleicht hab ich mich ja auch doof ausgedrückt.
    Es gibt in CRM3 ja lookupfelder. (Die mit der Lupe)
    Dann kann man ja weitere Lookupfelder selber bauen, indem man ein Textfeld nimmt und im Onload diese HTTP Abfrage einbaut, so das man Firmen , Personen und sowas brwosen kann und dort eintragen kann.

    DAS gibt es ja soo wohl nicht mehr im CRM4, sondern man macht das wohl dort mitlerweile mit den 1:n oder wie auc himmer beziehungen... (Merkt man, das ich nicht soooooo die Kenne von CRM habe?)

    Jedenfalls sate man mir, das die Textfelder, die ich definiert habe, jetzt halt im CRM4 nicht mehr verwendet werden können.
    Ich hab spaßeshalber mal wieder so ein lookupfel angelgt um diese Lupe zu haben. Und ich kann logischerweise das alte, ehemalige CRM3 textfeld, nicht auswählen als quelle.

    Ist das besser verständlich?

    Gruß
    Thomas
    Dienstag, 4. August 2009 18:15
  • Hallo Thomas,

    war das etwa eine unsupportete Anpassung :-)  Vielleicht kannst du man die Quellen prüfen, nach denen der Lookup programmiert wurde. Meist wird das deutlich erwähnt.

    Beim Versionswechsel von MS CRM 3.0 zu 4.0 hat Microsoft etwas geändert, das unsuppportete Lösungsansätze für Lookups aus der Bahn geworfen hat. Falls das auch bei Dir so ist, dann hilft vielleicht der folgende Blogbeitrag einen Lösungsansatz: http://crm.georged.id.au/post/2008/02/16/Filtering-lookup-data-in-CRM-4.aspx

    Es gibt auch noch Tool von Michael Höhne, das man kaufen kann und auf supporteten Weg arbeitet.

    Gruß Markus Müller


    Herzliche Grüße Markus Müller
    Mittwoch, 5. August 2009 07:45
  • danke für den Link, den kenn ich schon. DA kann man aber nur die Lookupfunktion mit einem Filter versehen.
    Und das ist ja auch das was wir gemacht haben in der 3er version.

    Aber das ist leider immer noch nicht, das was ich wollte.
    Zur verdeutlichung:


    ich habe ein Feld definiert: textfeld: Schema Partner1.
    Dann habe ich in der Maske im "Onload" filgendes eingefügt:

    /* START Suchfeldimplementierung customPartnerOne*/
    function customPartnerOne(displayFieldName)
    {
       try {
               var fld = crmForm.elements[displayFieldName];
               var temp = fld.value;
              
               if (temp.length == 0){
                  fld.insertAdjacentHTML("afterEnd","<table class='lu' cellpadding='0' cellspacing='0' width='100%' style='table-layout:fixed;'><tr><td><div class='lu'>&nbsp;</div></td><td width='25' style='text-align: right;'><img src='/_imgs/btn_off_lookup.gif' id='" + displayFieldName + "' class='lu' lookuptypes='1' lookuptypenames='account:1' lookuptypeIcons='/_imgs/ico_16_1.gif' lookupclass='BasicCustomer' lookupbrowse='0' lookupstyle='single' defaulttype='0' req='0'></td></tr></table>");
               }
               else
               {
     
    fld.insertAdjacentHTML("afterEnd","<table class='lu' cellpadding='0' cellspacing='0' width='100%' style='table-layout:fixed;'><tr><td><div class='lu'><span class='lui' onclick='openlui()' oid='" + temp + "' otype='1' otypename='account'><img class='lui' src='/_imgs/ico_16_1.gif'>" + crmForm.all.imp_esp_partner1.value +"</span></div></td><td width='25' style='text-align: right;'><img src='/_imgs/btn_off_lookup.gif' id='"+ displayFieldName +"' class='lu' lookuptypes='1' lookuptypenames='account:1' lookuptypeIcons='/_imgs/ico_16_1.gif' lookupclass='BasicCustomer' lookupbrowse='0' lookupstyle='single' defaulttype='0' req='0'></td></tr></table>");
     
               }
          fld.parentNode.removeChild(fld);
          fld = crmForm.elements[displayFieldName];
          fld.value = temp;
    }
    catch(e)
    {
    alert(e.description);
    }
    }
    /* ENDE Suchfeldimplementierung customPartnerOne*/

    Und auch noch was im "onSave"

    das klappt auch alles im CRM3

    Die Frage ist, wie bekomme ich genau dieses Suchfeld wieder im CRM4?
    Diese HTML Abfrage geht ja nicht mehr.. Statt dessen, so hat man mir gesagt muss ich eben diese 1:n Felder nehmen, was auch ganz gut klappt. aber ich kann diese 1:n Felder nur für NEUE Felder generieren.. Ich kann diese 1:n Verknüpfung nicht auf mein altes Shemafeld Parter1 legen.

    jetzt deutlich?

    Hast du da ne Idee, oder ne Lösung?
    Danke


    Mittwoch, 5. August 2009 07:56
  • Als Info für Interessierte: Durch direkte Kommunikation konnten wir die Aufgabe klären und auch eine Lösung herausarbeiten.

    Hintergrund:
    In MS CRM 3.0 war es unmöglich, mehr als eine Relationen zwischen Systemtabellen wie Account (Firmen) und Opportunity (Verkaufchancen) aufzubauen. Der oben beschriebene Programmieransatz war ein Work-Around, damit man im angepassten Dialog Verkaufschance mehrere Verknüpfungen zur Firmentabelle machen kann (zur Abbildung einer Vertriebspartnerstruktur). 

    Mit MS CRM 4.0 sind nun mehrere Relationen erlaubt. Die Anwendung wurde umgestellt und neue N:1-Beziehung definiert. Damit wurden neue Felder von Typ Lookup angelegt. Diese Felder waren natürlich noch ohne Inhalt. 

    Die Aufgabe bestand also darin, die bisher im Format nvarchar gespeicherten AccountIDs (GUIDS) in die neuen Felder vom Typ Lookup zu kopieren. Das ging über ein einfaches SQL-Statements. Dabei gab es noch das Problem, dass in den alten Textfeldern GUIDs standen, die im Datenbestand nicht mehr vorhanden waren. Die mußten wir raussuchen, weil das neue Feld die refentielle Integrität überprüft.

    Herzliche Grüße Markus Müller
    Freitag, 7. August 2009 08:08