繁体   English   中英

查看MS Dynamic CRM 2011中的所有自定义项

[英]view all customizations in MS Dynamic CRM 2011

我们有人为我们在Dynamic CRM 2011中定制解决方案,但那个人已经离开了项目。 我们需要知道已经制作和发布了哪些自定义。 当我进入“自定义系统”部分时,它会显示所有组件,我只需要知道哪些已经自定义和发布。 这对我来说是新的,所以请保持温柔:0)谢谢!

我担心这会非常复杂但是尝试使用自CRM 2011以来可用的元数据更改消息 - http://msdn.microsoft.com/en-us/library/jj863605.aspx

解决方案中的所有元素都标有前缀(这实际上由解决方案的发布者确定)。 默认情况下,前缀为“new”,所有自定义实体都将命名为new_ [entityname],字段将命名为new_ [field]。 在解决方案内部,如果您正在查看实体,则可以根据它们是否具有此前缀来判断哪些实体是自定义的。 还有一个“State”列,其值为“Managed”和“Unmanaged”。 您将看到已添加的所有自定义实体将具有“未管理状态”,而基础CRM实体将处于“管理”状态。 在基础CRM权利中,所有子元素(表单,视图,图表,字段,关系)都是如此。 您的自定义程序添加的元素将不受管理,而基本元素将被管理。 请记住,托管表单,视图和图表元素也可能已被修改,这很难区分。

如果需要以编程方式创建自定义系统元素列表,则可以使用SQL执行此操作。 在下面的示例中,我在table_name上过滤“%extensionbase%”,因为扩展库表包含实体的自定义字段和关系。 第一个查询返回系统中可能包含自定义字段和关系的所有实体。 第二个带回系统中的所有自定义字段,第三个带回所有自定义关系(N:N关系除外)。

--Entities
select TABLE_NAME
from [DatabaseName].information_schema.columns
where table_schema = 'dbo' and TABLE_NAME like '%extensionbase%'
group by table_name having COUNT(*) > 1
order by table_name

--Fields
select *
from [DatabaseName].information_schema.columns
where table_schema = 'dbo' and TABLE_NAME like '%extensionbase%'
and DATA_TYPE not in ('uniqueidentifier')
order by table_name, Column_Name

--Relationships
select *
from [DatabaseName].information_schema.columns
where table_schema = 'dbo' and TABLE_NAME like '%extensionbase%'
and DATA_TYPE in ('uniqueidentifier') and ORDINAL_POSITION <> 1
order by table_name, Column_Name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM