If you have Business Rules defined on attributes following metrics is useful
If CRM has Email Smart matching enabled, then following is behavior is worth noting.
For incoming Email activity, if Case record is created out of it using “Convert to Case”, then any subsequent emails coming from same Sender having same Subject automatically gets associated with Case.
Now in CRM you can share Secured Field with other Users or Team.
When a Entity has at least one secured field defined, a User get to see the option in Ribbon as “Share Secured Fields”
Clicking on Link opens a new Window where user can Add/Remove User/Team and grant permission to each individual on every secured field
We received following error on CRM 2013 On-premise deployment.
From message it looks like this error is for CRM 2013 Online clients, where each subscription has storage limit and when this storage limit is approaching CRM Admin gets email so that they can pro-actively get more subscription space. However it does not make any sense for CRM On-premise.
This error basically comes when Database drive space is full and has not more space, so either we have to shrink the database or get more disk space.
,(SELECT SecRole.Name +‘,’FROM SystemUserRoles SysUser
INNERJOINRole SecRole ON SysUser.RoleId = SecRole.RoleId
INNERJOIN SystemUse SU ON SysUser.SystemUserId = SU.SystemUserId
WHERE SU.DomainName = Usage.UserName
FORXMLPATH (”))AS SecRoleNames
SELECT U.fullname AS [FullName], U.DomainName AS [UserName]
,DATEPART(YYYY,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))AS [Year]
,DATEPART(MM,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))AS [Month]
,DATEPART(DD,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))AS [Day]
,MIN(DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn)) [FirstAccessAt]
,MAX(DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn)) [LastAccessAt]
FROM AUDIT A
INNERJOIN SystemUser U ON A.objectid = U.Systemuserid
Hope you find this script handy.
Many time we need to do the Rollup of certain child attribute data into parent attributes. For example number of Contacts for an Account or total order for order lines etc.
The best way to achieve this rollup is using CRM Plugins, however for each Rollup on each entity we have to write separate plugin which will take care of local attributes and type of aggregation required.
This Generic solution is meant to address this problem. It has generic code which works with configuration stored in CRM and can be applied to any entities.
This Generic Solution servers following purpose
1. It rollup data
2. Aggregation is done terms of Count, Average and Sum
3. A single Plugin Code is used for all the Entities.
4. Aggregation is completely configurable without any code change.
5. Aggregation changes in based on metadata.
How to configure Generic Rollup?
What happens behind the scene?
Once you import the solution it also imports 3 plugin SDK Messages Processing steps, namely for Create, Update and Delete. These Plugin messages are configured to triggered on All the entities in CRM. Whenever the record is Created, Updated or Deleted this code checks whether rollup is configured for the entity. If yes it reads the configuration and calculates the aggregate values and updates it in Parent entity.
By default plugin will be triggered on all the entities irrespective of whether rollup is configured to entity, this can cause a performance problem. So in order to avoid Plugin triggering each entity, you can configured this messages separately for only those entities which need Rollup. This is extra admin steps that needs to be done, but it can give better performance.
Please try out the solution and let me know your feedback.
CRM Managed Solution is available on CodePlex