Showing posts with label Dynamics. Show all posts
Showing posts with label Dynamics. Show all posts

Monday, May 9, 2011

Insight 6.5.X Support Being Discontinued

Are you using a Supported Version of Scribe Insight? If not, you are at risk of not being able to receive help when you have an issue. The Scribe Insight 6.5.x platform will be discontinued the end of June 2011. What does this mean to you? If you are running on Scribe Insight 6.5.x or older, you will not receive support for your installation.

Scribe Online RS is ready to purchase

We’re excited to announce that the first service built on the Scribe Online platform has been released and is ready to sell. Scribe Online Replication Services (RS) significantly simplifies the data extraction and replication of Dynamics CRM 2011 Online and Dynamics CRM 2011 on-premise data. Contact your Scribe Regional Business Manager if you are interested in selling Scribe Online RS, and be sure to ask them about our Scribe Online RS webinar series.

Welcome to extreme 2011 Las Vegas

extreme is the premier partner event focused exclusively on Microsoft Dynamics CRM and dedicated to advancing best practices and strategies for Microsoft Dynamics CRM organizations.

Prepare for Microsoft Dynamics CRM 2011
Technical Readiness: Extreme provides a unique opportunity to gain deep technical readiness on Microsoft Dynamics CRM 2011 in a face-to-face environment - with content delivered by Microsoft product team, technical support and MVP technical experts within the channel.
Evolve Your Business
Business Readiness: You’ll also learn best practices from professionals who are subject matter experts in marketing, sales and business leadership, providing a well-rounded approach to building your practice. You’ll gain insights on how to evolve your business to take advantage of the transforming Microsoft Dynamics CRM strategy including the new marketplace and how to build a successful cloud practice along with growing their current business.
Connect with the Channel
Business Connections: extreme provides a great multi-day opportunity to connect with other successful CRM partners, creating important business relationships to help your business grow.




Salesforce.com to Microsoft Dynamics CRM Migration Template

We now have a template that will help you migrate data from Salesforce.com to Microsoft Dynamics CRM version 4 or version 2011. The template takes care of the basics of account, lead, and activity data. Here is a list of the data the template migrates.

  • Account records
  • Contact records
  • Activity records
  • Un-converted Leads
  • Attachments

When the template runs, it creates key cross reference relationships for the primary IDs for accounts, contacts, and leads. With the graphical environment in the Scribe Workbench it should be relatively easy to extend the template to handle other types of data related to these three objects, or to other objects. You can learn more about the template and how to implement it by watching this tutorial video, or by reading the template guide.

The guide has more details about the template including the field mappings. You can download the template from the Samples section of our  template download page.

Wednesday, February 9, 2011

Load an associated view into an IFrame, hide it from LHS navigation menu

