Archiv

Archive for the ‘CRM 3.0’ Category

Welche AD Sicherheitsgruppen gehören zur aktuellen CRM Installation?

21. Januar 2015 Hinterlasse einen Kommentar

Es gibt immer wieder den Fall, das eine CRM Installation mehrfach ausgeführt wird. Bei jeder dieser Installationen werden die folgenden 4 Gruppen im Active Directory angelegt:

  • PrivReportGroup
  • PrivUserGroup
  • ReportingGroup
  • SQLAccessGroup

Hinter dem Gruppennamen steht dann noch eine CRM GUID, so das ein vollständiger Gruppenname z.B. so aussieht: ReportingGroup {c2c06f58-76ce-436c-b7ac-664eb5bd0036}.

Irgend wann kommt dann in der Regel der Admin und möchte die überflüssigen Gruppen löschen. Dafür müsst ihr aber herausbekommen, welche Gruppe noch aktuell und welches die alten Gruppen sind.

Zum Glück ist dies relativ einfach herauszubekommen. Ihr müsst dazu nur den folgenden SQL Befehl gegen irgend eine aktuelle CRM Organisationsdatenbank laufen lassen:

select reportinggroupname, sqlaccessgroupname, privreportinggroupname from organization

Als Ergebnis erhaltet ihr etwas in dieser Art:

Groups

Die GUID ist für alle 4 Gruppen gleich, so das ihr jetzt erkennen könnt, welche Gruppen noch benötigt und welche aus dem AD entfernt werden können.

 

KB Artikel von Microsoft

21. November 2013 Hinterlasse einen Kommentar

Wie ihr ja alle wisst werden die KB Artikel von Microsoft bei der Anzeige im Internet Explorer automatisch in die Standardsprache des Explorers übersetzt, bei mir zum Beispiel in Deutsch.

Meistens schalte ich dann direkt auf die englische Version um, weil ich die einfacher lesen kann, die Übersetzungen sind mir zu holprig. Aber wie es dann immer so ist, habe ich da bei dem KB Artikel 968520 schon länger nicht mehr gemacht und immer mit der deutschen Version gearbeitet, da ich mir eigentlich nur die aktuellen SQL Scripte herauskopiere und dann verwende.

Heute musste ich dann feststellen das es eine gute Idee ist, auch KB Artikel auf die englische Sprache umzustellen, die man schon auswendig kennt. In den Übersetzungen sind nicht unbedingt alle Teile des KB Artikels enthalten. Und da Kb Artikel auch durchaus überarbeitet werden kann es euch passieren, das ihr selbst von bekannten Artikeln nicht alle Teile des Artikels zu sehen bekommt.

Als Beispiel sein der bereits angesprochene der KB Artikel kb968520 genommen, der von den Geschwindigkeitsproblemen im CRM handelt, wenn die AsyncOperationBase-Tabelle zu groß wird. 1000 mal gelesen, 1000 mal Scripte kopiert, die letzten 100 mal nicht mehr auf englisch umgeschaltet, man kennt den Artikel ja eh schon auswendig.

In der deutsche Übersetzung endet der Artikel mit dem SQL-Statement, um die Anzahl der Datensätze zu ermitteln, die durch das Hauptscript gelöscht werden können. Ändert ihr jetzt die Sprache auf englisch werdet ihr feststellen, das in der englischen Version noch ein möglicher Script Error und seine Lösung behandelt wird. Natürlich habe ich gerade ein paar Stunden damit verbracht diesen Fehler zu finden ohne den Teil in der deutschen Übersetzung zu finden.

Es zeigt sich also, immer gleich auf die englische Version umschalten lohnt sich, wenn man einen KB Artikel wirklich komplett lesen möchte oder muss.

CRM – Microsoft Support Lifecycle

1. Oktober 2013 1 Kommentar

Es kommen immer wieder mal Fragen in diversen Foren, wie lange denn Version x von Microsoft Dynamics CRM noch von Microsoft supportet wird.

Anbei eine kleine Tabelle mit den wichtigsten Daten für ein deutsches CRM System:

