为约会、联系人或任务的多个用户设置默认同步筛选器
服务器端同步使用用户已经设置的同步筛选条件确定该用户的哪些应用行将与 Exchange 同步。 当用户首次为约会、联系人和任务等行配置服务器端同步时,将初始化同步筛选器。 详细信息:创建或修改联机同步筛选器
当用户的邮箱设置了服务器端同步时,在用户的个人选项中的用户筛选器中列出的同步筛选器将是为服务器端同步应用的默认同步筛选器。 当下一个同步周期发生时,服务器端同步使用用户设置的同步筛选器来同步符合逻辑的现有 FetchXML 行。
在某些情况下,您可能不希望使用默认同步筛选器逻辑。 在下图中,一个组织在使用名为我的 Outlook 联系人的同步筛选器模板,但模板中的同步筛选条件不适用于该组织。
组织可能不想同步同步用户负责的每个可用联系人,希望在默认分发的筛选器逻辑中设置额外限制。 可以为每个用户逐个更改此逻辑,但这会很耗时,而且每次用户设置服务器端同步时,都需要更改默认逻辑。 修改此逻辑的更好的方法是更改最初设置为使用服务器端同步时分发给用户的默认逻辑。
本主题说明如何查找当前的同步筛选器,以及如何在您的环境中为多个用户将其替换为新同步筛选器。
使用 XrmToolBox
您无法从 Dynamics 365 组织解决方案编辑器中编辑默认同步模板;这需要使用 XrmToolBox 调用 Dynamics 365 API 来完成。 XrmToolBox 是一个第三方应用程序,它有许多不同的工具用于与 Dynamics 365 应用程序数据交互。 详细信息:欢迎使用 XrmToolBox 文档
打开 XrmToolBox 并连接到您的组织。 在配置选项卡上,选择工具库,在搜索框中输入同步筛选器,然后选择同步筛选器管理器。
步骤 1. 检查当前的默认同步筛选器
在 XrmToolBox 中,转到 Tools 菜单并打开 Sync Filter Manager。
默认登陆页将打开。 您可以在这里修改默认同步筛选器。
在同步筛选器模板选项卡上,选择加载同步筛选器模板。
备注
有两种类型的模板:Outlook 模板和脱机模板。 服务器端同步使用 Outlook 模板。 您可以忽略脱机模板,它用于已弃用的 Dynamics 365 for Outlook(COM 加载项)的脱机模式。
如果用户未进行任何更改,Outlook 模板应与用户在个人选项中同步筛选器设置中的设置匹配。
步骤 2. 为表创建视图并设置同步筛选器
要修改表的默认筛选器,您需要编辑表的默认视图。
打开解决方案资源管理器,展开实体,选择所需表,然后选择视图。
选择创建新视图。
在视图属性对话框中,为视图输入名称和说明(本示例中,我们使用名称我的 Outlook 联系人已更新),然后选择确定。
在常规任务下,选择编辑筛选条件。
在编辑筛选条件对话中,为视图定义筛选条件。 例如,您可以将联系人表筛选器设置为仅同步某个日期之后的联系人。 现有的我的 Outlook 联系人筛选器中已包括的其他条件保持不变。
选择确定保存视图。
第 3 步。 将新视图设置为默认同步筛选器
保存视图后,使用 XrmToolBox 加载视图。
打开 XrmToolBox。
在默认登陆页中,选择系统视图选项卡。
从视图列表中,选择在步骤 2 中创建的视图,然后选择创建>所选视图的同步筛选器模板。
在选择规则模板类型对话中,选择 Outlook 模板,然后选择确定。
在下一个屏幕上,当要求对某些用户应用筛选器时,选择否。 请注意,已经设置了服务器端同步的当前用户已经有我的 Outlook 联系人同步筛选器,因此现在添加它只会创建一个额外的联系人表筛选器。
选择同步筛选器模板选项卡,找到您创建的新视图,选择它,然后选择定义为默认。
只有默认值设置为 True 的筛选器模板会被分发给新用户。 在您的组织中设置新用户时,他们会将我的 Outlook 联系人已更新设置为筛选条件,并有前图中显示的所有其他默认视图。 这不会更改已配置为对约会、联系人和任务使用服务器端同步的任何现有用户的筛选器集。 如果您不再使用旧的我的 Outlook 联系人筛选器,您可以删除它。
第 4 步。 删除旧同步筛选器
您需要为有旧默认筛选器的用户删除旧默认筛选器。
打开 XrmToolBox。
在默认登陆页中,选择用户同步筛选器选项卡,然后清除显示脱机筛选器复选框。
在命令栏上,选择加载用户同步筛选器,然后选择所有用户。 加载列表可能需要一些时间,具体取决于您组织中的用户数量。
当列表完全加载时,选择分组依据,然后选择返回类型。 这将按表对筛选器进行分组,以便可以将它们作为一个组删除。
选择要删除的行,然后选择删除。
第 5 步。 应用新同步筛选器
删除旧筛选器后,您可以应用新 Outlook 筛选器模板。
打开 XrmToolBox。
在默认登陆页中,选择同步筛选器模板选项卡,然后选择您在步骤 2 中创建的新筛选器模板(在我们的示例中是我的 Outlook 联系人已更新)。 在命令栏上,选择对用户应用。
在弹出窗口中,搜索并选择要应用模板的用户,然后选择确定。 您可以在用户同步筛选器选项卡上检查应用了筛选器的用户。
应用新筛选器后,用户将能够通过设置个人选项设置查看应用的模板。
同步筛选器逻辑的最佳实践
更改默认同步筛选器逻辑可以显著更改行同步。 以下是可以在进行修改时使用的一些最佳实践:
在将自定义同步筛选器应用于生产环境之前,应在测试环境中对其进行验证。
将筛选条件应用于高级查找筛选器将显示正在为当前用户同步的行。 在对无法正常工作的筛选条件进行故障排除时,了解这一点很重要。
不应更改活动方及其参与方类型,因为它们与 Exchange 中的值关联。 好的选择如负责人参与类型,它与行所有权无关。 有关活动方 SDK 值的明细,请转到 ActivityParty TableType。
应用更具限制性的筛选条件的最佳方法是将自定义字段添加到正在修改的表中,并将该字段添加为同步条件。 一个常见的修改是将同步此记录布尔字段添加到联系人表中,并将联系人表同步筛选条件设置为要求将此字段设置为是或 true。
常见问题解答
如果同一表存在两个筛选器,会发生什么情况?
当表发生同步时,每个筛选器会独立应用于要同步的一组行,在每个筛选器集中找到的任何行都将同步。 这意味着由于每个筛选器都独立应用,不同的行集仍然会同步,即使是在筛选器包含冲突逻辑时。
这是一个示例:如果筛选器 A 有全部同步,筛选器 B 有同步此子集,最终结果将是全部同步,包括那个子集。 生成的同步筛选器本质上是为某个表指定的所有同步筛选条件的组合。
需要注意的是,由于这一点,不能通过添加额外的筛选器来进一步限制行同步,只能通过修改或删除现有筛选器。
如果给定表不存在已启用的筛选器,会发生什么情况?
如果删除了表的所有筛选器,将不会同步该表的数据。 系统仍会同步其他启用了同步筛选器的表的数据。
如何进行检查以确保在 Exchange 中创建了将由筛选器同步的正确行列表?
使用高级查找搜索 XrmToolBox 中的同步筛选器选项卡上列出的筛选器的确切名称。 搜索结果中列出的行是将要针对为特定表应用了筛选器的用户与 Exchange 同步的行。