设置

通过设置默认值加快数据输入

发布日期: 一月 1, 2008

提供已输入值的字段,可减少用户的输入时间并提高其准确性。如有必要,用户仍可覆盖默认值。

您可以通过编写在加载表单或更改字段值时触发的 JScript 代码,为 Microsoft Dynamics CRM 字段设置默认值。本文中的示例将介绍使用 JScript 进行的客户端编程。即使您以前从未编写过代码,这些代码示例也很容易理解、复制和修改。

第一个示例“设置约会的默认持续时间”将说明如何更改约会的默认持续时间。这种方法很简单,可防止员工因在输入约会时做出更改而导致的错误。

第二个示例“基于优先级设置截止日期”将说明如何基于用户在“任务”表单的“优先级”列表中选择的值,更改任务的“截止日期”字段中的值。使用一个字段中的值设置另一个字段的默认值,可确保员工遵照标准流程。此外,还可减少每位用户的点击次数和输入量。

若要做出本文建议的更改,您必须具有“系统管理员”或“系统定制员”安全角色, 或同等的特权。

当前页内容
设置约会的默认持续时间 设置约会的默认持续时间
基于优先级设置截止日期 基于优先级设置截止日期
修改 JScript 代码的相关提示 修改 JScript 代码的相关提示

设置约会的默认持续时间

下例将说明如何使用 OnLoad 事件,在 Microsoft Dynamics CRM 加载表单时更改属性的默认值。打开表单时,Microsoft Dynamics CRM 会在显示表单之前运行您在 OnLoad 事件中指定的代码。这可确保员工始终可以看到自定义值。

为“约会”表单配置 OnLoad 事件

  1. 在导航窗格中,依次单击“设置”、“自定义”,然后单击“自定义实体”。

  2. 双击“约会”。

  3. 在“详细信息”下,单击“表单和视图”,然后双击“表单”。

  4. 在“常规任务”区域,单击“表单属性”。

  5. 选择 “OnLoad”,然后单击“编辑”。将打开“事件详细信息属性”对话框。

  6. 将以下代码粘贴到“事件详细信息属性”对话框的框中。

    // 在打开表单时,将默认持续时间设置为 60 分钟。
    var CRM_FORM_TYPE_CREATE = "1";
    var iMinutes = 60;
    
    if (crmForm.FormType==CRM_FORM_TYPE_CREATE)
       {
    crmForm.all.scheduleddurationminutes.DataValue = iMinutes;
       }
    
  7. 选中“事件已启用”复选框。

  8. 单击“确定”关闭“事件详细信息属性” 对话框,然后单击“确定”关闭“表单属性”对话框。

  9. 在“表单:约会”表单的“预览”菜单上,单击“创建表单”。

  10. 在“创建表单”表单中,确保已将“持续时间”设置为一小时,然后关闭此窗口。

  11. 在“预览”菜单上,单击“更新表单”。因为只有在用户打开表单以创建新记录时,此代码才会运行,所以在用户打开表单以更新记录时,“持续时间”值不会发生变化。关闭该窗口。

  12. 在“表单:约会”表单中,单击“保存并关闭”。

  13. 如果完成了更改,请单击“实体:约会”表单上的“保存并关闭”,选择 “自定义实体”列表中的“约会”, 然后在“操作”菜单中,单击“发布”。

  14. 因为会缓存网页,所以可能不会立即显示已发布的自定义项。如果出现这种情况,可以关闭并重新打开 Microsoft Dynamics CRM 也可以按 F5 刷新该页。

页首

基于优先级设置截止日期

本示例将说明如何使用任务的优先级确定任务的截止日期。您将了解如何在另一个值发生更改时设置某个字段的默认值。

“任务”实体的“优先级”字段是一个下拉列表,而下拉列表具有默认值。打开新任务时,优先级会设置为“中”。本示例使用 OnLoad 事件在打开表单时设置截止日期。然后,对“优先级”字段使用 OnChange 事件,以便在“优先级”字段中的值发生更改时设置截止日期。