Verfügbare Produkte Lifecycle-Startdatum Ablaufdatum für Mainstream Support Ablaufdatum für Extended Support
CRM 1.0 01.01.2003 11.07.2006 Nicht zutreffend
CRM 1.2 31.10.2003 09.01.2007 Nicht zutreffend
Dynamics CRM 3.0 01.12.2005 12.04.2011 12.04.2016
Dynamics CRM 4.0 29.02.2008 09.04.2013 10.04.2018
Dynamics CRM 2011 18.05.2011 12.07.2016 13.07.2021
Dynamics CRM 2013 12.01.2014 08.01.2019 09.01.2024

Quelle: Microsoft Support LifeCycle für Dynamics CRM

Update 21.10.2013 Den LifeCycle für CRM 2013 hinzugefügt

CRM 2011 – Welche Felder werden zwischen CRM und Outlook abgeglichen

11. März 2013 2 Kommentare

In den Foren gibt es immer wieder die Frage, wie die Felder eingestellt werden können, die zwischen CRM und Outlook abgeglichen werden.

Die Antwort ist sehr einfach, die Felder können nicht eingestellt werden, sie sind hart codiert.

Unter folgendem Link findet ihr eine Übersicht, welche Felder aktuell aus dem CRM mit welchen Feldern in Outlook abgeglichen werden.

Datum vor dem 01.01.1900 im CRM speichern

21. Dezember 2012 Hinterlasse einen Kommentar

In einem meiner Projekte bin ich mal wieder über das Problem gestolpert, das im CRM in einem Datumfeld kein Datum vor dem 01.01.1900 eingetragen werden kann.

Dies ist insbesondere dann ein Problem, wenn zum Beispiel das Gründungsdatum einer Firma oder das Baujahr eines Gebäudes hinterlegt werden soll.

Die einfachste Lösung ist natürlich, das Datum einfach in ein Textfeld zu schreiben, dies hat aber gleich mehrere Nachteile. Zum einen können jetzt ungültige Datumswerte eingetragen werden, das Format des Datums ist nicht mehr vorgegeben und auch die Suche muss anders erfolgen, da es sich jetzt um einen String handelt.

Als Workarround verwende ich meistens nicht ein Textfeld, sondern gleich vier.

Tag als int
Monat als int
Jahr als int
Datum als String

Durch diese Vorgehensweise ist eine Suche nach wie vor sehr flexibel und auch eine Suche wie „Zeige mir mal alle Gebäude an, die vor dem 01.01.1850 gebaut wurden an“ möglich. Das Datumsfeld prüfe ich mit etwas JavaScript und RegEx auf ein gültiges Datum, sorge noch für eine passende Formatierung und speichere dann noch die einzelnen Teile des Datums in den anderen Feldern.

Rappenrundung im CRM

11. Mai 2011 1 Kommentar

Hallo,

in einem Forumsbeitrag kam die Frage nach der Rappenrundung auf. Anbei findet ihr ein SCript, das genau diese Anforderung löst.
//--------------------------------------------------------------------------------------------------------------
// Funktion: getRoundCHFValue(value)
// Die Funktion "getRoundCHFValue" erwartet als Parameter eine Zahl.
// Liefert die gerundete Dezimalzahl dieser Zahl zurück.
// Implementierung nach Vorgabe der rappenrundung in Wikipedia
//
// Parameter:
// value = Eine Zahl.
// (z.B. 128.51 oder 128.56 u.s.w.)
//
// Rückgabe:
// Der Wert wird als Dezimalzahl zurückgegeben (z.B. 128.55 oder 128.60 u.s.w.), sonst 0 (Fehler u.s.w.)
//--------------------------------------------------------------------------------------------------------------

