【发布时间】:2012-08-22 21:57:35
【问题描述】:
我想知道,创建的服务活动将存储在 crm 2011 数据库中的哪个表中。我正在尝试生成一个报告,我需要知道创建的所有服务活动将存储在哪个表中。当我打开 ServiceAppointmentBase 时,它只显示 ActivityId 列,这也是 null
【问题讨论】:
标签: dynamics-crm dynamics-crm-2011 crm
我想知道,创建的服务活动将存储在 crm 2011 数据库中的哪个表中。我正在尝试生成一个报告,我需要知道创建的所有服务活动将存储在哪个表中。当我打开 ServiceAppointmentBase 时,它只显示 ActivityId 列,这也是 null
【问题讨论】:
标签: dynamics-crm dynamics-crm-2011 crm
Crm 跨多个表存储数据。
您应该针对 FilteredViews 编写报告。例如FilteredServiceAppointment 或 FilteredAccount。
这些视图结合了各种表格,也应用了 Crm 的权限模型。
查看MSDN。
【讨论】:
所有Activitys,包括ServiceAppointments,都存储在数据库中名为ActivityPointerBase的单个表中。
除了引用该表的视图(FilteredServiceAppointment),该表的常规视图称为ActivityPointer,可以通过Linq访问,过滤后的视图称为FilteredActivityPointer,可以访问通过 SQL。值得注意的是,Linq 实体集合ActivityPointerSet,在访问时,指向的是过滤后的视图。
Activity 的每种不同类型都由ActivityTypeCode/ActivityTypeCodeName 字段标识,这是您知道特定活动是否为ServiceAppointment 的方式。
至于关于操纵基表的警告,我认为你是成年人,所以对他们做任何你想做的事,但你确实需要过滤视图来报告。
【讨论】:
您不应针对基表编写报告,而应使用视图。在这种情况下,您要查找的视图是dbo.FilteredServiceAppointment
更多信息在这里:http://msdn.microsoft.com/en-us/library/gg328467.aspx
【讨论】: