<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://carstengroth.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fcarstengroth.spaces.live.com%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft Dynamics CRM &amp; Co</title><description>Neuigkeiten, Tipps, Trends und Tricks</description><link>http://carstengroth.spaces.live.com/</link><language>en-US</language><pubDate>Fri, 08 Aug 2008 17:39:21 GMT</pubDate><lastBuildDate>Fri, 08 Aug 2008 17:39:21 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><live:identity><live:id>-7532676356639023117</live:id><live:alias>carstengroth</live:alias></live:identity><image><title>Microsoft Dynamics CRM &amp; Co</title><url>http://byfiles.storage.live.com/y1pxHChrSaGByJ9fQCI20sbyvtuZkmvLEL6mNmLyWuHUVeWAqFCpqUAUHA6_CdkryRA</url><link>http://carstengroth.spaces.live.com/</link></image><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Microsoft Dynamics CRM 4.0 | Eigene Workflow Assemblies</title><link>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!553.entry</link><description>&lt;p&gt;&lt;br&gt;Die Windows Worflow Foundation in Microsoft Dynamics CRM 4.0 zu integrieren, hat sichtlich gut getan. Viele Aufgaben lassen sich mit Workflows vereinfachen oder gar komplett automatisieren. Und eine weitere herausragende Möglichkeit ist, den Workflows über Custom Assemblies weitere Funktionen &amp;quot;beibringen&amp;quot; zu können. Viele von Euch fragen mich, ob ich hierzu nicht ein paar Beispielcodes hätte oder ob es nicht eine Code-Bibliothek gibt, unter der sich Workflow-Assemblies finden lassen. &lt;p&gt;Anbei möchte ich Euch daher mit einem Praxis-Beispiel die Workflow Assemblies näher bringen. Zunächst zur Ausgangssituation: In einem Projekt ging es darum, die durch den Import erzeugten bzw. aktualisierten Datensätze einer übergeordneten Firma zuzuweisen, sofern der besagte Datensatz eine Filiale einer Firma war. Um dies zu identifizieren, arbeitet der Kunde mit zwei Nummern: Der Firmennummer - dem von Haus aus bekannten Standard-Feld und einer Filialnummer - einem benutzerdefinierten Attribut &lt;em&gt;&amp;quot;new_branchsiteaccountnumber&amp;quot;&lt;/em&gt;. Eine Filiale hat dabei exakt die gleiche Firmennummer, wie der Hauptsitz, jedoch ist die Filialnummer unterschiedlich. Am Hauptsitz hingegen ist die Filialnummer immer &amp;quot;0&amp;quot;. &lt;p&gt;Da sich die Daten automatisch über eine zeitgesteuerte Import-Routine aus einem Fremdprogramm aktualisierten, galt es eine Routine zu schaffen, die den Prozess der Zuweisung der &amp;quot;übergeordneten Firma&amp;quot; automatisch übernimmt. Und genau hierfür kommt die Windows Workflow Foundation zum Einsatz.  &lt;p&gt;Das Attribut &amp;quot;Übergeordnete Firma&amp;quot; ist ein Lookup Feld, wie sich schnell ermitteln lässt. Ich benötige zur Aktualisierung des Feldes also gezielt eine DatensatzID - und zwar diejenige, bei dem die Firmennummer = der Firmennummer des aktuellen Datensatzen und die Filialnummer = 0 ist. &lt;p&gt;Zunächst erweitern wir unsere VisualStudio-Anwendung, sofern noch nicht geschehen, um  die &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5D61409E-1FA3-48CF-8023-E8F38E709BA6&amp;amp;displaylang=en" target="_blank"&gt;Erweiterungen für .NET Framework 3.0&lt;/a&gt;. &lt;p&gt;Als Resultat haben wir einige neue Projekttypen in VisualStudio 2005 zur Verfügung. Und bevor ich noch weiter in die Tiefe einsteige: Unter &lt;a title="http://www.stunnware.com/crm2/topic.aspx?id=CustomWorkflowActivity" href="http://www.stunnware.com/crm2/topic.aspx?id=CustomWorkflowActivity"&gt;http://www.stunnware.com/crm2/topic.aspx?id=CustomWorkflowActivity&lt;/a&gt; findet sich für den Einsteiger alles notwendige, für die Entwicklung und Einrichtung. &lt;p&gt;Zunächst schaffen wir uns also die erforderlichen Verweise im Projekt: &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt; &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Workflow.Activities;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Workflow.ComponentModel;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.Crm.Sdk;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.Crm.SdkTypeProxy;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.Crm.Workflow;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.Crm.Sdk.Query;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Workflow.Runtime;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Data;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Xml;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Xml.Linq;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Nun müssen beschäftigen wir uns mit der 1. Anforderung - wir benötigen eine erste Eingabemöglichkeit: Die Firmennummer
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; FindAccountbyAccountnumber&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;{&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    [CrmWorkflowActivity(&lt;span style="color:#006080"&gt;&amp;quot;Finde Firma zu Firmennummer &amp;amp; Filialnummer&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    &lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; MatchAccountby :&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    System.Workflow.Activities.SequenceActivity&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;        &lt;span style="color:#008000"&gt;// Input property&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;        &lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; DependencyProperty senderProperty = DependencyProperty.Register(&lt;span style="color:#006080"&gt;&amp;quot;sender&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;), &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(MatchAccountby));&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;        [CrmInput(&lt;span style="color:#006080"&gt;&amp;quot;Firmennummer&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;        &lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; sender&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;        {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;            get&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;            {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;                &lt;span style="color:#0000ff"&gt;return&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;)&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.GetValue(senderProperty);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;            }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;            set&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;            {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;                &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.SetValue(senderProperty, &lt;span style="color:#0000ff"&gt;value&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;            }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;        }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;br&gt;Da wir ebenfalls noch eine Filialnummer übergeben wollen, benötigen wir eine zweite Eingabemöglichkeit: Die Filialnummer
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; DependencyProperty sender2Property = DependencyProperty.Register(&lt;span style="color:#006080"&gt;&amp;quot;sender2&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;), &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(MatchAccountby));&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;[CrmInput(&lt;span style="color:#006080"&gt;&amp;quot;Filialnummer&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; sender2&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;{&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    get&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;        &lt;span style="color:#0000ff"&gt;return&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;)&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.GetValue(sender2Property);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    set&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;        &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.SetValue(sender2Property, &lt;span style="color:#0000ff"&gt;value&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Als Ausgabe möchten wir die AccountID des gefundenen Datensatzes zurückgeliefert bekommen. 
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#008000"&gt;// Output property&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; DependencyProperty accountIdProperty = DependencyProperty.Register(&lt;span style="color:#006080"&gt;&amp;quot;accountId&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(Lookup), &lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(MatchAccountby));&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;[CrmOutput(&lt;span style="color:#006080"&gt;&amp;quot;accountId&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;[CrmReferenceTarget(&lt;span style="color:#006080"&gt;&amp;quot;account&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; Lookup accountId&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;{&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    get&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;        &lt;span style="color:#0000ff"&gt;return&lt;/span&gt; (Lookup)&lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.GetValue(accountIdProperty);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    set&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;        &lt;span style="color:#0000ff"&gt;base&lt;/span&gt;.SetValue(accountIdProperty, &lt;span style="color:#0000ff"&gt;value&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Jetzt hilft ein Blick in das aktuelle SDK, um die verschiedenen Methodiken abzuwägen, mit denen es möglich ist, die Suche innerhalb der Datenbank durchzuführen. Meine Wahl fiel in diesem Fall auf &lt;strong&gt;&lt;em&gt;QueryByAttribute&lt;/em&gt;&lt;/strong&gt;
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; Guid MatchAccountbyAccountnumber(ICrmService crmService, &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; fromAccountnumber, &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; fromBranchsitenumber)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;{&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    &lt;span style="color:#008000"&gt;// Retrieve Accounts from Entity with &amp;quot;fromAccountnumber&amp;quot; &amp;amp; &amp;quot;fromBranchsiteaccountnumber&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    QueryByAttribute query = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; QueryByAttribute();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    query.ColumnSet = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; AllColumns();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    query.EntityName = EntityName.account.ToString();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    query.Attributes = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt;[] { &lt;span style="color:#006080"&gt;&amp;quot;accountnumber&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080"&gt;&amp;quot;new_branchsiteaccountnumber&amp;quot;&lt;/span&gt; };&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    query.Values = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff"&gt;object&lt;/span&gt;[] { fromAccountnumber, fromBranchsitenumber };&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    RetrieveMultipleRequest retrieveMultipleRequest = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; RetrieveMultipleRequest();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    retrieveMultipleRequest.Query = query;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    retrieveMultipleRequest.ReturnDynamicEntities = &lt;span style="color:#0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    RetrieveMultipleResponse retrieveMultipleResponse = (RetrieveMultipleResponse)crmService.Execute(retrieveMultipleRequest);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    BusinessEntityCollection retrieved = crmService.RetrieveMultiple(query);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    Guid accountId = Guid.Empty;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    &lt;span style="color:#0000ff"&gt;foreach&lt;/span&gt; (BusinessEntity busEntity &lt;span style="color:#0000ff"&gt;in&lt;/span&gt; retrieveMultipleResponse.BusinessEntityCollection.BusinessEntities)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;        &lt;span style="color:#008000"&gt;// Pick the first accountid.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;        accountId = ((Key)((DynamicEntity)busEntity)[&lt;span style="color:#006080"&gt;&amp;quot;accountid&amp;quot;&lt;/span&gt;]).Value;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;        &lt;span style="color:#0000ff"&gt;break&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    &lt;span style="color:#0000ff"&gt;return&lt;/span&gt; accountId;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Soweit also zur Abfrage der Datensätze. Da ich nach einer Übereinstimmung von &lt;strong&gt;Firmennummer &lt;em&gt;und &lt;/em&gt;Filialnummer &lt;/strong&gt;suche, wird definitiv nur ein Datensatz zurückgeliefert. Diesen gilt es nunmehr an die Workflow Routine zu übergeben.
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;override&lt;/span&gt; System.Workflow.ComponentModel.ActivityExecutionStatus Execute(System.Workflow.ComponentModel.ActivityExecutionContext executionContext)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;{&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    IContextService contextService = (IContextService)executionContext.GetService(&lt;span style="color:#0000ff"&gt;typeof&lt;/span&gt;(IContextService));&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    IWorkflowContext context = contextService.Context;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    &lt;span style="color:#008000"&gt;// Obtain IcrmService so we can call into CRM SDK to retrieve accounts&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    ICrmService crmService = context.CreateCrmService();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    &lt;span style="color:#008000"&gt;// this.sender property will have the accountnumber that needs to be matched.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    &lt;span style="color:#008000"&gt;// this.sender2 property will have the branchsiteaccountnumber that needs to be matched.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    Guid accountId = MatchAccountbyAccountnumber(crmService, &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.sender, &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.sender2);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    &lt;span style="color:#008000"&gt;// Set the accountId output property to return this data back to the calling workflow&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;    &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.accountId = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; Lookup(&lt;span style="color:#006080"&gt;&amp;quot;account&amp;quot;&lt;/span&gt;, accountId);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    &lt;span style="color:#0000ff"&gt;return&lt;/span&gt; ActivityExecutionStatus.Closed;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;}&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;    }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Soweit zum Quellcode. Diesen gilt es nunmehr zu kompilieren und die resultierende .dll-Datei mit Hilfe des aktuellen Plug-In-Registration-Werkzeuges in der Datenbank zu registrieren.
&lt;p&gt;Im Anschluss an die erfolgreiche Registrierung, steht uns die neue Option als &amp;quot;Schritt&amp;quot; in den Workflows zur Verfügung.
&lt;p&gt;Diesen gilt es nunmehr wie folgt aufzusetzen:
&lt;p&gt;&lt;a href="http://wzndoa.bay.livefilestore.com/y1pqxjBWhaTHIM96T_4XCzkENHzT1KrTVrJyAHYjMt185WmgzS33MYn0cJvPAKGJKm6XyP7vzZs2f4?PARTNER=WRITER"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 10px 0px 0px;border-left:0px;border-bottom:0px" height=231 alt="workflow_shot1" src="http://byfiles.storage.msn.com/y1p067gFAbnjyVI0idgy1MHdB8siB2NLU4vg-3MQb1sfBTmJBT1JH1Xi81AZPc10m4LoG_1uOyfhPA?PARTNER=WRITER" width=448 align=left border=0&gt;&lt;/a&gt; 
&lt;p&gt;Zunächst prüfen wir die Filialnummer dahingehend, dass der Workflow nur ausgeführt wird, wenn die Filialnummer nicht &amp;quot;0&amp;quot; entspricht. Schließlich wollen wir der Hauptfiliale nicht sich selbst zuweisen.
&lt;p&gt;Im Anschluss daran bestimmen wir unsere Firmennummer &amp;amp; Filialnummer.
&lt;p&gt;Die Firmennummer holen wir uns dabei als dynamischen Wert aus dem aktuellen Datensatz und die Filialnummer geben wir als &amp;quot;0&amp;quot; vor. Im Anschluss daran fügen wir im einen weiteren Schritt eine Datensatzaktualisierung durch. Hier aktualisieren wir das Feld &amp;quot;Übergeordnete Firma&amp;quot; mit dem durch unsere Routine zurückgelieferten Wert - der AccountID. &lt;a href="http://wzndoa.bay.livefilestore.com/y1pKqg29cyV9lyW33rdXiZISyzQmIQ_RYvWYMwm2EX-suq7JHjXAvgtuoQoExvcbb1rMU9COsT8pL693l7NRcj4Sg?PARTNER=WRITER"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 10px 0px 0px;border-left:0px;border-bottom:0px" height=173 alt="workflow_shot2" src="http://byfiles.storage.msn.com/y1peIgZe9TOsmMQyn9z3fD9UQGe9JBIMtNIZkUYiGqY62I8ki6nQWPV__-pKc3UqOgcYuNaErVaivA?PARTNER=WRITER" width=300 align=left border=0&gt;&lt;/a&gt;Und fertig...
&lt;p&gt;Wie Ihr den Bildern entnehmen könnt, ist in meinem Beispiel die Entität &amp;quot;Firma&amp;quot; in &amp;quot;Betrieb&amp;quot; umbenannt worden.
&lt;p&gt;Natürlich kann der Workflow auch noch verbessert werden und z.B. vorweg ein kleiner &amp;quot;TimeOut&amp;quot; als &amp;quot;Warte bis&amp;quot;-Schritt hinzugefügt werden, um zu verhindern, dass der Workflow unmittelbar nach Erstellung mit der Arbeit beginnt. Weiterhin kann der Bereich auch auf &amp;quot;Organisation&amp;quot; umgestellt werden. Meine Wahl &amp;quot;Benutzer&amp;quot; hängt lediglich mit meiner Präsentationsmaschine zusammen.
&lt;p&gt;Wer von Euch nun etwas mehr über Workflow Assemblies wissen möchte, dem seien nachfolgende Blog-Beiträge als Ersatz zu einer Bibliothek empfohlen:
&lt;p&gt;- &lt;a title="http://www.stunnware.com/crm2/topic.aspx?id=CustomWorkflowActivity" href="http://www.stunnware.com/crm2/topic.aspx?id=CustomWorkflowActivity"&gt;http://www.stunnware.com/crm2/topic.aspx?id=CustomWorkflowActivity&lt;/a&gt;
&lt;p&gt;- &lt;a title="http://danishmscrm.blogspot.com/2008/03/example-of-custom-workflow-activity-crm.html" href="http://danishmscrm.blogspot.com/2008/03/example-of-custom-workflow-activity-crm.html"&gt;http://danishmscrm.blogspot.com/2008/03/example-of-custom-workflow-activity-crm.html&lt;/a&gt;
&lt;p&gt;- &lt;a title="http://blogs.msdn.com/jim_glass/archive/2008/04/30/calling-a-net-assembly-in-mscrm-4-0-workflows.aspx" href="http://blogs.msdn.com/jim_glass/archive/2008/04/30/calling-a-net-assembly-in-mscrm-4-0-workflows.aspx"&gt;http://blogs.msdn.com/jim_glass/archive/2008/04/30/calling-a-net-assembly-in-mscrm-4-0-workflows.aspx&lt;/a&gt;
&lt;p&gt;- &lt;a title="http://msdn.microsoft.com/en-us/library/cc151142.aspx" href="http://msdn.microsoft.com/en-us/library/cc151142.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc151142.aspx&lt;/a&gt;
&lt;p&gt;- &lt;a title="http://blogs.msdn.com/crm/archive/2008/01/11/part-2-happy-birthday-via-workflow-using-custom-workflow-activity.aspx" href="http://blogs.msdn.com/crm/archive/2008/01/11/part-2-happy-birthday-via-workflow-using-custom-workflow-activity.aspx"&gt;http://blogs.msdn.com/crm/archive/2008/01/11/part-2-happy-birthday-via-workflow-using-custom-workflow-activity.aspx&lt;/a&gt;
&lt;p&gt;- &lt;a title="https://community.dynamics.com/blogs/crmteam/archive/2008/02/19/e-mail-to-case-lead-using-crm-4-workflow.aspx" href="https://community.dynamics.com/blogs/crmteam/archive/2008/02/19/e-mail-to-case-lead-using-crm-4-workflow.aspx"&gt;https://community.dynamics.com/blogs/crmteam/archive/2008/02/19/e-mail-to-case-lead-using-crm-4-workflow.aspx&lt;/a&gt;
&lt;p&gt;- &lt;a title="http://blogs.msdn.com/ukcrm/archive/2008/06/12/e-mail-to-case-using-workflow-update.aspx" href="http://blogs.msdn.com/ukcrm/archive/2008/06/12/e-mail-to-case-using-workflow-update.aspx"&gt;http://blogs.msdn.com/ukcrm/archive/2008/06/12/e-mail-to-case-using-workflow-update.aspx&lt;/a&gt;
&lt;p&gt;- &lt;a title="http://blogs.msdn.com/ukcrm/archive/2008/04/27/creating-sharepoint-sites-with-crm-workflow.aspx" href="http://blogs.msdn.com/ukcrm/archive/2008/04/27/creating-sharepoint-sites-with-crm-workflow.aspx"&gt;http://blogs.msdn.com/ukcrm/archive/2008/04/27/creating-sharepoint-sites-with-crm-workflow.aspx&lt;/a&gt;
&lt;p&gt;Viel Spass und
&lt;p&gt;vielleicht gibt es schon bald eine Bibliothek auf MSDN
&lt;p&gt; 
&lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/Microsoft" rel=tag&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CRM" rel=tag&gt;CRM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/4.0" rel=tag&gt;4.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Workflows" rel=tag&gt;Workflows&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Custom Assemblies" rel=tag&gt;Custom Assemblies&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7532676356639023117&amp;page=RSS%3a+Microsoft+Dynamics+CRM+4.0+%7c+Eigene+Workflow+Assemblies&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=carstengroth.spaces.live.com&amp;amp;GT1=carstengroth"&gt;</description><category>Tipps &amp; Tricks</category><comments>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!553.entry#comment</comments><guid isPermaLink="true">http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!553.entry</guid><pubDate>Mon, 04 Aug 2008 18:55:58 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://carstengroth.spaces.live.com/blog/cns!97768EC3728C1FF3!553/comments/feed.rss</wfw:commentRss><wfw:comment>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!553.entry#comment</wfw:comment><dcterms:modified>2008-08-04T19:03:55Z</dcterms:modified></item><item><title>Microsoft Dynamics CRM 4.0 | Standard-Ansicht für Aktivitäten &amp; historische Aktivitäten</title><link>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!548.entry</link><description>&lt;p&gt;&lt;br&gt;Mittlerweile haben einige Kollegen hier im Netz Wege aufgezeigt, wie sich die Aktivitätenansichten &lt;a href="http://byfiles.storage.msn.com/y1pHSzEQUFsO1VIT6-O5hwNtcLh1-eyGtc9lUfpNRNu9keu59Ey5NiKXxyINRRFrXMe?PARTNER=WRITER"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 10px 0px 0px;border-left:0px;border-bottom:0px" height=77 alt=image src="http://byfiles.storage.msn.com/y1pQm1341pnEB7ul6YTl-pUtI9Eb0MnZGtcAHwcymmKuHy9Fs25kQH2aSIsaqFtu_lq?PARTNER=WRITER" width=409 align=left border=0&gt;&lt;/a&gt; durch Anpassungen beeinflussen lassen. In meinen Projekten habe ich mich mit zwei Varianten (supported) näher auseinandergesetzt. Der Methode, die Micheal Höhne (stunnware) unter &lt;a title="http://www.stunnware.com/crm2/topic.aspx?id=js11" href="http://www.stunnware.com/crm2/topic.aspx?id=js11"&gt;http://www.stunnware.com/crm2/topic.aspx?id=js11&lt;/a&gt; veröffentlicht hat bzw. dem Update des Codes für 4.0 unter &lt;a title="http://www.stunnware.com/crm2/topic.aspx?id=JS33" href="http://www.stunnware.com/crm2/topic.aspx?id=JS33"&gt;http://www.stunnware.com/crm2/topic.aspx?id=JS33&lt;/a&gt;, den er von Jonathan Briggs zugesandt bekommen hat und einem weiteren Ansatz von Adi Katz, der unter &lt;a title="http://mscrm4ever.blogspot.com/2008/07/changing-activity-history-default-view.html" href="http://mscrm4ever.blogspot.com/2008/07/changing-activity-history-default-view.html"&gt;http://mscrm4ever.blogspot.com/2008/07/changing-activity-history-default-view.html&lt;/a&gt; zu finden ist. &lt;p&gt;Letzteren fand ich insbesondere spannend, da in einer Routine, sowohl die Ansicht der Aktivitäten, als auch die Ansicht der historischen Aktivitäten zu beeinflussen ist. In meinen Projekten, sorgte der Einsatz jedoch für einen Script-Fehler. Und zwar immer dann, wenn ich das Register wechselte. Dies hatte zur Folge, dass beim Verlassen des Datensatzes über Abbruch ohne Speichern oder auch mit Speichern der Anwender eine unschöne Fehlermeldung erhält. &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt; &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;...&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;var&lt;/span&gt; _loadarea = loadArea;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;loadArea = &lt;span style="color:#0000ff"&gt;function&lt;/span&gt;(areaid)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;{&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#008000"&gt;//load the iframe &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;_loadarea(areaid);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#008000"&gt;//create the iframe object &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;var&lt;/span&gt; iframe = document.getElementById(areaid + &lt;span style="color:#006080"&gt;&amp;quot;Frame&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#008000"&gt;//wait until the iframe is fully loaded (&amp;quot;complete&amp;quot;) &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;iframe.onreadystatechange = &lt;span style="color:#0000ff"&gt;function&lt;/span&gt;()&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;{&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#0000ff"&gt;if&lt;/span&gt;( iframe.readyState == &lt;span style="color:#006080"&gt;&amp;quot;complete&amp;quot;&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;{&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;...&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt; 
&lt;p&gt;Nachdem ich den Code analysiert hatte, fiel mir auf, das beim Wechsel des Registers die Variable &lt;em&gt;iframe&lt;/em&gt; mit einem NULL-Wert belegt werden könnte. &lt;br&gt;Hier also der komplette Code mit einer Fehler-Abfrage zum NULL-Wert:
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   1:&lt;/span&gt; &lt;span style="color:#008000"&gt;//Activity scheduledend options &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;var&lt;/span&gt; ActivityOptions =&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   4:&lt;/span&gt; Overdue :&lt;span style="color:#006080"&gt;&amp;quot;Overdue&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   5:&lt;/span&gt; Today :&lt;span style="color:#006080"&gt;&amp;quot;Today&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   6:&lt;/span&gt; Tomorrow :&lt;span style="color:#006080"&gt;&amp;quot;Tomorrow&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   7:&lt;/span&gt; Next7Days :&lt;span style="color:#006080"&gt;&amp;quot;NextXDays;7&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   8:&lt;/span&gt; Next30Days :&lt;span style="color:#006080"&gt;&amp;quot;NextXDays;30&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   9:&lt;/span&gt; Next90Days :&lt;span style="color:#006080"&gt;&amp;quot;NextXDays;90&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  10:&lt;/span&gt; Next6Months :&lt;span style="color:#006080"&gt;&amp;quot;NextXMonths;6&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  11:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  12:&lt;/span&gt; &lt;span style="color:#008000"&gt;//Activity History actualend options &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  13:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;var&lt;/span&gt; HistoryOptions =&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  14:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  15:&lt;/span&gt; Today : &lt;span style="color:#006080"&gt;&amp;quot;Today&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  16:&lt;/span&gt; Yesterday : &lt;span style="color:#006080"&gt;&amp;quot;Yesterday&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  17:&lt;/span&gt; Last7Days : &lt;span style="color:#006080"&gt;&amp;quot;LastXDays;7&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  18:&lt;/span&gt; Last30Days : &lt;span style="color:#006080"&gt;&amp;quot;LastXDays;30&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  19:&lt;/span&gt; Last90Days : &lt;span style="color:#006080"&gt;&amp;quot;LastXDays;90&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  20:&lt;/span&gt; Last6Months : &lt;span style="color:#006080"&gt;&amp;quot;LastXMonths;6&amp;quot;&lt;/span&gt;,&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  21:&lt;/span&gt; Last12Months: &lt;span style="color:#006080"&gt;&amp;quot;LastXMonths;12&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  22:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  23:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  24:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;var&lt;/span&gt; _loadarea = loadArea;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  25:&lt;/span&gt; loadArea = &lt;span style="color:#0000ff"&gt;function&lt;/span&gt;(areaid)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  26:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  27:&lt;/span&gt; &lt;span style="color:#008000"&gt;//load the iframe &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  28:&lt;/span&gt; _loadarea(areaid);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  29:&lt;/span&gt; &lt;span style="color:#008000"&gt;//create the iframe object &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  30:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;var&lt;/span&gt; iframe = document.getElementById(areaid + &lt;span style="color:#006080"&gt;&amp;quot;Frame&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  31:&lt;/span&gt; &lt;span style="color:#008000"&gt;// added code to avoid NULL value&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  32:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;if&lt;/span&gt;( iframe != &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  33:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  34:&lt;/span&gt; &lt;span style="color:#008000"&gt;//wait until the iframe is fully loaded (&amp;quot;complete&amp;quot;) &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  35:&lt;/span&gt; iframe.onreadystatechange = &lt;span style="color:#0000ff"&gt;function&lt;/span&gt;()&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  36:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  37:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;if&lt;/span&gt;( iframe.readyState == &lt;span style="color:#006080"&gt;&amp;quot;complete&amp;quot;&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  38:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  39:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;var&lt;/span&gt; picklist,option;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  40:&lt;/span&gt; &lt;span style="color:#008000"&gt;//reference to the iframe document &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  41:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;var&lt;/span&gt; iframeDoc = iframe.contentWindow.document;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  42:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;switch&lt;/span&gt;(areaid)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  43:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  44:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;case&lt;/span&gt; &lt;span style="color:#006080"&gt;&amp;quot;areaActivityHistory&amp;quot;&lt;/span&gt;:&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  45:&lt;/span&gt; picklist = iframeDoc.all.actualend[0];&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  46:&lt;/span&gt; &lt;span style="color:#008000"&gt;/* change to suit your needs */&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  47:&lt;/span&gt; option = HistoryOptions.Last90Days;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  48:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;break&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  49:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;case&lt;/span&gt; &lt;span style="color:#006080"&gt;&amp;quot;areaActivities&amp;quot;&lt;/span&gt;:&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  50:&lt;/span&gt; picklist = iframeDoc.all.scheduledend[0];&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  51:&lt;/span&gt; &lt;span style="color:#008000"&gt;/* change to suit your needs */&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  52:&lt;/span&gt; option = ActivityOptions.Next7Days;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  53:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;break&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  54:&lt;/span&gt; &lt;span style="color:#0000ff"&gt;default&lt;/span&gt;: &lt;span style="color:#0000ff"&gt;return&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  55:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  56:&lt;/span&gt; picklist.value = option;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  57:&lt;/span&gt; picklist.FireOnChange();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  58:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  59:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  60:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  61:&lt;/span&gt; } &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt; 
&lt;p&gt;Damit gehört der Script-Fehler der Vergangenheit an. Viel Spass !
&lt;p&gt; 
&lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/Microsoft" rel=tag&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CRM" rel=tag&gt;CRM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/4.0" rel=tag&gt;4.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Anpassungen" rel=tag&gt;Anpassungen&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Script" rel=tag&gt;Script&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Standard-Ansichten" rel=tag&gt;Standard-Ansichten&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7532676356639023117&amp;page=RSS%3a+Microsoft+Dynamics+CRM+4.0+%7c+Standard-Ansicht+f%c3%bcr+Aktivit%c3%a4ten+%26+historische+Aktivit%c3%a4ten&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=carstengroth.spaces.live.com&amp;amp;GT1=carstengroth"&gt;</description><category>Anpassungen</category><comments>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!548.entry#comment</comments><guid isPermaLink="true">http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!548.entry</guid><pubDate>Mon, 04 Aug 2008 17:46:21 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://carstengroth.spaces.live.com/blog/cns!97768EC3728C1FF3!548/comments/feed.rss</wfw:commentRss><wfw:comment>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!548.entry#comment</wfw:comment><dcterms:modified>2008-08-04T17:46:21Z</dcterms:modified></item><item><title>Microsoft Dynamics CRM 4.0 | AutoUpdate Routine des Clients</title><link>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!545.entry</link><description>&lt;p&gt;&lt;br&gt;Um auch administrativ Ordnung beim Patchen von Microsoft Dynamics CRM zu behalten, wurde in den Client eine AutoUpdate Routine eingebaut. Unter &lt;a title="http://blogs.msdn.com/crm/archive/2008/05/08/crm-client-autoupdate.aspx" href="http://blogs.msdn.com/crm/archive/2008/05/08/crm-client-autoupdate.aspx"&gt;http://blogs.msdn.com/crm/archive/2008/05/08/crm-client-autoupdate.aspx&lt;/a&gt; steht beschrieben, wie diese Routine einzurichten ist, weshalb ich hier nicht näher auf die Einrichtung eingehen werde. Den CRM Server hingegen gilt es manuell mit den Patchen / Hotfixes zu versorgen. Für die Clients jedoch ist die AutoUpdate Routine eine Erleichterung für den Administrator und noch dazu behält man den Überblick über ausgerollte Patches / Hotfixes. &lt;p&gt;Ebenfalls ausführlich beschrieben steht der AutoUpdate Einrichtungs-Prozess unter &lt;a title="http://blog.powerobjects.com/2008/06/19/dr-strangelove-or-how-i-learned-to-stop-worrying-and-love-the-autoupdate-tool/" href="http://blog.powerobjects.com/2008/06/19/dr-strangelove-or-how-i-learned-to-stop-worrying-and-love-the-autoupdate-tool/"&gt;http://blog.powerobjects.com/2008/06/19/dr-strangelove-or-how-i-learned-to-stop-worrying-and-love-the-autoupdate-tool/&lt;/a&gt;. Hier sogar mit den Auswirkungen - sprich dem Screenshot des sich am Client öffnenden Fensters mit einem erforderlichen Update. Auch der Verweis auf ein Tool mit dem man die Gruppenrichtlinien erweitern kann, um den für die AutoUpdate Funktion erforderlichen Registry Key jedem Client über eine Gruppen-Regel zur Verfügung zu stellen, ist hier sprichwörtliches &amp;quot;gold&amp;quot; wert. Schließlich hat niemand Lust an n-Rechnern den Registry Key manuell einzutragen. &lt;p&gt;Ziemlich aufwendig jedoch ist der Prozess, die Konfigurations XML Datei jeweils auf den aktuellen Stand zu bringen. Insbesondere, da man in der XML-Datei die &amp;lt;PatchId&amp;gt; vermerken muss. An diese lässt sich laut Anleitung über die Extraktion der Patch- bzw. Hotfix-Datei (.exe) herankommen. Dabei fragt man sich, warum Microsoft diesen Wert nicht in die Hotfix.txt-Datei schreibt, die ebenfalls jedem Hotfix oder Patch beigefügt ist?! &lt;p&gt;Ich war schon am überlegen, hierfür ein kleines Tool zu schreiben. Doch momentan fehlt die Zeit für ein solches Projekt. Um es sich als Administrator im Tagesgeschäft jedoch einfacher zu gestalten und nicht jeden Client Patch in der aufwendigen Art und Weise zu entpacken, um an die &amp;lt;PatchId&amp;gt; zu gelangen, hier mein Tipp: &lt;p&gt;&lt;a href="http://wzndoa.bay.livefilestore.com/y1puLOV_I4MbnZn_h1BTBL9_EQ1R9iO8ilgRlJzpC-SuqDhgD2fORJ5wKfFwhl6l10yagW_AP6n0OE?PARTNER=WRITER"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 10px 0px 0px;border-left:0px;border-bottom:0px" height=257 alt=GettingPatchId src="http://byfiles.storage.msn.com/y1p6CnFYbLLlkqV95BAZ5UttY6KcKAiHwi13nO0UZHijgNeNLpMVSB9-79cyUrsEFUiMwLKgB4I5Dg?PARTNER=WRITER" width=353 align=left border=0&gt;&lt;/a&gt;  &lt;p&gt;Alles was es bedarf, ist ein Client, auf den der Administrator direkten Zugriff hat und die Installation des Patches oder Hotfixes. Im Anschluss lässt sich über die Ausgabe der installierten Upates auf dem System durch einen Klick auf &lt;em&gt;&amp;lt;Klicken sie hier, um Supportinformationen zu erhalten&amp;gt;&lt;/em&gt; in dem sich öffnenden Fenster unter &lt;strong&gt;Updatekennung&lt;/strong&gt; die erforderliche &amp;lt;PatchId&amp;gt; ermitteln. &lt;p&gt;Mit dieser lässt dann die config.xml Datei pflegen und für die Beschreibung des Hotfixes hat man ja die Beschreibung aus dem KB-Artikel (diese in der XML mit aufzuführen lohnt sich - die User danken es einem zu wissen, welches Update denn eingespielt wird). &lt;p&gt;Hat man sich erst einmal eine config.xml-Datei aufgebaut, so lässt sich diese kontinuierlich pflegen und der Aufwand hält sich somit in Grenzen. &lt;p&gt;Ich hoffe, damit wieder einen kleinen Teil zur Zeitersparnis in der Administration von Microsoft Dynamics CRM 4.0 beigetragen zu haben und wünsche Euch viel Spass in der Umsetzung. &lt;p&gt;  &lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/Microsoft" rel=tag&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CRM" rel=tag&gt;CRM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/4.0" rel=tag&gt;4.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Client" rel=tag&gt;Client&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AutoUpdate" rel=tag&gt;AutoUpdate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tipps &amp;amp; Tricks" rel=tag&gt;Tipps &amp;amp; Tricks&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7532676356639023117&amp;page=RSS%3a+Microsoft+Dynamics+CRM+4.0+%7c+AutoUpdate+Routine+des+Clients&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=carstengroth.spaces.live.com&amp;amp;GT1=carstengroth"&gt;</description><category>Tipps &amp; Tricks</category><comments>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!545.entry#comment</comments><guid isPermaLink="true">http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!545.entry</guid><pubDate>Fri, 25 Jul 2008 17:31:42 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://carstengroth.spaces.live.com/blog/cns!97768EC3728C1FF3!545/comments/feed.rss</wfw:commentRss><wfw:comment>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!545.entry#comment</wfw:comment><dcterms:modified>2008-07-25T17:32:48Z</dcterms:modified></item><item><title>Microsoft Dynamics CRM 4.0 | Anpassungen hochladen?</title><link>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!542.entry</link><description>&lt;p&gt;&lt;br&gt;Manchmal entdeckt man durch Zufall, was sich Programmierer bei einer Routine überlegt haben. &lt;p&gt;Mir erging es jüngst so bei der Einspielung von Anpassungen. &lt;a href="http://wzndoa.bay.livefilestore.com/y1pwduU2wMCzrRymrLsNFM_9tCQT0RAJc8-vxmGmmbqUbrYFwgF67f6LateX3xKW_RFtwi6lXAhuyw?PARTNER=WRITER"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 10px 0px 0px;border-left:0px;border-bottom:0px" height=78 alt="Fehlermeldung_Upload_XML_Anpassung" src="http://byfiles.storage.msn.com/y1pE0BCHIfXdpm-DeAY9O3h0zS9uZDQ7is0BpTALuEZvAKj7SZN5hJy9aSKQdMcn9Hn8jkEtj0Ps54?PARTNER=WRITER" width=493 align=left border=0&gt;&lt;/a&gt;Da war ich doch ziemlich überrascht, als mir folgende Fehlermeldung bei dem Versuch eine Anpassungsdatei hochzuladen präsentiert wurde. Da der Standard-Programmpfad von Microsoft Dynamics CRM (C:\Programme\Microsoft Dynamics CRM\) bereits 36-Zeichen einnimmt kommt man schon bald an dieses Limit. In meinem Fall hatte der Kunde einen Pfad &amp;quot;\Anpassungen\&amp;quot; und darunter in ordentlicher Art und Weise nach Datumsbezeichnung &amp;quot;\2008-07-25\&amp;quot; die ZIP-Dateien abgelegt.  &lt;p&gt;Mein Tipp also: die Sicherungen der Anpassungen direkt im Root-Verzeichnis ablegen, um nicht in die Not zu kommen, den Bezeichnungen der Datei zu kürzen oder gar mehrfach Kopien auf dem Server ablegen zu müssen. Und natürlich auch keine der genannten Sonderzeichen in der Dateibezeichnung. &lt;p&gt;  &lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/Microsoft" rel=tag&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CRM" rel=tag&gt;CRM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/4.0" rel=tag&gt;4.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tipps &amp;amp; Tricks" rel=tag&gt;Tipps &amp;amp; Tricks&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Anpassungen" rel=tag&gt;Anpassungen&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7532676356639023117&amp;page=RSS%3a+Microsoft+Dynamics+CRM+4.0+%7c+Anpassungen+hochladen%3f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=carstengroth.spaces.live.com&amp;amp;GT1=carstengroth"&gt;</description><category>Anpassungen</category><comments>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!542.entry#comment</comments><guid isPermaLink="true">http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!542.entry</guid><pubDate>Fri, 25 Jul 2008 16:26:38 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://carstengroth.spaces.live.com/blog/cns!97768EC3728C1FF3!542/comments/feed.rss</wfw:commentRss><wfw:comment>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!542.entry#comment</wfw:comment><dcterms:modified>2008-07-25T16:27:44Z</dcterms:modified></item><item><title>Microsoft Dynamics CRM 4.0 | DNS Fehler während der Installation</title><link>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!535.entry</link><description>&lt;p&gt;  &lt;p&gt;Trotz bester Vorbereitungen und Einhaltung der Checklisten des Implementierungshandbuches, bin ich neulich über einen Fehler &amp;quot;Unable to obtain DNS hostname of Active Directory domain controller with ntdsa object name...&amp;quot; gestolpert. Ungewöhnlich, war vor allem die Tatsache, dass der Umgebungsdiagnose-Check der Installationsroutine zuvor noch eine einwandfreie Umgebung auswies. Alle durchgeführten Checks, auch der der Active Directory, wurde mit einem grünen Häkchen als korrekt durchgeführt bestätigt. &lt;p&gt;Zunächst vermutete ich, dass die Rechte des Installationsusers doch nicht ausreichend eingerichtet wurden, doch ein Check der Rechte bestätigte, dass hier alles korrekt eingerichtet wurde. &lt;p&gt;Ein zweiter Versuch nach Bereinigung der CRM Installationsmaschine und des SQL-Servers mit einem User noch höherer Rechte, ließ mich den Fehler reproduzieren. Die Microsoft Knowledgebase erwies sich in diesem Fall als &amp;quot;treuer Freund und Helfer&amp;quot;. Der Artikel &lt;a title="http://support.microsoft.com/kb/321045/de" href="http://support.microsoft.com/kb/321045/de"&gt;http://support.microsoft.com/kb/321045/de&lt;/a&gt; brachte mit dem Tool DNSLint.exe einen &lt;strong&gt;&lt;em&gt;CNAME Fehler&lt;/em&gt;&lt;/strong&gt; eines Servers zum Vorschein, der sich in einer vertrauenswürdig eingestuften Domäne befand. Nachdem dieser Eintrag behoben wurde, ließ sich Microsoft Dynamics CRM einwandfrei installieren. &lt;p&gt;Solltet Ihr also auch einmal auf einen derartigen Fehler stoßen, empfehle ich zunächst den Report mit DNSLint.exe auf den Domain-Controllern zu erzeugen und sich davon zu überzeugen, dass wirklich keinerlei Fehler in der ActiveDirectory vorhanden sind. &lt;p&gt;In diesem Zusammenhang darf ich auch gleich auf den aktuellen Heise-Artikel unter &lt;a title="http://www.heise.de/security/Massives-DNS-Sicherheitsproblem-gefaehrdet-das-Internet--/news/meldung/110641" href="http://www.heise.de/security/Massives-DNS-Sicherheitsproblem-gefaehrdet-das-Internet--/news/meldung/110641"&gt;http://www.heise.de/security/Massives-DNS-Sicherheitsproblem-gefaehrdet-das-Internet--/news/meldung/110641&lt;/a&gt; verweisen. Microsoft hat hier umgehend einen aktuellen Sicherheitspatch unter &lt;a title="http://www.microsoft.com/germany/technet/sicherheit/bulletins/ms08-037.mspx" href="http://www.microsoft.com/germany/technet/sicherheit/bulletins/ms08-037.mspx"&gt;http://www.microsoft.com/germany/technet/sicherheit/bulletins/ms08-037.mspx&lt;/a&gt; hierzu veröffentlicht. &lt;p&gt;  &lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/Microsoft" rel=tag&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CRM" rel=tag&gt;CRM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/4.0" rel=tag&gt;4.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tipps &amp;amp; Tricks" rel=tag&gt;Tipps &amp;amp; Tricks&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Installation" rel=tag&gt;Installation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNS-Error" rel=tag&gt;DNS-Error&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Security-Bulletin MS08-037" rel=tag&gt;Security-Bulletin MS08-037&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7532676356639023117&amp;page=RSS%3a+Microsoft+Dynamics+CRM+4.0+%7c+DNS+Fehler+w%c3%a4hrend+der+Installation&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=carstengroth.spaces.live.com&amp;amp;GT1=carstengroth"&gt;</description><category>Tipps &amp; Tricks</category><comments>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!535.entry#comment</comments><guid isPermaLink="true">http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!535.entry</guid><pubDate>Sun, 13 Jul 2008 19:03:17 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://carstengroth.spaces.live.com/blog/cns!97768EC3728C1FF3!535/comments/feed.rss</wfw:commentRss><wfw:comment>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!535.entry#comment</wfw:comment><dcterms:modified>2008-07-13T19:05:16Z</dcterms:modified></item><item><title>Microsoft Dynamics CRM 4.0 | Wiki</title><link>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!534.entry</link><description>&lt;p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/"&gt;&lt;/a&gt;&lt;a href="http://channel9.msdn.com/"&gt;&lt;/a&gt;&lt;a href="http://channel9.msdn.com/Wiki/DynamicsCRM/HomePage/"&gt;&lt;img style="margin:0px 10px 0px 0px" height=112 alt=CRMwiki src="http://blogs.msdn.com/blogfiles/crm/WindowsLiveWriter/MicrosoftDynamicsCRMWiki_78F1/CRMwiki_3.jpg" width=644 align=left border=0&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/crm/pages/bio-john-o-donnell.aspx" target="_blank"&gt;John O´Donnell&lt;/a&gt; hat auf Channel 9 ein &lt;a title="Microsoft Dynamics CRM Wiki" href="http://channel9.msdn.com/Wiki/DynamicsCRM/HomePage/" target="_blank"&gt;Wiki&lt;/a&gt; zum Thema Microsoft Dynamics CRM eingerichtet. Die Intention mit diesem Wiki die zahlreichen Informationen zum Thema Microsoft Dynamics CRM in einem Online-Dokument zu sammeln, wird natürlich auch von mir unterstützt. Ich darf alle Leser an dieser Stelle animieren, sich an diesem Wiki zu beteiligen und es aktiv mit &amp;quot;Leben&amp;quot; zu füllen. So dürfte bereits binnen kürzester Zeit ein Register entstehen, dass die zahlreich verteilten Informationen zentral bündelt. &lt;p&gt;  &lt;p&gt;Thanks John for this great way sharing information ! &lt;p&gt;  &lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/Microsoft" rel=tag&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CRM" rel=tag&gt;CRM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/4.0" rel=tag&gt;4.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Know-How" rel=tag&gt;Know-How&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Wiki" rel=tag&gt;Wiki&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Channel 9" rel=tag&gt;Channel 9&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7532676356639023117&amp;page=RSS%3a+Microsoft+Dynamics+CRM+4.0+%7c+Wiki&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=carstengroth.spaces.live.com&amp;amp;GT1=carstengroth"&gt;</description><category>CRM 4.0</category><comments>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!534.entry#comment</comments><guid isPermaLink="true">http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!534.entry</guid><pubDate>Mon, 30 Jun 2008 18:30:25 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://carstengroth.spaces.live.com/blog/cns!97768EC3728C1FF3!534/comments/feed.rss</wfw:commentRss><wfw:comment>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!534.entry#comment</wfw:comment><dcterms:modified>2008-06-30T18:31:03Z</dcterms:modified></item><item><title>Microsoft Dynamics CRM 4.0 | Workflows und Ihre Tücken...</title><link>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!530.entry</link><description>&lt;p&gt;  &lt;p&gt;...heute mal ein Praxistipp auf Grund eines aktuellen Supportfalls zum Thema Workflow und Aktualisierung eines Attributes.  &lt;p&gt;Workflows helfen uns, tägliche Arbeiten mit Microsoft Dynamics CRM zu erleichtern und können uns so manche Aufgabe abnehmen. Im besagten Fall hatte sich ein Kunde eine Anpassung einrichten lassen, die es Ihm ermöglichte die aktuelle Entitäts-URL in einem Attribut zu speichern. Dies wurde über einen Workflow gesteuert. Soweit so gut. Nun wurde das Attribut aber leider als &amp;quot;Text&amp;quot;-Attribut angelegt und nicht als &amp;quot;URL&amp;quot;-Attribut. Dies hätte den Zugriff auf die URL erleichtert, da man den Inhalt des Text-Attribut-Feldes zunächst in die IE Adressleiste kopieren musste, während der Inhalt eines URL-Attributes, gleich als Hyperlink angezeigt wird. &lt;p&gt;Gesagt, getan - dachte sich der Kunde und wollte das Attributsfeld in ein URL-Attribut ändern. Dies ist jedoch nachträglich nicht möglich, weshalb er sich ein neues Attributsfeld passenden Typs einrichtete und den Workflow entsprechend auf das neue Feld anpasste. Die Workflow-Logik funktionierte, jedoch störte (optisch) nunmehr das alte Attributsfeld.  &lt;p&gt;Also wurde noch einmal das Entitätsformular angepasst, das Feld aus dem Formular entfernt, anschließend veröffentlicht - doch siehe da: Beim Versuch das Attribut zu löschen, bekam er eine Fehlermeldung. Das Attribut wäre noch Bestandteil des Workflows ;-(. &lt;p&gt;Nun, das Attribut wieder dem Formular hinzugefügt, dieses veröffentlicht und den Workflow bearbeitet. Nachdem dieser wieder auf &lt;em&gt;unveröffentlicht&lt;/em&gt; gesetzt wird, lässt er sich bearbeiten. Und was soll man sagen: In dem alten Attributsfeld stand noch der Dynamische Wert. Diesen also ebenfalls gelöscht, den Workflow erneut veröffentlicht. Anschließend das Formular bearbeitet und dort das Attribut entfernt. Die Entität veröffentlicht und sodann der erneute Versuch, das Attribut zu löschen. Doch wieder kein Erfolg, denn noch immer sagt die Fehlermeldung das Attribut wäre Bestandteil eines Workflows und könne daher nicht gelöscht werden. &lt;p&gt;Doch dem verzweifelten Kunden konnte geholfen werden. Da mit dem ursprünglichen Workflow bereits Feldaktualisierungen (altes Attribut) durchgeführt wurden und diese in der Workflow-Umgebung (Einstellungen - Workflows) als &amp;quot;abgearbeitet&amp;quot; stehen, kann das Attribut nicht gelöscht werden. Zunächst sind daher alle Workflows aus der Liste der durchgeführten Workflows zu löschen. Im Anschluss ist dann das Attribut auch wieder zu löschen. &lt;p&gt;Drum merket auf: Vorsicht bei der Anlage von Attributen und Auswahl des Attributtyps ! &lt;p&gt;Denn sollten bereits zahlreiche Workflows abgearbeitet im System verweilen, könnte die Löschaktion sehr zeitraubend sein. Und in diesem Fall wäre es ratsam das alte Attribut zu erhalten und lediglich zu aktualisieren, z.B. mit dem Präfix &amp;quot;&lt;strong&gt;alt_&amp;quot; &lt;/strong&gt;versehen oder dergleichen. &lt;p&gt;In diesem Sinne... &lt;p&gt;[Anmerkung: Leider durften hier keine Bilder veröffentlicht werden - diese hätten vielleicht den ein oder anderen Punkt veranschaulicht] &lt;p&gt;  &lt;div style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/Microsoft" rel=tag&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CRM" rel=tag&gt;CRM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/4.0" rel=tag&gt;4.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Praxis" rel=tag&gt;Praxis&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tipps &amp;amp; Tricks" rel=tag&gt;Tipps &amp;amp; Tricks&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Workflows" rel=tag&gt;Workflows&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7532676356639023117&amp;page=RSS%3a+Microsoft+Dynamics+CRM+4.0+%7c+Workflows+und+Ihre+T%c3%bccken...&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=carstengroth.spaces.live.com&amp;amp;GT1=carstengroth"&gt;</description><category>Tipps &amp; Tricks</category><comments>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!530.entry#comment</comments><guid isPermaLink="true">http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!530.entry</guid><pubDate>Wed, 04 Jun 2008 18:07:49 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://carstengroth.spaces.live.com/blog/cns!97768EC3728C1FF3!530/comments/feed.rss</wfw:commentRss><wfw:comment>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!530.entry#comment</wfw:comment><dcterms:modified>2008-06-04T18:09:00Z</dcterms:modified></item><item><title>Microsoft Dynamics CRM 4.0 | Benutzerdefinierte Zuordnungen</title><link>http://carstengroth.spaces.live.com/Blog/cns!97768EC3728C1FF3!527.entry</link><description>&lt;p&gt;&lt;br&gt;Mein heutiges Kurzvideo beschäftigt sich mit einem Thema, welches auch in den Foren der MSCRM-Community immer wieder gern nachgefragt wird: Den Zuordnungen. &lt;p&gt;Was bewirken eigentlich Attributs-Zuordnungen (Mappings)? Sie sind praktisch, wenn es darum geht Felder zu synchronisieren und begegnen uns beispielsweise in der Konvertierung eines Leads in einen Kontakt und/oder Firma. Die Adressinformationen des Leads werden dabei 1:1 übernommen. Nun gibt es weitere Möglichkeiten, wie Workflows, Plug-Ins oder auch JavaScript, um die Adressinformationen ebenfalls zu synchronisieren, doch in so mancher Praxis ist der Weg über die Zuordnungen ebenso prakt