getRoundCHFValue = function(value) {
var sAmount = "";
var iNachkommastelle;
var dAmount = 0.00;
var iWert = 0;

sAmount = new String(value);

if (sAmount != "") {
iNachkommastelle = sAmount.lastIndexOf(".");

if (iNachkommastelle = 0)
iNachkommastelle = sAmount.length - iNachkommastelle - 1;

if (iNachkommastelle >= 3)
iWert = parseInt(sAmount.substring(sAmount.length - iNachkommastelle + 1, sAmount.length - iNachkommastelle + 3));

dAmount = sAmount;

dAmount = dAmount / 5;
dAmount = Math.round(dAmount * 100) / 100;
dAmount = dAmount * 5;

sAmount = dAmount;
}

return parseFloat(sAmount);
}

Foren von Microsoft zum Thema CRM

11. Februar 2011 2 Kommentare

Es kommen immer wieder Fragen auf, welche Foren es zum Thema CRM von Microsoft gibt, deshalb findet ihr hier eine kleine Auflistung.

Deutsprachige Foren

Englischsprachige Foren

Anderssprachige Foren

alte Foren

  • CRM online (Seit dem 09.03.2011 aufgegangen in CRM)

Support für CRM 3.0 läuft aus

10. Februar 2011 Hinterlasse einen Kommentar

Für alle, die noch CRM 3.0 einsetzen, ist der 12.04.2011 ein wichtiges Datum. Zu diesem Zeitpunkt läuft der Mainstream Support für CRM 3 aus.

Firmen, die CRM 4.0 einsetzen, haben da noch etwas mehr Zeit. Der Mainstream Support für CRM 4.0 läuft erst zum 09.04.2013 aus.

Schlagwörter: ,

CRM Reports im Report Manager anzeigen

Manchmal möchte man die CRM Reports direkt im Report Manager des SQL-Servers anzeigen.
Dabei wird man nach dem Benutzernamen und dem Kennwort gefragt. Gebt ihr hier einen gültigen CRM Benutzernamen und ein Passwort ein, kommt eine Fehlermeldung, das die Anmeldedaten nicht in Ordnung sind.

Mit einem kleinem Trick könnt ihr euch die Daten aber trotzdem direkt im Report Manager anzeigen.
Dazu müsst ihr nur im Benutzernamen eine gültige SystemUserID des CRMs und im Feld Kennwort die GUID der Organisation eintragen. Beide Werte findet ihr in der Tabelle SystemUserBase in den Feldern SystemUserId und OrganisationId.

Schlagwörter: , , ,

Was bedeutet die Kaskadierung

9. Oktober 2009 Hinterlasse einen Kommentar

Es kommt immer wieder zu Fragen und auch zu Missverständnissen über die Kaskadierung im CRM und was die einzelnen Möglichkeiten bedeuten.
Mit Kaskadierungen kann man im CRM das Verhalten der einzelnen Entitäten untereinander einstellen. Zu finden ist diese Möglichkeit in den Bezeihungen der jeweiligen Entitäten.

Um überhaupt die Kaskadierung einstellen zu können, muss der Verhaltenstyp auf „Konfigurierbare Kaskadierung“ umgestellt werden.

Danach sind die Picklisten für das Verhalten freigegeben und können geändert werden.

Aber was bedeuten die einzelnen Werte denn jetzt eigentlich? Ich versuche das einmal an ein paar Beispielen zu erläutern.

