切换视图视图基于 InfoPath Form 中的用户 ID

我们已开发 InfoPath 窗体具有多个视图,以支持新的租用 / 入职流程. 当公司雇佣的一个新的人, IT 部门和其他团体需要采取行动 (设置工资单, 启用适当的应用程序的访问, 找到一张桌子, 等). 我们使用窗体,但表单的不同视图为每个这些职能.

在这个公司, 大多数人在业务过程中所涉及的是精通 IT 的, 所以,当他们访问的窗体, 其默认视图是一种"菜单" 查看与直接给他们的特殊功能的按钮. 不过, 我们需要简单化的新员工直接经理. 这个人不应该看到任何 IT 相关的东西. 事实上, 她应该看到的只是一个视图窗体的不会连选项以查看其他视图.

在我们的例子, 直接经理的帐户直接绑在礼貌的形式 联系人选择器 (而我总是想叫"人员选取器" 因为某些原因).

步骤如下::

1. 在设计模式中, 转到工具-> 表单选项-> 打开和保存.

2. 选择"规则".

3. 创建一个新的规则,其操作是"切换到查看" 其条件利用用户名和() 功能.

用户名() 返回"简单" 没有域用户名. 如果我用"domainpagalvin"的凭据登录到 SharePoint, 用户名() 返回"pagalvin".

联系人选择器提供一个联系人信息的三位. "AccountID" 部分是对于这种情况下最有用. 唯一让这甚至有点挑战的是,联系人选择器 (在我的环境无论如何) 返回的域和用户 ID, 如在"domainpagalvin". 这阻止我们做直接的平等条件自 AccountID (""domainpagalvin) 永远不会平等的用户名() (""pagalvin).

我们可以绕过此使用"包含" 操作员: AccountID 包含用户名().

我们可以采取它进一步和 pre 挂起一个硬编码的域用户名前面() 让我们平等检查和消除误报的风险上的函数包含运算符.

我们将不得不真的像自动切换为其他基于 AD 安全组成员身份的用户视图. 例如, 当"它分析的成员" 组访问窗体, 自动切换到 IT 分析视图. 我们没有时间来实现它, 但我首先想到的是创建一个 web 服务,会有像"IsMemberOfActiveDirectorySecurityGroup"的一种方法, 将它传递用户名() 并返回返回 true 或 false. 有没有人有任何其他吗, 更多聪明的主意? 有任何 SharePoint 的函数,我们可以利用从 InfoPath 来做这个决定?

</结束>

Technorati 标签:

3 上“的想法切换视图视图基于 InfoPath Form 中的用户 ID

  1. pingback的: 基于用户的 Infopath 切换视图 « Sladescross 的博客

留言

您的电子邮件地址不会被公开. 必需的地方已做标记 *