/**
* Load an associated view into an IFrame, hide it from LHS navigation menu,
* and remove "Add Existing" button in the associated view.
* @author Daniel Cai, http://danielcai.blogspot.com/
*
* Parameters:
* @param iframe: The IFrame's object, e.g. crmForm.all.IFrame_Employer_Address
* @param navItemId: LHS navigator's HTML element ID of the associated view.
It usually starts with "nav".
* @param relName: The relationship name, this parameter is only required
* when you want to remove "Add Existing" button.
* @param roleOrd: Role ordinary of the relationship, this parameter is only
* required for N:N relationship.
*/
function
loadAssociatedViewInIFrame(iframe, navItemId, relName, roleOrd) {var clickActionPattern = /loadArea\(['"]{1}([A-Za-z0-9_]+)['"]{1}\).*/;

url +=
url +=
url +=
url += (!roleOrd) ?

};



var getFrameSrc = function(areaId) {var url = "areas.aspx?oId=" + encodeURI(crmForm.ObjectId);"&oType=" + crmForm.ObjectTypeCode;"&security=" + crmFormSubmit.crmFormSubmitSecurity.value;"&tabSet=" + areaId;"" : "&roleOrd=" + roleOrd;return url;var removeAddExistingButton = function(frameDoc) {if (!frameDoc || !!roleOrd) { return; }var grid = frameDoc.all['crmGrid'];// Locate the "Add Existing" button using its magic id.


btn.parentNode.removeChild(btn);
}
};



removeAddExistingButton(frameDoc);
var btnId = '_MBtoplocAssocOneToMany' + grid.GetParameter('otc') + relName.replace(/_/g, "");var btn = frameDoc.getElementById(btnId);if (btn) {var onReadyStateChange = function() {if (iframe.readyState === 'complete') {var frameDoc = iframe.contentWindow.document;// Remove the padding space around the iframeframeDoc.body.scroll =
frameDoc.body.childNodes[0].rows[0].cells[0].style.padding =
}
};
(






}
navItem.style.display =

iframe.src = getFrameSrc(areaId);
iframe.allowTransparency =
"no";"0px";function init() {if (!crmForm.ObjectId) { return; }var navItem = document.getElementById(navItemId);if (!navItem) { return; }var clickAction = navItem.getAttributeNode('onclick').nodeValue;if (!clickAction || !clickActionPattern.test(clickAction)) {return;'none';var areaId = clickAction.replace(clickActionPattern, '$1');true; // Get rid of the white area around the IFrameiframe.attachEvent(
})();
};
'onreadystatechange', onReadyStateChange);

Thursday, January 27, 2011

Error when Changing/Assigning Owner of CRM Entity

FOLLOWING THE DIRECTIONS BELOW AND REPLACING THE USER DEFINED FUNCTION YOU ARE COMPLETING AN UNSUPPORTED MODIFICATION.

This was a very difficult problem to find... I had two deployments (one development) that would not allow any user to change ownership on any entity.  After using the CRM Trace tool and spending a lot of time finding the error message I was able to find this article that provided the proper code to replace a the user defined function fn_CollectForCascadeAssign with the code, provided below and it worked.

REASON:
According the the Neil Benson, CRM Addict and Jim Glass MSFT Microsoft on the Microsoft Dynamics Forums CRM the issue was introduced by the regression error in Update Rollup 7. 

SUPPORTED FIX:
The Supported Method is the reinstall Update Rollup 8 or 9 after creating or importing a new organization.  Update Rollup 10 Fixes the issue.

SYMPTOMS
Messages in Trace File:
MessageProcessor fail to process message 'Assign' for 'account' - or any other entity

CRM Trace File Message: Crm Exception: Message: , ErrorCode: -2147204784, InnerException: System.Data.SqlClient.SqlException: Invalid column name 'q'.
Invalid column name 's'.
Invalid column name 'y'.

UNSUPPORTED FIX:
Replaced User Defined Function with the code below
USE [database_name]
GO
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER function [dbo].[fn_CollectForCascadeAssign]
(
  @root_id uniqueidentifier,
  @root_otc int,
  @isoffline int,
  @old_owner uniqueidentifier
)
returns @t table
(    
   o uniqueidentifier,
   t int,
   p int default 0,
   u uniqueidentifier,
   q uniqueidentifier,
   s int,
   y bit default 0
)
as
begin
insert into @t values(@root_id,@root_otc,0,@old_owner,N'00000000-0000-0000-0000-000000000000',0,0)
if(exists(select * from @t where t=9100))begin insert into @t(o,t,p,u,q,s,y) select o.ReportId,9100,0,o.OwningUser,c.o,c.t,1 from Report o,@t c where o.ParentReportId=c.o and c.t=9100 and o.DeletionStateCode=0
while(@@rowcount <> 0)if(exists(select * from @t where t=9100))insert into @t(o,t,p,u,q,s,y) select o.ReportId,9100,0,o.OwningUser,c.o,c.t,1 from Report o,@t c where o.ParentReportId=c.o and c.t=9100 and o.DeletionStateCode=0 and o.ReportId not in(select o from @t where o=o.ReportId and t=9100) end
if(exists(select * from @t where t=4400))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4402,0,o.OwningUser,c.o,c.t,1 from CampaignActivity o,@t c where o.RegardingObjectId=c.o and c.t=4400 and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(4400,4406)))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4401,0,o.OwningUser,c.o,c.t,1 from CampaignResponse o,@t c where o.RegardingObjectId=c.o and c.t in(4400,4406) and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.AccountId,1,0,o.OwningUser,c.o,c.t,1 from Account o,@t c where o.ParentAccountId=c.o and c.t=1 and o.DeletionStateCode=0
while(@@rowcount <> 0)if(exists(select * from @t where t=1))insert into @t(o,t,p,u,q,s,y) select o.AccountId,1,0,o.OwningUser,c.o,c.t,1 from Account o,@t c where o.ParentAccountId=c.o and c.t=1 and o.DeletionStateCode=0 and o.AccountId not in(select o from @t where o=o.AccountId and t=1) end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.ContactId,2,0,o.OwningUser,c.o,c.t,1 from Contact o,@t c where o.AccountId=c.o and c.t=1 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=2))begin insert into @t(o,t,p,u,q,s,y) select o.ContactId,2,0,o.OwningUser,c.o,c.t,1 from Contact o,@t c where o.ParentContactId=c.o and c.t=2 and o.DeletionStateCode=0
while(@@rowcount <> 0)if(exists(select * from @t where t=2))insert into @t(o,t,p,u,q,s,y) select o.ContactId,2,0,o.OwningUser,c.o,c.t,1 from Contact o,@t c where o.ParentContactId=c.o and c.t=2 and o.DeletionStateCode=0 and o.ContactId not in(select o from @t where o=o.ContactId and t=2) end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.InvoiceId,1090,0,o.OwningUser,c.o,c.t,1 from Invoice o,@t c where o.AccountId=c.o and c.t=1 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=2))begin insert into @t(o,t,p,u,q,s,y) select o.InvoiceId,1090,0,o.OwningUser,c.o,c.t,1 from Invoice o,@t c where o.ContactId=c.o and c.t=2 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=2))begin insert into @t(o,t,p,u,q,s,y) select o.SalesOrderId,1088,0,o.OwningUser,c.o,c.t,1 from SalesOrder o,@t c where o.ContactId=c.o and c.t=2 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.SalesOrderId,1088,0,o.OwningUser,c.o,c.t,1 from SalesOrder o,@t c where o.AccountId=c.o and c.t=1 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1088))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4209,0,o.OwningUser,c.o,c.t,1 from OrderClose o,@t c where o.SalesOrderId=c.o and c.t=1088 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.QuoteId,1084,0,o.OwningUser,c.o,c.t,1 from Quote o,@t c where o.AccountId=c.o and c.t=1 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=2))begin insert into @t(o,t,p,u,q,s,y) select o.QuoteId,1084,0,o.OwningUser,c.o,c.t,1 from Quote o,@t c where o.ContactId=c.o and c.t=2 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1084))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4211,0,o.OwningUser,c.o,c.t,1 from QuoteClose o,@t c where o.QuoteId=c.o and c.t=1084 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=2))begin insert into @t(o,t,p,u,q,s,y) select o.ContractId,1010,0,o.OwningUser,c.o,c.t,1 from Contract o,@t c where o.ContactId=c.o and c.t=2 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.ContractId,1010,0,o.OwningUser,c.o,c.t,1 from Contract o,@t c where o.AccountId=c.o and c.t=1 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.IncidentId,112,0,o.OwningUser,c.o,c.t,1 from Incident o,@t c where o.AccountId=c.o and c.t=1 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=2))begin insert into @t(o,t,p,u,q,s,y) select o.IncidentId,112,0,o.OwningUser,c.o,c.t,1 from Incident o,@t c where o.ContactId=c.o and c.t=2 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=112))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4206,0,o.OwningUser,c.o,c.t,1 from IncidentResolution o,@t c where o.IncidentId=c.o and c.t=112 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.LeadId,4,0,o.OwningUser,c.o,c.t,1 from Lead o,@t c where o.AccountId=c.o and c.t=1 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=2))begin insert into @t(o,t,p,u,q,s,y) select o.LeadId,4,0,o.OwningUser,c.o,c.t,1 from Lead o,@t c where o.ContactId=c.o and c.t=2 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=2))begin insert into @t(o,t,p,u,q,s,y) select o.OpportunityId,3,0,o.OwningUser,c.o,c.t,1 from Opportunity o,@t c where o.ContactId=c.o and c.t=2 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=1))begin insert into @t(o,t,p,u,q,s,y) select o.OpportunityId,3,0,o.OwningUser,c.o,c.t,1 from Opportunity o,@t c where o.AccountId=c.o and c.t=1 and o.DeletionStateCode=0 end
if(exists(select * from @t where t=3))begin insert into @t(o,t,p,u,q,s,y) select o.CustomerOpportunityRoleId,4503,0,o.OwningUser,c.o,c.t,1 from CustomerOpportunityRole o,@t c where o.OpportunityId=c.o and c.t=3 and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(1088,2,3,1010,1090,4,1,112,1084)))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4214,0,o.OwningUser,c.o,c.t,1 from ServiceAppointment o,@t c where o.RegardingObjectId=c.o and c.t in(1088,2,3,1010,1090,4,1,112,1084) and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(1084,112,1,4400,4,1090,1010,3,2,1088)))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4212,0,o.OwningUser,c.o,c.t,1 from Task o,@t c where o.RegardingObjectId=c.o and c.t in(1084,112,1,4400,4,1090,1010,3,2,1088) and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(1088,2,3,4406,1010,1090,4402,4,1,1084,112)))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4210,0,o.OwningUser,c.o,c.t,1 from PhoneCall o,@t c where o.RegardingObjectId=c.o and c.t in(1088,2,3,4406,1010,1090,4402,4,1,1084,112) and o.DeletionStateCode=0 end
if(exists(select * from @t where t=3))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4208,0,o.OwningUser,c.o,c.t,1 from OpportunityClose o,@t c where o.OpportunityId=c.o and c.t=3 and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(112,1084,1,4402,4,1010,4406,1090,3,1088,2)))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4207,0,o.OwningUser,c.o,c.t,1 from Letter o,@t c where o.RegardingObjectId=c.o and c.t in(112,1084,1,4402,4,1010,4406,1090,3,1088,2) and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(1088,2,3,4406,1090,1010,1,112,1084,4,4402)))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4204,0,o.OwningUser,c.o,c.t,1 from Fax o,@t c where o.RegardingObjectId=c.o and c.t in(1088,2,3,4406,1090,1010,1,112,1084,4,4402) and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(4402,4,1084,112,1,4700,1090,4406,1010,3,1088,2)))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4202,0,o.OwningUser,c.o,c.t,1 from Email o,@t c where o.RegardingObjectId=c.o and c.t in(4402,4,1084,112,1,4700,1090,4406,1010,3,1088,2) and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(2,1088,3,4406,1010,1090,112,1,1084,4402,4)))begin insert into @t(o,t,p,u,q,s,y) select o.ActivityId,4201,0,o.OwningUser,c.o,c.t,1 from Appointment o,@t c where o.RegardingObjectId=c.o and c.t in(2,1088,3,4406,1010,1090,112,1,1084,4402,4) and o.DeletionStateCode=0 end
if(exists(select * from @t where t in(4400,4414,4211,4212,4703,4401,4207,4209,4201,1088,4208,2,1090,4204,4202,4206,1010,4300,3,1,1084,112,4402,4214,4,4210)))begin insert into @t(o,t,p,u,q,s,y) select o.AnnotationId,5,0,o.OwningUser,c.o,c.t,1 from Annotation o,@t c where o.ObjectId=c.o and c.t in(4400,4414,4211,4212,4703,4401,4207,4209,4201,1088,4208,2,1090,4204,4202,4206,1010,4300,3,1,1084,112,4402,4214,4,4210) and o.DeletionStateCode=0 end
return
end