Fangen wir mit den Möglichkeiten für Zuweisen, Freigeben, Freigabe aufheben und Erneut überordnen an.

  • Alle kaskadieren
    Damit sind alle untergeordneten Datensätze von der Änderung betroffen, werden also ebenfalls geändert.
    Beispiel:
    Wir haben die Firma1 mit den zugeordneten Kontakten Kontakt1 und Kontakt2 und weisen die Firma1 jetzt einem neuen Besitzer zu. Dadurch werden auch der Kontakt1 und der Kontakt2 dem neuen Besitzer der Firma1 zugewiesen.
    Hinweis: Im CRM ist dies die Standardeinstellung für fast alle Entitäten. Dieses Verhalten ist aber oft nicht gewünscht, da dadurch z.B. auch historische Datensätze einen neuen Besitzer bekommen, wenn sich der Besitzer des Kontaktes oder Leads ändert. Ist dieses Verhalten nicht gewünscht, sollten sie die Kaskadierung bei den entsprechenden Entitäten umstellen.
  • Aktive kaskadieren
    Mit dieser Einstellung sind nur alle aktiven Datensätze von der Kaskadierung betroffen, inaktive Datensätze werden nicht berücksichtigt.
    Beispiel:
    Wir haben die Firma1 mit den zugeordneten Kontakten Kontakt1 und Kontakt2 und deaktivieren jetzt Kontakt2. Anschließend weisen wir der Firma1 einen neuen Besitzer zu. Dadurch erhält der Kontakt1 ebenfalls den neuen Besitzer, der Besitzer von Kontakt2 wird aber nicht verändert.
  • Kaskadieren, falls gleicher Besitzer
    In diesem Fall wirkt die Anpassung nur, wenn der Besitzer in beiden Datensätzen gleich ist.
    Beispiel:
    Wir haben die Firma1 mit den zugeordneten Kontakten Kontakt1 und Kontakt2. Besitzer von Firma1 und Kontakt1 ist Benutzer1, Besitzer von Kontakt2 ist Benutzer2. Jetzt geben wir die Firma1 dem Benutzer3 frei, damit der diesen Datensatz sehen kann. Benutzer3 hat durch diese Einstellung jetzt das Recht, die Datensätze Firma1 und Kontakt1 zu sehen, aber nicht Kontakt2.
  • Nicht kaskadieren
    Ist eigentlich selbsterklärend. Durch diese Einstellung wird kein untergeordneter Datensatz geändert.

In der Pickliste Löschen kann nur zwischen „Alle kaskadieren“, „Verknüpfung entfernen“ und „Einschränken“ gewählt werden

  • Alle kaskadieren
    Siehe dazu die Beschreibung oben.
  • Verknüpfung entfernen
    Hiermit wird die Beziehung zwischen den verknüpften Datensätzen entfernt.
    Beispiel:
    Wir haben die Firma1 mit den zugeordneten Kontakten Kontakt1 und Kontakt2 und löschen jetzt Firma1. Dann bleiben Kontkat1 und Kontakt2 erhalten, verlieren aber ihre Zuordnung zur Firma1.
  • Einschränken
    Damit kann der übergeordnete Datensatz nur gelöscht werden, wenn vorher alle untergeordneten Datensätze gelöscht werden.
    Beispiel:
    Wir haben die Firma1 mit den zugeordneten Kontakten Kontakt1 und Kontakt2. Wenn wir jetzt Firma1 löschen wollen, müssen wir erst Kontakt1 und dann Kontakt2 löschen, erst danach können wir Firma1 löschen.

Die Pickliste Zusammenführen kann nicht über die Oberfläche geändert werden und ist immer schreibgeschützt.

Kommen wir jetzt zu den einzelnen Ereignissen.

  • Zuweisen
    Dieses Ereignis wird ausgelöst, wenn ein Datensatz einem anderen Benutzer zugewiesen wird.
  • Freigeben
    Wird ein Datensatz einem Team oder Benutzer freigegeben, wird dieses Ereignis ausgelöst.
  • Freigabe aufheben
    Wird die Freigabe wieder aufgehoben, löst dieses Ereignis aus.
  • Erneut überordnen
    Dieses Ereignis ist nicht so klar wie die anderen , obwohl es eine Grundfunktion des CRM-Systems darstellt und das CRM-System ohne dieses Ereignis nicht richtig funktionieren könnte. Es wird immer dann ausgelöst, wenn ein Datensatz erstellt oder geändert wird und sich dabei der übergeordnete Datensatz ändert bzw. einer hinzugefügt wird.
    Beispiel:
    Wir haben die Firma1 und erstellen jetzt innerhalb der Firma1 den Kontakt1. Diesem Kontakt wird beim erstellen automatisch die Firma1 als übergeordnete Firma zugeordnet. Durch diese Zuordnung wird beim Speichern von Kontakt1 das Ereignis ausgelöst.
  • Löschen
    Ist ja eigentlich selbsterklären. Wird beim löschen eines Datensatzes ausgelöst.
Schlagwörter: , , , ,