为“任务”表单配置 OnLoad 事件

  1. 在导航窗格中,依次单击“设置”、“自定义”,然后单击“自定义实体”。

  2. 双击“任务”。

  3. 在“详细信息”下,单击“表单和视图”,然后双击“表单”。

  4. 在“常规任务”区域,单击“表单属性”。

  5. 选择“OnLoad”,然后单击“编辑”。

  6. 将以下代码粘贴到“事件详细信息属性”对话框的框中:

    var CRM_FORM_TYPE_CREATE = "1";
    var DUE;
    var TODAY;
    
    // 只有在“创建”模式下打开表单,才进行以下更改。
    if (crmForm.FormType==CRM_FORM_TYPE_CREATE) 
        {
    // 获取今天的日期。
    TODAY = new Date();
    
    // 将截止日期从今天设置为 3 天后的下午 5:00。
    DUE = TODAY.setDate( TODAY.getDate() + 3);
    DUE=TODAY.setHours(17,0,0);
    crmForm.all.scheduledend.DataValue = DUE;
        }
    
  7. 选中“事件已启用”复选框。

  8. 单击“确定”关闭“事件详细信息属性”对话框,然后单击“确定”关闭“表单属性”对话框。

  9. 在“表单:任务”表单的“预览”菜单上,单击“创建表单”。

  10. 验证“截止日期”字段的值是否已设置为今天起三天后的下午 5:00,然后关闭“创建表单”窗口。

  11. 单击“保存”,然后继续执行下一步骤。

为“任务”表单上的“优先级”字段配置 OnChange 事件

  1. 在上一步骤中打开的“表单:任务”表单中,单击“优先级”,然后在“常规任务”区域中,单击“更改属性”。

  2. 在“事件”选项卡上,选择“onChange”,然后单击“编辑”。此时 将打开“事件详细信息属性” 对话框。

  3. 将以下代码粘贴到“事件详细信息属性”对话框的框中:

    var CRM_FORM_TYPE_CREATE = "1";
    var PRIORITY_HIGH="High";
    var PRIORITY_NORMAL="Normal";
    var PRIORITY_LOW="Low";
    var DUE;
    var TODAY;
    
    // 只有在“创建”模式下打开表单,才进行以下更改。
    if (crmForm.FormType==CRM_FORM_TYPE_CREATE)
        {
    TODAY = new Date();
    
    // 如果“截止日期”为空,则将其设置为今天的日期。
    DUE =  crmForm.all.scheduledend.DataValue;
    if (DUE == null) 
            {
    DUE = new Date();
            }
    // 基于“优先级”字段的值设置截止日期。 
    // 在每个案例中,将时间设置为下午 5:00。
    switch (crmForm.prioritycode.SelectedText) {
    
    case PRIORITY_HIGH:
    DUE = TODAY;
    DUE = DUE.setHours(17,0,0);
    break;
       
    case PRIORITY_LOW:
    DUE = TODAY.setDate( TODAY.getDate() + 7);
    DUE = TODAY.setHours(17,0,0);
    break;
    
    case PRIORITY_NORMAL:
    DUE = TODAY.setDate( TODAY.getDate() + 3);
    DUE = TODAY.setHours(17,0,0);
    break;
        }
    
    crmForm.all.scheduledend.DataValue = DUE;
        }
    
  4. 选中“事件已启用”复选框。

  5. 单击“确定”关闭“事件详细信息属性”对话框,然后单击“确定”关闭“字段属性”对话框。

  6. 在“表单:任务”表单的“预览”菜单上,单击“创建表单”。

  7. 在“优先级”框中,选择各个值,然后验证“截止日期”字段内的值是否正确更改。

  8. 关闭“创建表单”表单。

  9. 在“预览”菜单上,单击“更新表单”,然后确定更改“优先级”框中的值并不会 更改“截止日期”字段中的值。

  10. 关闭“更新表单”表单。

  11. 在“表单:任务”表单中,单击“保存并关闭”。

  12. 如果完成了更改,请单击“实体:任务”表单上的“保存并关闭”。

  13. 在“自定义实体”列表中,选择“任务”,然后在“操作”工具栏上,单击“发布”。

  14. 因为会缓存网页,所以可能不会立即显示已发布的自定义项。如果出现这种情况,可以关闭并重新打开 Microsoft Dynamics CRM 也可以按 F5 刷新该页。

页首

修改 JScript 代码的相关提示

在 Microsoft Dynamics CRM 中创建默认值时,请牢记以下几点:

是否找到了所需的信息?
是     否 
如果未找到,请问您需要什么信息?(可选)

© 2009 Microsoft Corporation。保留所有权利。