/

Wednesday, December 29, 2010

Error running reports from Outlook Client Grid on IFD Implementation

Microsoft Dynamics CRM 4.0
Error running reports from Outlook Client Grid on IFD Implementation

Overview

All reports will run fine in the web client.  When running the Outlook Client the reports run fine from everywhere except the Report Button on the Grid.  This is a custom report for Impact Orders

Version

Microsoft Dynamics CRM 4.0 Roll Up 7 (4.0.7333.2138)

Error Message

The error is the standard report error, "An error has occurred."  The error log on the CRM Server shows the following:

-
System


-
Provider

[ Name]
ASP.NET 2.0.50727.0


-
EventID
1309

[ Qualifiers]
32768


Level
3


Task
3


Keywords
0x80000000000000


-
TimeCreated

[ SystemTime]
2010-12-29T16:20:34.000Z


EventRecordID
104047


Channel
Application


Computer
HOST-CRM2.host.local



Security

-
EventData



3005


An unhandled exception has occurred.


12/29/2010 9:20:34 AM


12/29/2010 4:20:34 PM


c04a46fbd7f44653bab86c26e46c1cc5


29073


95



0


/LM/W3SVC/1/ROOT-1-129380494173512587


Full


/



C:\inetpub\wwwroot\



HOST-CRM2






2196



w3wp.exe



NT AUTHORITY\NETWORK SERVICE



NullReferenceException



Object reference not set to an instance of an object.



http://speeddev.alwayson-crm.com/crmreports/viewer/viewer.aspx?action=run&id=%7b25A64DCA-0E5E-DF11-8C42-000C29E81AD5%7d&helpID=Speedpro%20Quote.rdl&context=records&recordstype=10004



/crmreports/viewer/viewer.aspx



70.166.206.94



{3bd54000-3b0d-e011-a011-000c29e81ad5}



True



CrmPostAuthentication



NT AUTHORITY\NETWORK SERVICE



8



NT AUTHORITY\NETWORK SERVICE



False



at Microsoft.Crm.Web.Reporting.ReportUtil.BuildRecordsFetch(EntityMetadata entityMeta, String records) at Microsoft.Crm.Web.Reporting.SRSViewer.ModifyFilterWithContext(ReportContext contextInfo, XmlDocument& defaultFilterDoc) at Microsoft.Crm.Web.Reporting.SRSViewer.ConfigurePage() at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e) at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)