MS CRM - edit.aspx表单的大量定制

时间:2009-07-28 13:25:22

标签: forms dynamics-crm customization

我有一个用例,我认为只能通过大量定制CRUD表单来建模;希望有更好的方法,如果没有,任何形式的见解:)

我需要建模一个用例,其中标准创建引用(自定义实体)表单是一系列阶段(例如带有逻辑上一个/下一个按钮的选项卡)。我需要让用户亲自完成这些步骤,创建子实体,以及在流程中移动时的大量隐藏/相关属性。稍后在视图中检索此数据时,我可能最终将FetchXML与各种松散连接的实体一起使用。

真正的问题是,当在CRM中的任何位置单击指向实体的超链接时,这应该作为默认表单(针对特定角色)弹出。到目前为止,我修改了/UserDefined/edit.aspx来检查我的特定实体类型和用户角色,并将他重定向到一个新页面(现在是一个稍微修改过的edit.aspx副本)。

我可以从头开始编写整个新页面并使用SDK查询/更新字段,但我想知道我是否仍然可以加载默认的frm:CrudForm作为crmForm并使用它的属性/方法。有什么想法吗?

  1. 我不喜欢重定向OnLoad()方法,但grep / sed替代默认edit.aspx url可能弹出的所有地方(在CRM aspxs中)听起来更糟糕。还有第三种选择吗?

  2. 我应该从头开始编写aspx网站,还是应该尝试将其与默认的CrudForm绑定?如果是后者,你能就如何解决这个问题提出一些建议吗?这样的定制似乎远非标准,并且写得不好;)

  3. 有没有更好的方法来处理这个用例?也许我错过了一些关于如何使用标准CRM功能来解决这个问题的基本见解。 (乍一看,默认的工作流程实际上不是一个选项 - >我最初是这样做的,创建任务并使用公共队列来完成流程的每一步,但从用户的角度来看,这是一个真正的混乱 - >很难掌握我们在推荐过程中的确切位置)

3 个答案:

答案 0 :(得分:2)

要保持完全支持,您是否可以为自定义实体创建一个标签,其上有iframe,从那里加载自定义ASPX页面,只需通过javascript隐藏/删除其余标签?

开箱即用的CRM页面肯定是不受支持的,所以你可能找不到很多资源。如果MSFT嗅到您进行了不受支持的自定义设置,那么如果您/您的客户甚至需要它们,他们可能会拒绝支持请求。

答案 1 :(得分:1)

离开马特的想法......

我想我会尽可能地使用标准表格以节省一些时间。

  1. 自定义表单(常规UI方式)以包含创建过程中每个步骤的部分。
    • 将您需要的任何字段放入部分。
    • 确保显示部分名称,以便以后更容易隐藏该部分。
  2. 对于要求用户创建相关记录的步骤,请创建一个仅包含iframe的部分。
    • 使用iframe指向帮助用户创建相关记录的自定义页面。请注意,由于尚未创建我们引导用户的记录,因此相关记录iframe中的自定义页面帮助他们创建将无法引用它。当用户创建相关记录时,您可能需要考虑重新设计。
  3. 将代码添加到检查用户角色的OnLoad事件中。 (请参阅Ronald Lemmen's post获取帮助。在您的情况下,您将隐藏部分。)如果您确定用户需要手持式来创建记录:
    • 隐藏除代表第一步的部分之外的所有部分。
    • 在表单上的某处添加Previous和Next按钮。
      • 进行设置,以便他们根据用户所在的步骤控制哪个部分对用户可见。
    • 完成最后一步后,以编程方式保存将创建记录的表单。
  4. 希望有效。祝你好运!

答案 2 :(得分:0)

记录中我同意马特。

  

我不喜欢重定向OnLoad()   方法,但替代   grep / sed默认的所有地方   可以弹出edit.aspx网址(在CRM中)   aspxs)听起来更糟糕。有没有   第三种选择?

难道你不能只为你的实体进行重定向的javascript onload。您的对象类型代码可能会在安装过程中发生变化,因此它确实让您无需修改​​edit.aspx。

  

我应该写一下aspx网站吗?   划伤,或者我应该尝试绑这个   使用默认的CrudForm?如果   后者,你能提供一些建议吗?   怎么去做;这样   定制似乎远非如此   标准,并没有很好的写作   关于;)

我会从头开始编写您的网站。对于复杂的业务流程而言,在CRM表单的背景下要担心太多。

  

有没有更好的方法来解决这个问题   用例?也许我错过了一些基本的   洞察我如何使用   标准CRM功能来解决这个问题。 (在   乍一看,默认的工作流程   不是一个真正的选择 - >一世   原来是这样做的,   创建任务和使用公共队列   对于这个过程的每一步,但是   从用户的角度来看,这是一个   真正的混乱 - >很难掌握在哪里   正是在推荐过程中我们   是)

就像马特一样,你说,创建自己的一组网页。您不会受到升级问题的影响,而且可能比尝试破解您的CRM形式更容易。创建自己的ASPX将是标准的并且受到支持,而修改它们将不会为您遇到的任何麻烦提供很多帮助。

希望我没有误解任何事情。