<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-4934725997704987469</atom:id><lastBuildDate>Thu, 19 Dec 2024 03:25:19 +0000</lastBuildDate><category>Microsoft Dynamics CRM</category><category>CRM Customization</category><category>Microsoft Dynamics CRM 4.0</category><category>Javascript</category><category>Microsoft CRM 4.0</category><category>Accelerators</category><category>SQL Server Reporting Services</category><category>SSRS</category><category>VB</category><category>Analytics Foundation</category><category>CRM Data Migration Manager</category><category>Developer Tools</category><category>Hotfix</category><category>IE8</category><category>Import Organization</category><category>Installation</category><category>Internet Explorer</category><category>Internet Explorer 6</category><category>Internet Explorer 8</category><category>LINQtoCRM</category><category>Liberation Day</category><category>Microsoft Corp</category><category>Northwind</category><category>Steve Ballmer</category><category>Sydney</category><category>System.Data.SqlClient.SqlException</category><category>Usergroup</category><category>Visual Studio</category><category>Webservice</category><category>Windows Application</category><title>Kiavash Shakibaee</title><description>Microsoft Dynamics CRM .Net VB C# ASP, SQL, CRM, DNN and more...</description><link>http://kiavashshakibaee.blogspot.com/</link><managingEditor>noreply@blogger.com (Kiavash Shakibaee)</managingEditor><generator>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-5254011180941171041</guid><pubDate>Fri, 02 Jul 2010 06:43:00 +0000</pubDate><atom:updated>2010-07-02T00:37:58.750-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Internet Explorer 6</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM 4.0</category><title>Error loading form in IE6 - &quot;An Error has occured. Try this action again&quot; / &quot;An Error has happened getting the date&quot;</title><description>Recently I noticed an issue with viewing some forms using Internet Explorer 6. Here&#39;s the senario: &lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You try to open an entity with a large number of attributes (often multiple date fields). But the form partially loads with the note in the status bar &quot;X items remaining&quot;. &lt;/div&gt;&lt;div&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 256px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5489202281954055250&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1021NycntZw9fA1jhCTI7qFULIA341oiPY5LcwoVjceff_OHICqfOlV0GcHGGmR7vDacMusW6hHnJC-vE1a5ZwHFVroFKe8PwMLYCL8k6b1odjJhHUnzBm0g216pYba-_TQivq-7IOJc/s400/1.gif&quot; /&gt;&lt;/div&gt;&lt;div&gt;At this point IE is not responfing and the only option is to wait or End Task in the Task Manager. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqfAOysbs71y16IMBm4czqhRnRSeT67TeVcTIACBfQXFSiCO4J0WWOmNsE07USGcKsj_hj2FPtvz0hC6YqWWg_IR_r22mEBaorW2_jo203gekggQBj_v40EFuqPiWsqGR744C2t0N7jfs/s1600/1.gif&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;After a long wait, the form finally loads. But with Errors: &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjt8yWKtOsdARcCNsfTaRUriGGWc_vTcjuHs-_OXB8s95zUMc6FfSN3GtWavjWzzGsQWT7lp4Q6IDXTmkCM8LaReNfDrd8nArZDBOcYa-TufIGgf3DMfETYDuEfgQaDvch6Cbitm4J0lQ/s1600/2.gif&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 66px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5489200904488346018&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjt8yWKtOsdARcCNsfTaRUriGGWc_vTcjuHs-_OXB8s95zUMc6FfSN3GtWavjWzzGsQWT7lp4Q6IDXTmkCM8LaReNfDrd8nArZDBOcYa-TufIGgf3DMfETYDuEfgQaDvch6Cbitm4J0lQ/s400/2.gif&quot; /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 143px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5489201308216946338&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGLP3RFJOwLb41QsQkKD9ra7MBA7YPSRN1tYoygUDGf4154H3tkdM9y_DiO_R_AhH1Uri5pMdAHbNs9tFGmprENMrNF-C4f5atbenueCGeKCUmPXIIJQmgYbxx4q43jpOAW60L37tU1e8/s400/3.gif&quot; /&gt;You may also get various other errors.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This error is probably related to the maximum number of concurrent TCP connections that Internet Explorer 6 can open. By default IE 6 only allows maximum of two TCP connections. If the browser tries to open a third, it freezes and waits for another connection to become available. This is particularly seen on a web page with several http AJAX type calls to the server. Various CRM 4.0 components such as the date/time field use AJAX to retrieve data.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This problem has been resolved in IE 8.0 onwards. But you can increase the TCP connections in a browse using a registry setting that’s often used to improve and speed up IE’s performance.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;p&gt;Open RegeditNavigate to [HKEY_CURRRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]&lt;br /&gt;&lt;br /&gt;Add a new DWORD&lt;br /&gt;MaxConnectionsPer1_0Server&lt;br /&gt;Enter a decimal value for the new Key of at least 8&lt;br /&gt;&lt;br /&gt;Add another new DWORD&lt;br /&gt;MaxConnectionsPerServer&lt;br /&gt;Enter a decimal value for the new Key of at least 8 &lt;/p&gt;&lt;p&gt;&lt;br /&gt;More details on setting this registry key: &lt;a href=&quot;http://www.windowsreference.com/internet-explorer/speed-up-internet-explorer-by-tweaking-maximum-connections/&quot;&gt;http://www.windowsreference.com/internet-explorer/speed-up-internet-explorer-by-tweaking-maximum-connections/&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;</description><link>http://kiavashshakibaee.blogspot.com/2010/07/error-loading-form-in-ie6-error-has.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1021NycntZw9fA1jhCTI7qFULIA341oiPY5LcwoVjceff_OHICqfOlV0GcHGGmR7vDacMusW6hHnJC-vE1a5ZwHFVroFKe8PwMLYCL8k6b1odjJhHUnzBm0g216pYba-_TQivq-7IOJc/s72-c/1.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-7775257823770157810</guid><pubDate>Fri, 02 Jul 2010 06:07:00 +0000</pubDate><atom:updated>2010-07-01T23:41:27.752-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Import Organization</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM 4.0</category><title>Error Importing Organization in CRM 4.0:</title><description>&lt;strong&gt;Error: Import Organization (Name=, Id=) failed with Exception:System.Data.SqlClient.SqlException: The transaction log for database &#39;XXXX_MSCRM&#39; is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;This error suggestes that the database transaction log has grown beyond maximum size or disk is full. The odds are that you have a fairly large database reaching a few GB. There are 2 possible solutions here...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solutions 1&lt;/strong&gt;&lt;br /&gt;Since importing an Organization in CRM 4.0 will involve a lot of work, the transaction log occasionally tends to become unmanageably large. First try to lower the log size.&lt;br /&gt;&lt;br /&gt;In the database properties screen set &quot;Recovery Mode&quot; to simple:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB7Mqg9kavhlzP-l_pFMo-ScBityJAx14ZHP3dwZmf5ffFX_jVbFMIHLpc7gWH3261cnwh7u1C0AzYCQ3d28OBY-rY4bSuFJj_oLFAEEZepTJgTz-8eAXg5hKLB6aXMVK0tchvTpjpDEQ/s1600/DBSimpleRecovery.gif&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 359px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5489191430542225858&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB7Mqg9kavhlzP-l_pFMo-ScBityJAx14ZHP3dwZmf5ffFX_jVbFMIHLpc7gWH3261cnwh7u1C0AzYCQ3d28OBY-rY4bSuFJj_oLFAEEZepTJgTz-8eAXg5hKLB6aXMVK0tchvTpjpDEQ/s400/DBSimpleRecovery.gif&quot; /&gt;&lt;/a&gt; Now remember to change this setting back to &quot;Full&quot;. This is only dependant on your system&#39;s recovery strategy.&lt;/p&gt;&lt;p&gt;If you don&#39;t have at least Update Rollup 8 installed then it may be time to do so now. This provides a new and improved Organization Import functionality as described &lt;a href=&quot;http://support.microsoft.com/kb/977867&quot;&gt;here (http://support.microsoft.com/kb/977867)&lt;/a&gt;. Remember that you would still need to add and set the new registry key &quot;OptimizeOrgImport&quot; manually.&lt;br /&gt;&lt;/p&gt;</description><link>http://kiavashshakibaee.blogspot.com/2010/07/error-importing-organization-in-crm-40.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB7Mqg9kavhlzP-l_pFMo-ScBityJAx14ZHP3dwZmf5ffFX_jVbFMIHLpc7gWH3261cnwh7u1C0AzYCQ3d28OBY-rY4bSuFJj_oLFAEEZepTJgTz-8eAXg5hKLB6aXMVK0tchvTpjpDEQ/s72-c/DBSimpleRecovery.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-6251634736117577017</guid><pubDate>Mon, 14 Dec 2009 12:43:00 +0000</pubDate><atom:updated>2009-12-14T05:19:20.259-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM 4.0</category><category domain="http://www.blogger.com/atom/ns#">System.Data.SqlClient.SqlException</category><title>Still experiencing &quot;Transaction was deadlocked on lock resources with another process&quot;?</title><description>I recently posted and article about the following error:&lt;br /&gt;&lt;strong&gt;&lt;blockquote&gt;&lt;strong&gt;Exception: System.Data.SqlClient.SqlException: Transaction (Process ID XX) was deadlocked on lock resources with&lt;br /&gt;another process and has been chosen as the deadlock victim. Rerun the transaction.&lt;br /&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/blockquote&gt;See &lt;a href=&quot;http://kiavashshakibaee.blogspot.com/2009_07_01_archive.html&quot;&gt;http://kiavashshakibaee.blogspot.com/2009_07_01_archive.html&lt;/a&gt;&lt;br /&gt;I&#39;ve recently found that in addition to the original solution, there are occasions when a deadlock cannot be avoided.&lt;br /&gt;&lt;br /&gt;In my case, after running a trace log, I found the error to be reported on a &lt;span id=&quot;SPELLING_ERROR_0&quot; class=&quot;blsp-spelling-error&quot;&gt;sql&lt;/span&gt; &quot;Select&quot; statement. Your &lt;span id=&quot;SPELLING_ERROR_1&quot; class=&quot;blsp-spelling-error&quot;&gt;plugin&lt;/span&gt; is probably attempting to read a record while &lt;span id=&quot;SPELLING_ERROR_2&quot; class=&quot;blsp-spelling-error&quot;&gt;CRM&lt;/span&gt; or another &lt;span id=&quot;SPELLING_ERROR_3&quot; class=&quot;blsp-spelling-error&quot;&gt;plugin&lt;/span&gt; has it locked.&lt;br /&gt;&lt;br /&gt;The solution to this issue is to enable &quot;Read Committed Snapshot Isolation (&lt;span id=&quot;SPELLING_ERROR_4&quot; class=&quot;blsp-spelling-error&quot;&gt;RCSI&lt;/span&gt;)&quot;. Enabling &lt;span id=&quot;SPELLING_ERROR_5&quot; class=&quot;blsp-spelling-error&quot;&gt;RCSI&lt;/span&gt; causes &lt;span id=&quot;SPELLING_ERROR_6&quot; class=&quot;blsp-spelling-error&quot;&gt;SQL&lt;/span&gt; to maintain a snapshot of the database against which read operations are executed, writes and updates are still performed against the actual database, this means that write operations no longer block read operations. (see &lt;a href=&quot;http://blogs.msdn.com/craigfr/archive/2007/04/25/read-committed-isolation-level.aspx&quot;&gt;http://blogs.msdn.com/craigfr/archive/2007/04/25/read-committed-isolation-level.aspx&lt;/a&gt; for more)&lt;br /&gt;&lt;br /&gt;To enable &lt;span id=&quot;SPELLING_ERROR_7&quot; class=&quot;blsp-spelling-error&quot;&gt;RSCI&lt;/span&gt;, ensure you have exclusive connection to the &lt;span id=&quot;SPELLING_ERROR_8&quot; class=&quot;blsp-spelling-error&quot;&gt;CRM&lt;/span&gt; Database and run the following &lt;span id=&quot;SPELLING_ERROR_9&quot; class=&quot;blsp-spelling-error&quot;&gt;SQL&lt;/span&gt; script:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;ALTER DATABASE (CRM Organization)_&lt;span id=&quot;SPELLING_ERROR_10&quot; class=&quot;blsp-spelling-error&quot;&gt;MSCRM&lt;/span&gt;&lt;br /&gt;SET&lt;br /&gt;READ_COMMITTED_SNAPSHOT ON&lt;br /&gt;go&lt;br /&gt;SET TRANSACTION ISOLATION LEVEL SNAPSHOT&lt;br /&gt;go&lt;br /&gt;&lt;/blockquote&gt;</description><link>http://kiavashshakibaee.blogspot.com/2009/12/still-experiencing-transaction-was.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-7227545065319812010</guid><pubDate>Thu, 02 Jul 2009 11:34:00 +0000</pubDate><atom:updated>2009-07-02T04:59:01.166-07:00</atom:updated><title>Transaction (Process ID XX) was deadlocked on lock resources with another process and has been chosen as the deadlock victim</title><description>&lt;strong&gt;Asynchronous Plugin Error:&lt;/strong&gt; &quot;System.Web.Services.Protocols.SoapException: Server was unable to process request. ---&gt; System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---&gt; System.Data.SqlClient.SqlException: &lt;span style=&quot;color:#cc0000;&quot;&gt;Transaction (Process ID XX) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.&lt;/span&gt;&quot;&lt;br /&gt;&lt;br /&gt;This error will be reported using the &lt;span id=&quot;SPELLING_ERROR_0&quot; class=&quot;blsp-spelling-error&quot;&gt;CRM&lt;/span&gt; Trace &lt;span id=&quot;SPELLING_ERROR_1&quot; class=&quot;blsp-spelling-error&quot;&gt;Diag&lt;/span&gt; Tool. To simplify the analysis of the trace log, you can use &lt;a href=&quot;http://stunnware.com/crm2/topic.aspx?id=TraceLogViewer&quot;&gt;&lt;span id=&quot;SPELLING_ERROR_2&quot; class=&quot;blsp-spelling-error&quot;&gt;Stunware&#39;s&lt;/span&gt; &lt;span id=&quot;SPELLING_ERROR_3&quot; class=&quot;blsp-spelling-error&quot;&gt;CRM&lt;/span&gt; Trace Log Viewer&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This error signifies that there are two &lt;span id=&quot;SPELLING_ERROR_4&quot; class=&quot;blsp-spelling-error&quot;&gt;plugins&lt;/span&gt; or two instances of a &lt;span id=&quot;SPELLING_ERROR_5&quot; class=&quot;blsp-spelling-error&quot;&gt;plugin&lt;/span&gt; trying to write to the same entity. It seems that the Microsoft Dynamics &lt;span id=&quot;SPELLING_ERROR_6&quot; class=&quot;blsp-spelling-error&quot;&gt;CRM&lt;/span&gt; &lt;span id=&quot;SPELLING_ERROR_7&quot; class=&quot;blsp-spelling-corrected&quot;&gt;Asynchronous&lt;/span&gt; Service does not handle threading and deadlocks too well internally.&lt;br /&gt;&lt;br /&gt;As I understand, the &lt;span id=&quot;SPELLING_ERROR_8&quot; class=&quot;blsp-spelling-error&quot;&gt;CRM&lt;/span&gt; &lt;span id=&quot;SPELLING_ERROR_9&quot; class=&quot;blsp-spelling-corrected&quot;&gt;Asynchronous&lt;/span&gt; Service often collects a load of jobs and executes them all together. The problem is that one &lt;span id=&quot;SPELLING_ERROR_10&quot; class=&quot;blsp-spelling-error&quot;&gt;plugin&lt;/span&gt; may lock the entire &lt;span id=&quot;SPELLING_ERROR_11&quot; class=&quot;blsp-spelling-error&quot;&gt;SQL&lt;/span&gt; table while writing to one record. During this process&#39;s very short writing time, the service also executes a bunch of other &lt;span id=&quot;SPELLING_ERROR_12&quot; class=&quot;blsp-spelling-error&quot;&gt;plugins&lt;/span&gt;. So we&#39;re going to experience a deadlock in the event that another &lt;span id=&quot;SPELLING_ERROR_13&quot; class=&quot;blsp-spelling-error&quot;&gt;plugin&lt;/span&gt; needs to write to the same entity.&lt;br /&gt;&lt;br /&gt;How do we get around it? Use the Lock call to synchronise all &lt;span id=&quot;SPELLING_ERROR_14&quot; class=&quot;blsp-spelling-corrected&quot;&gt;asynchronous&lt;/span&gt; &lt;span id=&quot;SPELLING_ERROR_15&quot; class=&quot;blsp-spelling-error&quot;&gt;plugins&lt;/span&gt;. This will ensure that only one update is sent to the database at a time.&lt;br /&gt;&lt;br /&gt;public class &lt;span id=&quot;SPELLING_ERROR_16&quot; class=&quot;blsp-spelling-error&quot;&gt;SalesOrderDetailPreCreate&lt;/span&gt; : &lt;span id=&quot;SPELLING_ERROR_17&quot; class=&quot;blsp-spelling-error&quot;&gt;SalesOrderDetail&lt;/span&gt;, &lt;span id=&quot;SPELLING_ERROR_18&quot; class=&quot;blsp-spelling-error&quot;&gt;IPlugin&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    static Object &lt;span id=&quot;SPELLING_ERROR_19&quot; class=&quot;blsp-spelling-error&quot;&gt;thisLock&lt;/span&gt; = new Object();&lt;br /&gt;&lt;br /&gt;    public void Execute(&lt;span id=&quot;SPELLING_ERROR_20&quot; class=&quot;blsp-spelling-error&quot;&gt;IPluginExecutionContext&lt;/span&gt; context) &lt;br /&gt;    {&lt;br /&gt;        lock (&lt;span id=&quot;SPELLING_ERROR_21&quot; class=&quot;blsp-spelling-error&quot;&gt;thisLock&lt;/span&gt;)&lt;br /&gt;        {&lt;br /&gt;            //&lt;br /&gt;            // Do your stuff and entity update here&lt;br /&gt;            //...&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;As far as I understand, it is a good idea to use this code on any &lt;span id=&quot;SPELLING_ERROR_22&quot; class=&quot;blsp-spelling-corrected&quot;&gt;asynchronous&lt;/span&gt; &lt;span id=&quot;SPELLING_ERROR_23&quot; class=&quot;blsp-spelling-error&quot;&gt;plugin&lt;/span&gt; as in a multi user environment, there is fair chance of a clash at some time.</description><link>http://kiavashshakibaee.blogspot.com/2009/07/transaction-process-id-xx-was.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-4636674559174233619</guid><pubDate>Sun, 19 Apr 2009 10:40:00 +0000</pubDate><atom:updated>2009-04-19T04:15:17.897-07:00</atom:updated><title>New Dynamics CRM 4.0 Demo VPC Image Released for Download - 17-Apr-2009</title><description>The new Dynamics CRM 4.0 demo virtual image has been released for download 17-Apr-2009.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://mbs.microsoft.com/partnersource/deployment/methodology/vpc/MSD_CRM4VPCApril09&quot;&gt;https://mbs.microsoft.com/partnersource/deployment/methodology/vpc/MSD_CRM4VPCApril09&lt;/a&gt; (Available to MS partners only)&lt;br /&gt;&lt;br /&gt;Similar to previous versions, this in a CRM 4.0 image is on a Window Server 2003 with office, Sharepoint, OCS, Outlook, SQL Server, Reporting Services... Primarily, this is intended to demonstrate the power of CRM to prospective clients. Though many developers use this image as a basis for a development environment.&lt;br /&gt;&lt;br /&gt;If you are in sales, then you will be happy to know that the new image is now pre-loaded with some additional accelerators and packed with many demo tools.&lt;br /&gt;&lt;br /&gt;As a developer you should probably give a satisfied nod to the fact that there are SDKs and developer tools such as Visual Studio 2008 pre-installed.&lt;br /&gt;&lt;br /&gt;My only issue is that due to the accelerators, this is no longer a clean install or a clean base image that I can use for customisaion of a new project. I guess its time to create my own Dev image and stop freeloading.</description><link>http://kiavashshakibaee.blogspot.com/2009/04/new-dynamics-crm-40-demo-vpc-image.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-4226164740835964779</guid><pubDate>Fri, 10 Apr 2009 03:08:00 +0000</pubDate><atom:updated>2009-04-09T20:30:43.227-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM 4.0</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><title>Microsoft Dynamics CRM Developer Toolkit</title><description>The Microsoft Dynamics CRM Developer Toolkit has just been release but the &lt;a href=&quot;https://community.dynamics.com/blogs/cscrmblog/comments/8986.aspx&quot;&gt;CRM E2 team&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;this tool is a major step forward to provide developers with the ability to work with CRM customizations from within the Visual Studio development environment.&lt;br /&gt;&lt;br /&gt;As release by the Microsoft Dynamics CRM Product Team:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;The MS CRM E2 team is pleased to announce the release of the Microsoft Dynamics CRM Developer Toolkit, which is available for download from the MSDN Code Gallery at &lt;a href=&quot;http://code.msdn.microsoft.com/E2DevTkt&quot; target=&quot;_blank&quot;&gt;http://code.msdn.microsoft.com/E2DevTkt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Toolkit has been designed to make it easier for developers to customize, extend, and maintain an on-premise CRM solution, all from within an integrated Visual Studio environment. Key developer benefits include the ability to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;View All CRM Entities - Displays a listing of CRM entities that are dynamically available from the CRM Explorer within Visual Studio 2008 &lt;/li&gt;&lt;li&gt;Create and Update CRM Entities - Allows for creating new entities and updating existing entities from within the CRM Explorer experience &lt;/li&gt;&lt;li&gt;Create a Wrapper Class - Provides the ability to auto-generate wrapper classes for entities, which exposes the CRM entities and their corresponding attributes as classes and properties respectively to enable development of code to interact with the entities&lt;/li&gt;&lt;li&gt;Generate Plug-in Code - Enumerates the available Plug-ins for an entity and generates the code necessary to jumpstart the plug-in development process &lt;/li&gt;&lt;li&gt;Integrate the Build and Deploy Process - Simplifies the process of building and deploying a CRM solution&lt;/li&gt;&lt;li&gt;Deploy Across Multiple Servers - Assists in deployment and maintenance of Windows installer packages across multiple environments&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;br /&gt;&lt;p&gt;Find more information on this toolkit &lt;a href=&quot;http://beta.blogs.msdn.com/dynamicscrmonline/archive/2009/04/09/introduction-to-customizing-microsoft-dynamics-with-the-crm-developer-toolkit.aspx&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;See &lt;a href=&quot;http://jianwang.blogspot.com/2009/04/customizing-crm-by-using-microsoft.html&quot;&gt;Jim Wang&#39;s technical blog [MVP]&lt;/a&gt; for quick installation instructions.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;</description><link>http://kiavashshakibaee.blogspot.com/2009/04/microsoft-dynamics-crm-developer.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-3240144075213901801</guid><pubDate>Thu, 19 Mar 2009 21:51:00 +0000</pubDate><atom:updated>2009-04-22T01:43:05.678-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LINQtoCRM</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM 4.0</category><category domain="http://www.blogger.com/atom/ns#">Webservice</category><title>LINQ to CRM</title><description>&lt;strong&gt;LINQ to CRM&lt;/strong&gt; is one of Microsoft’s latest additions to the .Net 3.5 Framework Library. This library provides a uniform method of access to different types of entities, through a query language very similar to SQL. To learn more, see &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/bb386964.aspx&quot;&gt;MSDN’s reference to LINQ to Entities&lt;/a&gt; and &lt;a href=&quot;http://searchwindevelopment.techtarget.com/generic/0,295582,sid8_gci1299600,00.html&quot;&gt;TechTarget’s LINQ Learning Guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I’m very excited to talk about the new LINQ to CRM libraries available recently. Say you need to retrieve an Account Number, given the Account Name…&lt;br /&gt;&lt;br /&gt;Using the traditional &lt;em&gt;webservice&lt;/em&gt; methods:&lt;br /&gt;&lt;span style=&quot;color:#000099;&quot;&gt;&lt;blockquote&gt;&lt;span style=&quot;color:#000099;&quot;&gt;ColumnSet cols = new ColumnSet();&lt;br /&gt;cols.AddColumns(new string[] {&quot;accountnumber&quot;});&lt;br /&gt;&lt;br /&gt;QueryByAttribute&lt;br /&gt;query = new QueryByAttribute();&lt;br /&gt;query.ColumnSet = cols;&lt;br /&gt;query.EntityName = &quot;account&quot;;&lt;br /&gt;query.Attributes = new string[] {&quot;name&quot;};&lt;br /&gt;query.Values = new string[] {&quot;Microsoft Dynamics CRM&quot;};&lt;br /&gt;&lt;br /&gt;RetrieveMultipleRequest req = new RetrieveMultipleRequest();&lt;br /&gt;req.Query = query;&lt;br /&gt;req.ReturnDynamicEntities = true; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#000066;&quot;&gt;&lt;span style=&quot;color:#000099;&quot;&gt;RetrieveMultipleResponse resp = oService.Execute(req) as RetrieveMultipleResponse;&lt;br /&gt;BusinessEntityCollection becMultipleRecords = resp.BusinessEntityCollection;&lt;br /&gt;if (deSalesOrder.Properties.Contains(&quot;accountnumber&quot;))&lt;br /&gt;{&lt;br /&gt;//And So On&lt;br /&gt;//And So Forth&lt;br /&gt;}&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style=&quot;color:#000066;&quot;&gt;&lt;br /&gt;&lt;/span&gt;Using &lt;strong&gt;LINQ to SQL&lt;/strong&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#000099;&quot;&gt;&lt;blockquote&gt;&lt;span style=&quot;color:#000099;&quot;&gt;var accounts = (from a in context.Accounts&lt;br /&gt;where a.Name.Equals(&quot;Microsoft Dynamics CRM&quot;)&lt;br /&gt;select a).ToList();&lt;br /&gt;LINQ2CRM.Account acc = (Account)accounts.First();&lt;br /&gt;Response.Write(&quot;Account name = &quot; + acc.Name.ToString());&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;The choice seems obvious to me, but I’ll try to contain myself. Though the available LINQ to CRM libraries already address select and update of data, there are still shortfalls. Functionality such as Assign and Set Status are still not available and need to be performed via the traditional methods. But judging by progress so far, I’m sure it won’t be long.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://linqtocrm.codeplex.com/&quot;&gt;LINQ to CRM on CodePlex&lt;/a&gt; is a (Beta) community library available free for download and evaluation. I’m always a supporter of free and community based software, so I highly recommend support of this project. Ofcourse being in Beta, this is work in progress and I would not recommend use of this assembly commercially.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.xrmlinq.com/&quot;&gt;XrmLinq&lt;/a&gt; is a commercially available package. This is a much more complete and stable library. Installation and use is remarkably simple and functionally fairly complete. License fee is based on per deployment which makes it a little more costly than I would prefer but is available for free to CRM providers for development purposes. A subset of this &lt;a href=&quot;http://xrmlinq.codeplex.com/&quot;&gt;library and source code&lt;/a&gt; is available on CodePlex for any curioustechies.</description><link>http://kiavashshakibaee.blogspot.com/2009/03/linq-to-crm.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-8383418623786770719</guid><pubDate>Tue, 17 Mar 2009 22:28:00 +0000</pubDate><atom:updated>2009-03-17T15:34:36.023-07:00</atom:updated><title>Microsoft Dynamics CRM 4.0 Rollup 3</title><description>&lt;strong&gt;Download Dynamics CRM 4.0 Rollup 3 here&lt;/strong&gt;: &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=05453fa4-9551-4a88-9852-634a9ad0e140&quot;&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=05453fa4-9551-4a88-9852-634a9ad0e140&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;this rollup was released last week for CRM 4.0. And I would personally highly recommend it. Countless issues have been addressed up until this point. I&#39;ve found that numerous behavior which I had even believed was by design has been corrected, simplifying plug-in development and customisations.</description><link>http://kiavashshakibaee.blogspot.com/2009/03/microsoft-dynamics-crm-40-rollup-3.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-6779618076797304587</guid><pubDate>Sat, 07 Mar 2009 01:39:00 +0000</pubDate><atom:updated>2009-03-06T17:51:53.114-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Internet Explorer</category><category domain="http://www.blogger.com/atom/ns#">Javascript</category><title>Dubugging Javascript in CRM Forms is Easy</title><description>Its easy to debug custom JavaScript in CRM forms. Save your JS code in the appropriate event and follow the instruction below. Debugging can be performed in IE or Visual Studio.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://blogs.msdn.com/ie/archive/2004/10/26/247912.aspx&quot;&gt;Scripting Debugging in Internet Explorer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;entering the word &quot;debugger&quot; anywhere in your JS code will prompt IE to break at that point and load the script debugger.</description><link>http://kiavashshakibaee.blogspot.com/2009/03/dubugging-javascript-in-crm-forms-is.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-7261985550470061733</guid><pubDate>Sat, 07 Mar 2009 01:01:00 +0000</pubDate><atom:updated>2009-03-06T17:36:28.406-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Developer Tools</category><category domain="http://www.blogger.com/atom/ns#">IE8</category><category domain="http://www.blogger.com/atom/ns#">Internet Explorer 8</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><title>Internet Explorer 8&#39;s New Developer Toolbar</title><description>If you&#39;ve ever played around with Firefox&#39;s add-ons &quot;Firebug&quot;, &quot;Web Developer&quot; and so on, you&#39;d notice that there are capabilities that would take your CRM development to another level. It would be fantastic to have the ability to break down the DOM, CSS and test changes on the spot . Unfortunately Firefox is not compatible with Microsoft Dynamics CRM.&lt;br /&gt;&lt;br /&gt;The latest release of Internet Explorer (IE8 RC1) contains the most useful tool as far as CRM development is concerned. The new Developer Toolbar holds a set of tools primarily targeted for developers in order to break down the DOM and list all elements of a web page.&lt;br /&gt;&lt;br /&gt;Read more about the &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/03/07/improved-productivity-through-internet-explorer-8-developer-tools.aspx&quot;&gt;IE8 Developer Tools here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;How often have you tried to change the colour, font, visibility... of a control on the page? After a arduous task of finding the right tag, you then get to the job of making changes on your event code, save, publish, did not work right, try again...&lt;br /&gt;&lt;br /&gt;The IE8 Developer Toolbar removes the hassle by displaying all page tags on a tree hierarchy and allowing live modifications to the page. The one shortfall that I&#39;ve noted is that there is no facility to search a large page for a specific tag. Let&#39;s hope this is addressed in the next version.</description><link>http://kiavashshakibaee.blogspot.com/2009/03/internet-explorer-8s-new-developer.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-1866216546806084527</guid><pubDate>Sun, 08 Feb 2009 12:13:00 +0000</pubDate><atom:updated>2009-02-08T05:14:37.714-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CRM Customization</category><category domain="http://www.blogger.com/atom/ns#">Javascript</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><title>Reference External Javascript File in CRM Form Events Asynchronously</title><description>A few months ago I posted a method of importing external javascript files into CRM forms. See &#39;&lt;a href=&quot;http://kiavashshakibaee.blogspot.com/2008/09/reference-external-javascript-file-in.html&quot;&gt;&lt;span style=&quot;font-family:times new roman;color:#000000;&quot;&gt;Reference External Javascript File in CRM Form Events&lt;/span&gt;&lt;/a&gt;&#39;.&lt;br /&gt;&lt;br /&gt;Some of you may have noticed an issue with this method when including multiple exeternal files. This is due to the fact that the process runs asynchronously while the rest of the code continues to execute.&lt;br /&gt;&lt;br /&gt;A friend of mine Sam Manins managed to come up with a full work around for this. Thanks to Sam, the function below can be pasted into your OnLoad event for a more reliable method to import Javascript files into your CRM forms.&lt;br /&gt;&lt;br /&gt;The idea is to invoke the command to add your external file, then wait for confirmation that the file was imported. Only then should we allow the code to continue. &lt;em&gt;See comments within the code&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;//Paste this function somewhere into your form &quot;OnLoad&quot; event&lt;/span&gt;&lt;br /&gt;function includeExternalJSFiles(sec)&lt;br /&gt;{&lt;br /&gt;  var errFound = 0;&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;  // load the Ascentium js file into a Script element - do not do this on recursive calls to this&lt;/span&gt;&lt;span style=&quot;color:#009900;&quot;&gt; function&lt;br /&gt;&lt;/span&gt;  if (sec == 1)&lt;br /&gt;  {&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;    //Include the CRM js file&lt;br /&gt;&lt;/span&gt;    var Ascentium_Script = document.createElement(&quot;script&quot;);&lt;br /&gt;    Ascentium_Script.language = &quot;javascript&quot;;&lt;br /&gt;    Ascentium_Script.src = &quot;MyJSFunctions1.js&quot;&lt;br /&gt;    document.getElementsByTagName(&quot;head&quot;)[0].appendChild(Ascentium_Script);&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;    //Include another js file&lt;br /&gt;&lt;/span&gt;    var Ascentium_Script = document.createElement(&quot;script&quot;);&lt;br /&gt;    Ascentium_Script.language = &quot;javascript&quot;;&lt;br /&gt;    Ascentium_Script.src = &quot;MyJSFunctions2.js&quot;&lt;br /&gt;    document.getElementsByTagName(&quot;head&quot;)[0].appendChild(Ascentium_Script);&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;    //Add any more JS files you need&lt;br /&gt;&lt;/span&gt;  }&lt;br /&gt;  try&lt;br /&gt;  {&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;    //Each file needs to have a simple function(with a unique name) that does nothing that can&lt;/span&gt;&lt;span style=&quot;color:#009900;&quot;&gt; be called.&lt;br /&gt;    //th&lt;/span&gt;&lt;span style=&quot;color:#009900;&quot;&gt;en you can call this finction to see if the file has been imported yet.&lt;br /&gt;&lt;/span&gt;    MyJSFunction1_STUB();&lt;span style=&quot;color:#009900;&quot;&gt;//this function is contained in the external JS file&lt;br /&gt;&lt;/span&gt;    MyJSFunction2_STUB();&lt;span style=&quot;color:#009900;&quot;&gt;//this function is contained in the external JS file&lt;br /&gt;&lt;/span&gt;  }&lt;br /&gt;    catch(err)&lt;br /&gt;  {&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;    //error found(probably could not find the function&lt;br /&gt;&lt;/span&gt;    errFound = 1;&lt;br /&gt;  }&lt;br /&gt;  if (sec &lt; 5 &amp;amp;&amp;amp; errFound == 1)&lt;br /&gt;  {&lt;br /&gt;    sec++;&lt;br /&gt;    setTimeout(&quot;includeExternalJSFiles(&quot; + sec + &quot;)&quot;, 100);&lt;span style=&quot;color:#009900;&quot;&gt; //waits 0.1 second before trying the stubs again.&lt;/span&gt;&lt;br /&gt;  }&lt;br /&gt;  else&lt;br /&gt;  {&lt;br /&gt;    if (errFound == 1)&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;      //Did not work after 5 attempts (0.5 seconds)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;      //Try a longer time period or output an error message for the user&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#009900;&quot;&gt;      //alert(&quot;Did not work: &quot; + sec);&lt;/span&gt;&lt;br /&gt;    else&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;      //All functions were found (all files imported)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;      //No need to do anything. Just exit functions and continue code&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;      //alert(&quot;Success after &quot; + sec + &quot; attempts. &quot;);&lt;br /&gt;&lt;/span&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Remember to have a unique stub function to run in each external file. the function needs no do anything. Just needs to be there(&lt;em&gt;See sample below&lt;/em&gt;).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#009900;&quot;&gt;//this function would be found in the file MyJSFunction1.js&lt;br /&gt;&lt;/span&gt;function MyJSFunction1_STUB()&lt;br /&gt;{&lt;br /&gt;  &lt;span style=&quot;color:#009900;&quot;&gt;//stub function (does nothing)&lt;/span&gt;&lt;br /&gt;  var a;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Finally you need to call the function to import your Javascript files:&lt;br /&gt;&lt;br /&gt;  includeExternalJSFiles(0);&lt;br /&gt;&lt;br /&gt;The above example makes the call to add the files to the page header, then continues to try to run a functions in each file every 0.1 seconds until successful or until 5 failed attempts. Different systems under different workloads may perform the job at different speeds. Feel free to modify the code to suit your needs.&lt;br /&gt;&lt;br /&gt;And improvement on this function could be to also pass in the name of each Javascript file in an array, making it more generic.&lt;br /&gt;&lt;br /&gt;A big thank you goes to Sam Manins for the solution.</description><link>http://kiavashshakibaee.blogspot.com/2009/02/reference-external-javascript-file-in.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-6410536756543807613</guid><pubDate>Tue, 27 Jan 2009 22:21:00 +0000</pubDate><atom:updated>2009-01-27T14:31:55.351-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><category domain="http://www.blogger.com/atom/ns#">Sydney</category><category domain="http://www.blogger.com/atom/ns#">Usergroup</category><title>Dynamics CRM Usergroup Sydney Returns!</title><description>&lt;div&gt;The Sydney &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;CRM&lt;/span&gt; &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;usergroup&lt;/span&gt; was reopened last night(Microsoft building, North &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;Ryde&lt;/span&gt;). Organised by &lt;a href=&quot;http://blog.cybner.com.au/&quot;&gt;Catherine &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;Eibner&lt;/span&gt;&lt;/a&gt; and &lt;a href=&quot;http://guyriddle.spaces.live.com/&quot;&gt;Guy Riddle&lt;/a&gt;, the event will be held every 4&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_4&quot;&gt;th&lt;/span&gt; Tuesday of every month.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This has been a long anticipated step forward for the &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_5&quot;&gt;Sydney&lt;/span&gt; &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_6&quot;&gt;CRM&lt;/span&gt; users and consultants and a great place to meet people in your field of business.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This month&#39;s discussions were over the newly release &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_7&quot;&gt;CRM&lt;/span&gt; Accelerators (presented by Guy), with detailed discussions on Notifications, &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_8&quot;&gt;eService&lt;/span&gt; and Events Management. The remaining &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_9&quot;&gt;Accelerators&lt;/span&gt; will be discussed next month.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Visit &lt;a href=&quot;http://www.mscrm.com.au/&quot;&gt;www.mscrm.com.au&lt;/a&gt; for more information and upcoming meeting event dates.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://kiavashshakibaee.blogspot.com/2009/01/dynamics-crm-usergroup-sydney-returns.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-6815968530772535696</guid><pubDate>Tue, 20 Jan 2009 11:14:00 +0000</pubDate><atom:updated>2009-01-20T04:41:53.382-08:00</atom:updated><title>No need to retrieve entity in order to update attribute values</title><description>&lt;span style=&quot;font-weight: bold;&quot;&gt;Scenario:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;We have an existing account with a known GUID and would like to update their phone number.&lt;/blockquote&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Solution:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Common sense and traditional logic would often suggest to first open the specific account record, make modifications to all specific attributes, followed by update and close the entity:&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;blockquote&gt;ColumnSet cols = new ColumnSet();&lt;br /&gt;cols.AddColumn(&quot;telephone1&quot;);&lt;br /&gt;account myAccount = new account();&lt;br /&gt;&lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;myAccount &lt;/span&gt;&lt;/span&gt;= oService.Retrieve(EntityName.account.ToString(), &lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;myAccountID&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, cols) as &lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;myAccount&lt;/span&gt;&lt;/span&gt;;&lt;br /&gt;&lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;myAccount&lt;/span&gt;&lt;/span&gt;.telephone1 = &quot;02 1234 1234&quot;;&lt;br /&gt;oService.Update(&lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;myAccount&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;The above code, though it works, contains a number of entirely unnecessary steps. For a far more efficient code block, see the following with an identical outcome:&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;blockquote&gt;account myAccount = new account();&lt;br /&gt;&lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;   &lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;myAccount&lt;/span&gt;&lt;/span&gt;.accountid = myAccountID;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;   &lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;myAccount&lt;/span&gt;&lt;/span&gt;.telephone1 = &quot;02 1234 1234&quot;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;oService.Update(&lt;span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;myAccount&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;Note that there is no need to retrieve the targeted record before making modifications. As long as we set the entity ID to an existing GUID, the CRM SDK will take care of the rest. The stored value in the &quot;&lt;span style=&quot;font-style: italic;&quot;&gt;telephone1&lt;/span&gt;&quot; attribute will be replaced with the new value for the specified account GUID &quot;&lt;span style=&quot;font-style: italic;&quot;&gt;myAccountID&lt;/span&gt;&quot;.</description><link>http://kiavashshakibaee.blogspot.com/2009/01/scenario-we-have-existing-account-with.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-5043286866808353658</guid><pubDate>Mon, 29 Dec 2008 09:23:00 +0000</pubDate><atom:updated>2008-12-29T01:27:08.624-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM 4.0</category><title>Action Cancelled: MSCRMKeyGenerator - 18949</title><description>&lt;span class=&quot;Apple-style-span&quot;  style=&quot; ;font-family:&#39;Times New Roman&#39;;&quot;&gt;&lt;div style=&quot;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; &quot;&gt;&lt;div&gt;When openning the CRM shortcut you promptly receive the message &quot;Action Cancelled&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Error log details:&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Source:   MSCRMKeyGenerator&lt;/div&gt;&lt;div&gt;Event ID: 18949&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Current active key (KeyType : CrmWRPCTokenKey) is expired. This can indicate that a key is not being regenerated properly. Current Active Key : CrmKey(Id:c2e0c738-dc7a-dd11-b61e-00188b3466e9, ScaleGroupId:00000000-0000-0000-0000-000000000000, KeyType:CrmWRPCTokenKey, Expired:True.....&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;I recently came across this error a few times. On all occasions I had no luck in sorting it out the usual way:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Start &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;services.msc&lt;/span&gt; and ensure that&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 128, 0); line-height: 15px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;Microsoft CRM Asynchronous Processing Service &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;is started.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If like in my case, you find that this service was already running, then save yourself hours of scratching and simply restart the SQL Server housing the CRM database. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I&#39;m yet to find the specific reason behind this error.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/12/action-cancelled-mscrmkeygenerator.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-227275907154092462</guid><pubDate>Fri, 26 Dec 2008 00:49:00 +0000</pubDate><atom:updated>2008-12-25T17:08:53.005-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Accelerators</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><title>Holiday travel through India</title><description>I&#39;ve just returned from holidays over the past couple of months. Its been a holiday long awaited and well enjoyed.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I&#39;ve just returned from India as a first time tourist. I managed to travel the Ragestan region and south through to goa on a death trap on two wheels... Royal Enfield 500. I can&#39;t believe those bikes were built in the first place.. India is still mass producing these 1950&#39;s mostrocities as the best model of two wheel transport in the country.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;the country is a living photograph.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I&#39;m happy to report NO food poisoning AND was not shot a single time by terrorists.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Merry Christmas everyone.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: italic;&quot;&gt;ps: I&#39;ve just discovered that all 8 CRM 4.0 Accellerators have been released in my absence. This is great news. I&#39;m looking forward to playing with them over the next few days.&lt;/span&gt;&lt;/div&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/12/holiday-travel-through-india.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-320237437323740358</guid><pubDate>Fri, 26 Dec 2008 00:40:00 +0000</pubDate><atom:updated>2008-12-25T17:03:16.178-08:00</atom:updated><title>Merry Christmas and a Happy New Year</title><description>Well here it is again... It feels only a month ago I recovered from last new year&#39;s frivolities.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wishing you all the best this Christmas and new year!!!&lt;/div&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/12/merry-christmas-and-happy-new-year.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-887529360556876808</guid><pubDate>Tue, 11 Nov 2008 09:44:00 +0000</pubDate><atom:updated>2008-11-11T15:21:58.059-08:00</atom:updated><title>More Microsoft Dynamisc CRM Accelerators Released</title><description>&lt;div&gt;Another CRM Accelerator was released yesterday. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They are &lt;a href=&quot;http://www.codeplex.com/crmaccelerators&quot;&gt;available on CodePlex&lt;/a&gt; along with full source code as promised:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Download them now…&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;a href=&quot;http://www.codeplex.com/crmaccelerators/Release/ProjectReleases.aspx?ReleaseId=19071&quot;&gt;CRM Notifications Accelerator&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.codeplex.com/crmaccelerators/Release/ProjectReleases.aspx?ReleaseId=18959&quot;&gt;Extended Sales Forecasting Accelerator&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.codeplex.com/crmaccelerators/Release/ProjectReleases.aspx?ReleaseId=19077&quot;&gt;Event Management Accelerator&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;Incedentally, if you&#39;re not familiar with these tools, here&#39;s a video &lt;a href=&quot;http://channel9.msdn.com/posts/girishr/CRM-Accelerators-An-Introduction-with-Reuben-Krippner/&quot;&gt;introduction to CRM Accelerators&lt;/a&gt; presented on Microsoft&#39;s Channel 9 by Ruben Krippner.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/11/more-microsoft-dynamisc-crm.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-8703587762799813477</guid><pubDate>Fri, 31 Oct 2008 00:23:00 +0000</pubDate><atom:updated>2008-10-30T17:25:12.857-07:00</atom:updated><title>Announcing Release of Microsoft Dynamics CRM Accelerators</title><description>&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;Ahh… Finally we have a release of 2 of the new CRM Accelerators. &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;As I mentioned a couple of weeks ago, the Microsoft CRM team had announced in a live meeting that 5 of the 8 CRM Accelerators were to be released very shortly. Just as I was about to fall off the edge of my seat, I found the release of the following 2 CRM Accelerators as of 30-Oct-2008: &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;CRM Notifications Accelerator&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Extended Sales Forecasting Accelerator&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;I guess 2 are better than none.&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;As a Microsoft Partner you can access these from the Partner Source website:&lt;br /&gt;&lt;a href=&quot;https://mbs.microsoft.com/partnersource/newsevents/news/MD_CRM_Accelerators&quot;&gt;https://mbs.microsoft.com/partnersource/newsevents/news/MD_CRM_Accelerators&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;All installation files, documentation and source codes are freely available and fully supported.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/10/ahh-finally-we-have-release-of-2-of-new.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-6425429672975190690</guid><pubDate>Sun, 26 Oct 2008 10:21:00 +0000</pubDate><atom:updated>2008-10-26T04:22:05.524-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Liberation Day</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Corp</category><category domain="http://www.blogger.com/atom/ns#">Steve Ballmer</category><title>Liberation Day! Steve Ballmer - Sydney - 6 November 2008</title><description>A rare event is at hand! Steve Ballmer is coming to Australia.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is truly one of the rarest opportunities to hear fist hand, the most influential person in the IT industry. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Together with &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/gianpaolo&quot;&gt;Gianpaolo Carraro&#39;, Senior Director, Microsoft Corporation&lt;/a&gt;&lt;/span&gt;, and &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/tims&quot;&gt;Tim Sneath, Director, Microsoft Corporation&lt;/a&gt;&lt;/span&gt;, we will be hearing about Microsoft&#39;s vision of the future of software development and cloud computing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This event will be held at Sydney Convention Centre, Darling Harbour. Tickets are available by invitation only. If you don&#39;t have one yet, then there may still be a handful available from your favourite user group. On the other hand, if you miss out on Sydney tickets, don&#39;t panic. The event will be available on Live Rally. Don&#39;t miss out!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.microsoft.com/australia/powertodevelopers/&quot;&gt;Read more here:&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs9y_a9Un_tMiU-fXdNegcxr7ymjoiXVMwzP-McDDwPKgudzcKLJUtsO_ZjezKKjxJooYJQxoIhj1_Ebinb-DGe5P0mU1mnYBgM4IPmx4cUkVxNb-hFb4YHj8sDEKVLRmxNnWGeqQa8ls/s200/bkgd_top_inner1_thumb.gif&quot; style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 73px;&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5261419492015898882&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/10/liberation-day-steve-ballmer-sydney-6.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs9y_a9Un_tMiU-fXdNegcxr7ymjoiXVMwzP-McDDwPKgudzcKLJUtsO_ZjezKKjxJooYJQxoIhj1_Ebinb-DGe5P0mU1mnYBgM4IPmx4cUkVxNb-hFb4YHj8sDEKVLRmxNnWGeqQa8ls/s72-c/bkgd_top_inner1_thumb.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-5688039454012244312</guid><pubDate>Tue, 21 Oct 2008 15:35:00 +0000</pubDate><atom:updated>2008-10-21T10:13:50.923-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Accelerators</category><category domain="http://www.blogger.com/atom/ns#">Analytics Foundation</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><title>CRM Accelerators Due for Release This Week</title><description>&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Georgia;color:black;&quot;&gt;5  of the 8 Microsoft Dynamics CRM 4.0 Accelerators are due to be released within the next few days:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type=&quot;disc&quot;&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l1 level1 lfo1;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/08/05/crm-accelerators-part-i-analytics-accelerator.aspx&quot;&gt;Analytics&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l1 level1 lfo1;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/08/12/crm-accelerators-part-ii-eservice-accelerator.aspx&quot;&gt;eService&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l1 level1 lfo1;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/08/19/crm-accelerators-part-iii-event-management-accelerator.aspx&quot;&gt;Event      Management&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l1 level1 lfo1;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;st1:city st=&quot;on&quot;&gt;&lt;st1:place st=&quot;on&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;        ;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/08/26/crm-accelerators-part-iv-enterprise-search-accelerator.aspx&quot;&gt;Enterprise&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/08/26/crm-accelerators-part-iv-enterprise-search-accelerator.aspx&quot;&gt;      Search&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l1 level1 lfo1;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span class=&quot;apple-style-span&quot;&gt;&lt;span style=&quot;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/09/22/crm-accelerators-part-vii-crm-notifications-accelerator.aspx&quot;&gt;CRM      Notifications&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Georgia;color:black;&quot;&gt;The remaining 3 will be available by the end of November:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type=&quot;disc&quot;&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l0 level1 lfo2;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span style=&quot;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/09/09/crm-accelerators-part-v-sales-methodologies-accelerator.aspx&quot;&gt;Sales Methodologies&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l0 level1 lfo2;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span style=&quot;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/09/17/crm-accelerators-part-vi-extended-sales-forecasting-accelerator.aspx&quot;&gt;Extended Sales Forecasting&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l0 level1 lfo2;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span style=&quot;font-family:Verdana;color:#333333;&quot;&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/10/01/crm-accelerators-part-viii-business-productivity-accelerator.aspx&quot;&gt;Business Productivity&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Georgia;color:black;&quot;&gt;All accelerators will have multi language compatability and are fully supported my Microsoft. Read more about them at the&lt;span class=&quot;apple-converted-space&quot;&gt; &lt;/span&gt;&lt;a href=&quot;http://blogs.msdn.com/crm/archive/tags/Accelerators/default.aspx&quot;&gt;Microsoft Dynamics CRM Team Blog&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Georgia;color:black;&quot;&gt;I&#39;m sofar very impressed with the Beta and previews. The idea is to fully empower CRM developers to modify and customize these tools to fully suit their needs, so the package on offer will be quite extensive...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type=&quot;disc&quot;&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l2 level1 lfo3;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;Compiled Installer + full source code&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l2 level1 lfo3;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;Installation, setup and usage documentation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l2 level1 lfo3;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;Technical documentation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;  style=&quot;mso-margin-top-alt:auto;mso-margin-bottom-alt:      auto;mso-list:l2 level1 lfo3;tab-stops:list 36.0ptcolor:black;&quot;&gt;&lt;span style=&quot;font-family:Georgia;&quot;&gt;Walkthrough and tutorial videos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Georgia;color:black;&quot;&gt;Upon release, there will be a discussion forum set up for developers to discuss and get help on customizing these tools.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Incidentally, some of these tools are due to be included as the standard package in CRM 5.&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;More posts on these tools to come shortly.&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/10/crm-accelerators-due-for-release-this.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-3894873693577407235</guid><pubDate>Wed, 15 Oct 2008 11:40:00 +0000</pubDate><atom:updated>2008-10-15T06:08:12.921-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CRM Data Migration Manager</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><category domain="http://www.blogger.com/atom/ns#">SQL Server Reporting Services</category><title>The Data Migration Manager encountered an error while setting up the temporary migration database</title><description>Microsoft Dynamics CRM 4.0 Data Migration Manager can be used to import data from other systems into CRM 4.0 and is a vastly improved version over 3.0. This tool can be used to map data into all standard and custom entities and is very simple to use.&lt;br /&gt;&lt;br /&gt;However, I ran into a couple of small issues on my first encounter with this tool.&lt;br /&gt;&lt;br /&gt;Having made my installation on a different machine to the SQL Server, I immediately encountered security issues. The selected user needs to have full administrative rights to the SQL Server installation. After making the necessary changes to my administrative rights, installation and setup proceeded smoothly, bet then upon sign in I encountered the following error:&lt;br /&gt;&lt;blockquote&gt;The Data Migration Manager encountered an error while setting up the temporary migration database. Restart the data migration manager and try migrating the data again.&lt;/blockquote&gt;&lt;br /&gt;With Albert Einstein&#39;s looming in the back of my mind I did the same thing over and over again, expecting a different result... Needless to say, it drove me mad.&lt;br /&gt;&lt;br /&gt;Interestingly I found that the temporary migration database was actually created on the remote SQL Server.&lt;br /&gt;&lt;br /&gt;The accompanying Readme file suggests the folowing:&lt;br /&gt;&lt;blockquote&gt;One possible source of this error message may be the UserReplicationID registry key. You can resolve this issue by deleting the registry key, restarting Data Migration Manager, and signing in again.&lt;br /&gt;&lt;br /&gt;You can find this registry key in the following path (depending on your system type):&lt;br /&gt;&lt;br /&gt;   * 32-bit systems: HKLM\SOFTWARE\Microsoft\Data Migration Wizard&lt;br /&gt;   * 64-bit systems: HKLM\Software\Wow6432Node\Microsoft\Data Migration Wizard&lt;br /&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Unfortunately this did not work for me&lt;/span&gt;. My solution was to uninstall and re-install the package, using SQL Server Express on the same machine as the DMM installation. Due to performance issues, we were finally forced to move the entire installation to the local machine hosting the full SQL Server deployment.&lt;br /&gt;&lt;br /&gt;It seems this issue was related to the use of DMM with &lt;span style=&quot;font-weight: bold;&quot;&gt;remote&lt;/span&gt; access to the temporary migration database. Although my user is a local admin of all machines involved and has full access to SQL Server, I still believe the issue is caused by a lack of security rights to something along the chain.&lt;br /&gt;&lt;br /&gt;I&#39;ve since found that the package will install, but configuration will fail for 64bit SQL Server 2005, even on the local machine. This is entirely unsupported by that application.&lt;br /&gt;&lt;br /&gt;See the &lt;a href=&quot;http://blogs.msdn.com/crm/archive/2008/09/02/data-migration-manager-tips-and-tricks.aspx&quot;&gt;Dynamics Team Blog&lt;/a&gt; for more tips on using and getting the best performance out of DMM and the Dynamics &lt;a href=&quot;http://rc.crm.dynamics.com/rc/regcont/en_us/op/articles/migrationtroubleshooting.aspx&quot;&gt;Data Migration Trouble Shooting&lt;/a&gt; page.</description><link>http://kiavashshakibaee.blogspot.com/2008/10/data-migration-manager-encountered.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-9168427211892783035</guid><pubDate>Mon, 06 Oct 2008 02:55:00 +0000</pubDate><atom:updated>2008-10-05T20:24:10.933-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hotfix</category><category domain="http://www.blogger.com/atom/ns#">Installation</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><category domain="http://www.blogger.com/atom/ns#">SSRS</category><title>Error installing CRM 4.0 and reporting services on SQL Server 2005 Workgroup Edition</title><description>While making a new insallation of CRM 4.0 recently, I encountered a little error:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Setup requires SQL Server Reporting Services 2005 Hotfix for role creation on SQL Reporting Service SP2 Workgroup edition at the specified Reporting Services Report Server &lt;a href=&quot;http://crmserver/reportserver&quot;&gt;http://CRMServer/reportserver&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I found it fairly difficult to locate this elusive hotfix. So for anyone else looking for it.. Request your hotfix from &lt;a href=&quot;http://support.microsoft.com/kb/936305&quot;&gt;http://support.microsoft.com/kb/936305&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, before everybody gets up in arms about the idea of &quot;Requesting a hotfix&quot;, you should be aware that although Microsoft Dynamics CRM hotfixes are not so freely available to download, they are simple to aquire. Just make your request from the Microsoft Dynamics CRM Hotfix site, and within seconds the download link and password(if applicable) will be emailed to you.&lt;/p&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/10/error-installing-crm-40-and-reporting.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-6113448911327792441</guid><pubDate>Sun, 21 Sep 2008 08:12:00 +0000</pubDate><atom:updated>2008-09-21T01:32:26.973-07:00</atom:updated><title>Cybner / NSquaredSolutions Merger</title><description>&lt;div&gt;Cybner has been undergoing a number of changes recently.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I&#39;m happy to anounce that Nsquared Solution and Cybner have agreed to a merger. This is great news, in particular for our existing clients. In particular we now have access to many more resources in order to provide an even higher quality of service.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Read more about &lt;a href=&quot;http://www.nsquaredsolutions.com&quot;&gt;NSquaredSolutions at http://www.nsquaredsolutions.com&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More about the merger: &lt;a href=&quot;http://jamesmcc.wordpress.com/2008/09/19/109/&quot;&gt;http://jamesmcc.wordpress.com/2008/09/19/109/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/09/cybner-nsquaredsolutions-merger.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-6288783260577042694</guid><pubDate>Sun, 07 Sep 2008 22:54:00 +0000</pubDate><atom:updated>2008-10-05T20:26:05.513-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CRM Customization</category><category domain="http://www.blogger.com/atom/ns#">Javascript</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><title>Microsoft Dynamics CRM Javascript Access to Form Elements</title><description>&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;true false=&quot;&quot;&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;attributename&gt;&lt;div&gt;Here&#39;s how to access each control on your forms using Javascript. Using this information you can add very useful functionality to CRM&#39;s front end.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are a couple of ways to do this, you can choose which ever suits your situation best...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Currently displayed entitie&#39;s GUID:&lt;/div&gt;&lt;div&gt;        crmForm.ObjectId&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To access a control on the form:&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;    crmForm.all.[attributename]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;    // OR&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;    document.getElementById(&quot;[attributename]&quot;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hide/show attribute(set to visible or invisible):&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;    //Hide it&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;    crmForm.all.[attributename].style.display = &quot;none&quot;;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;    //Show it&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;    crmForm.all.[attributename].style.display = &quot;inline&quot;;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enable/disable attribute:&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   //Disable&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   crmForm.all.[attributename].Disabled = true;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   //Enable&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   crmForm.all.[attributename].Disabled = false;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Does control/attribute contain any data?&lt;/div&gt;&lt;div&gt;   if (crmForm.all.[attributename] != null)&lt;/div&gt;&lt;div&gt;       //Contains some data&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Control&#39;s value(this is the current on screen value. ie, may not have been saved yet):&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   crmForm.all.[attributename].DataValue&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   // OR&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   crmForm.all.[attributename].value&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   // OR if its a checkbox&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   crmForm.all.[attributename].Checked = [true false=&quot;&quot;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;   // OR if its a lookup&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;     //Descriptive name for the selected item&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;     crmForm.all.[attributename].DataValue.name&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;     //GUID value of the selected item&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;     crmForm.all.[attributename].DataValue.id&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;     //Type of entity selected in the lookup(1=Account, 2=Contact...)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;     crmForm.all.[attributename].DataValue.type&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;     //Descriptive name for the selected entity type&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;courier new&#39;;&quot;&gt;     crmForm.all.[attributename].DataValue.typename&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/true&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;&lt;/attributename&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/09/microsoft-dynamics-crm-javascript.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4934725997704987469.post-572661448095975911</guid><pubDate>Sun, 07 Sep 2008 07:14:00 +0000</pubDate><atom:updated>2008-09-07T00:30:22.538-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CRM Customization</category><category domain="http://www.blogger.com/atom/ns#">Javascript</category><category domain="http://www.blogger.com/atom/ns#">Microsoft Dynamics CRM</category><title>Reference External Javascript file in CRM form events</title><description>Some times you may have a great deal of Javascript code to insert into your CRM entity&#39;s form events, be it OnLoad, OnSave or OnChange of a control.&lt;br /&gt;&lt;br /&gt;It is possible to encapsulate the functionality or procedures into separate JS files and reference them from the form. I often do this and have a list of standard JS files with specific functions as I need them. You can insert the file into your event by ading this block of code.&lt;br /&gt;&lt;br /&gt;&lt;meta equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;&lt;meta name=&quot;ProgId&quot; content=&quot;Word.Document&quot;&gt;&lt;meta name=&quot;Generator&quot; content=&quot;Microsoft Word 11&quot;&gt;&lt;meta name=&quot;Originator&quot; content=&quot;Microsoft Word 11&quot;&gt;&lt;link rel=&quot;File-List&quot; href=&quot;file:///C:%5CDOCUME%7E1%5CKiavash%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C02%5Cclip_filelist.xml&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate=&quot;false&quot; latentstylecount=&quot;156&quot;&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:&quot;&quot;; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:&quot;Times New Roman&quot;; 	mso-fareast-font-family:&quot;Times New Roman&quot;;} @page Section1 	{size:612.0pt 792.0pt; 	margin:72.0pt 90.0pt 72.0pt 90.0pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:&quot;Table Normal&quot;; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:&quot;&quot;; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:&quot;Times New Roman&quot;; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Arial;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;//Insert JS Functions to perform whatever functionality: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Arial;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;var script = document.createElement(&quot;script&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Arial;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;script.language = &quot;javascript&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Arial;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;script.src = &quot;http://crmserver:5555/ISV/JSFiles/CRMControlFunctions.js&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size: 9pt; font-family: Arial;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;document.getElementsByTagName(&quot;head&quot;)[0].appendChild(script);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;br /&gt;Don&#39;t forget to substitute your own server, port and filename. Ensure that it&#39;s hosted in a website or virtual directory and reachable from the CRMWeb website application.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><link>http://kiavashshakibaee.blogspot.com/2008/09/reference-external-javascript-file-in.html</link><author>noreply@blogger.com (Kiavash Shakibaee)</author><thr:total>0</thr:total></item></channel></rss>