即将登陆 Salesforce AppExchange

故障排除

找到您在屏幕上看到的情况,然后按解决方法操作。每张图片都来自真实的组件。

没有“保存”按钮

原因:组件没有可以保存日期的父记录。应用程序页面、主页和 Experience 页面本身没有记录。

解决方法

  1. 将 Static Parent Record Id 设为这些日期所属记录的 Id。
  2. 检查对象、日期字段和关系字段是否都已填写,或者设置 Config Name(配置名称)。

在 Flow 中本来就没有“保存”按钮:日期由 Flow 自己的“下一步”按钮带走。

应用程序页面上未设置父记录的 Salesforce 日期选择器:有“全部清除”、“撤消”和“取消”按钮,但没有“保存”按钮
有“全部清除”、“撤消”和“取消”,但没有“保存”。

琥珀色横幅:“此配置使用了错误的组件”

显示琥珀色“此配置使用了错误的组件”横幅的 Salesforce 日历:Booking 配置被放到了 Date 组件上
Booking 配置被加载到了 Date 组件中。日历保持隐藏。

原因:Config Name 指向的是为另一个组件保存的配置。

解决方法

  1. 让 Config Name 指向为本组件创建的配置,或
  2. 换成该配置所对应的组件,或
  3. 在设置向导中打开该配置,修改其组件类型。

琥珀色横幅:“配置不匹配”

显示琥珀色“配置不匹配”横幅的 Salesforce 日历:配置要求 Event 记录,但页面针对的是 Resource 记录
配置把日期保存到 Event 上,但页面记录是 Resource。

原因:页面的记录或 Static Parent Record Id 所属的对象,与配置中关系字段所查找的对象不同。

解决方法

  1. 把组件放到横幅中所提对象的记录页面上,或
  2. 将 Static Parent Record Id 设为该对象的一条记录,或
  3. 使用为此页面对象创建的配置。

红色横幅:“此组件无法加载其数据”

显示红色“此组件无法加载其数据”横幅的 Salesforce 日历,下方写明具体原因:对象上不存在该日期字段名
灰色框中写明了具体问题。这里是一个不存在的日期字段。

原因:设置中的某个字段名或对象名有误,或者用户无法读取该对象、其字段或 MultiDatePick Apex 类。

解决方法

  1. 查看灰色框:其中写明了出错的字段、对象或访问权限。
  2. 名称错误:从“设置”的对象管理器中复制准确的 API 名称。
  3. 没有访问权限:分配 MultiDatePick - User 权限集,并授予对您自己对象的访问权限。在公开 Experience 站点上,为访客用户分配 MultiDatePick - Guest,并授予其对您自己对象的读取权限。

Booking 显示“需要配置”

原因:Booking 需要资源对象、预订对象、预订日期字段和预订资源字段。面板会列出缺少的项。

解决方法

  1. 将 Config Name 设为设置向导中的一个 Booking 配置,或
  2. 逐一填写面板中列出的属性。
显示“需要配置”面板的 Salesforce 预订日历,列出四项缺少的设置:资源对象、预订对象、预订日期字段和预订资源字段
每一行就是一个尚未设置的属性。

Booking 显示“没有可用资源”

原因:资源列表为空。通常是筛选条件匹配不到任何记录、资源对象有误,或者还没有任何资源记录。

解决方法

  1. 对照一条真实记录检查 Resource Filter Field 和 Resource Filter Value(资源筛选值)。
  2. 检查 Resource Object API Name(资源对象 API 名称)和 Resource Name Field(资源名称字段)。
  3. 至少创建一条资源记录。
显示“没有可用资源”提示的 Salesforce 会议室预订日历,原因是资源筛选条件匹配不到任何会议室
筛选条件要找的楼层上根本没有会议室。

琥珀色横幅:“容量需要两个时间字段”

显示琥珀色“容量需要两个时间字段”横幅的 Salesforce 预订组件,原因是未设置预订开始和结束时间字段
日历保持隐藏,因此任何预订都无法绕过容量限制。

原因:已设置 Capacity Field(容量字段),但预订开始时间或结束时间字段为空,因此无法执行容量限制。

解决方法

  1. 同时设置 Booking Start Time Field(预订开始时间字段)和 Booking End Time Field(预订结束时间字段),或
  2. 清空 Capacity Field。

日期已保存,但下次打开时不显示

原因:Load Existing Dates 处于关闭状态。记录已经保存,但日历每次打开都是空的。

解决方法

  1. 开启 Load Existing Dates。
  2. 重新加载页面。已保存的日期会显示出来,如果设置了状态字段,还会按状态着色。
开启 Load Existing Dates 的 Salesforce 日历,显示一个月内已保存的会议室预订,按状态着色
开启 Load Existing Dates 后,日历一打开就会显示已保存的预订。

无法再选择日期

原因:组件设有日期数量上限:Max Dates Allowed(最大选择数)(Date 和 Date Time)或 Max Dates Per Booking(Booking)。

解决方法

  1. 取消选择一个日期,再选另一个,或
  2. 提高上限,或设为 0 表示不限制。
选中三个日期的 Salesforce 日期选择器,显示提示“已达到最多 3 个日期的上限。取消选择后可选择其他日期。”
上限为三个,已选三个日期。

部分日期或时间显示为灰色

原因:某条预订规则把它们关闭了。Minimum Notice (Hours) 会关闭开始时间太近的时段,Book Up To (Days Ahead) 会关闭滚动时间窗之外的日期,其余的则由最早或最晚可选日期、屏蔽日期以及各资源的营业时间关闭。

解决方法

  1. 在组件或其配置中检查这些设置。设为 0 即关闭提前通知和时间窗限制。
  2. 单击一个已关闭的时间段:会显示它为何关闭。

紧接在某个预订之后的时间段显示为已占用

原因:Buffer Between Bookings (Minutes) 会在同一资源的每个预订之后预留空闲时间,用于整理或周转。

解决方法

  1. 缩短缓冲时间,或设为 0 以允许预订一个接一个。
  2. “冲突行为”仍然适用:设为 Skip 时,落在缓冲时间内的预订会像其他冲突一样被跳过并报告。

“以下所选项已不在预订时间范围内”

原因:页面打开的时间太久,所选的日期或时间已进入 Minimum Notice 期限之内。保存时会再次检查该规则,以免一个过时的页面预订得太迟。

解决方法

  1. 移除消息中列出的日期,或选择更晚的时间。
  2. 再次保存。

保存后没有“添加到日历”按钮

原因:Show Add to Calendar After Saving 处于关闭状态。它默认关闭。

解决方法

  1. 在组件属性或配置中开启它,然后保存一条记录。按钮会出现在提示消息下方的一个提示栏中。
  2. 看到的是“添加到 Google 日历”?说明浏览器阻止了生成文件,所以单个日程改为提供 Google 日历链接。

Flow 屏幕忽略了我的向导设置

原因:Config Name 为空或拼写有误。名称错误时不会报错:组件会悄悄退回到默认设置。

解决方法

  1. 将 Config Name 设为与设置向导中保存时完全一致的配置名称。
  2. 不要改动那些开/关输入项。所有复选框都来自配置。

站点成员看不到自己创建的记录

原因:Experience Cloud 共享。站点用户只能看到共享规则授予他们的记录。

解决方法

  1. 在日期所保存的对象上添加共享规则(或为成员添加共享集),或
  2. 放开它的外部组织范围默认设置。

访问错误

日历以每个用户自己的权限运行。先分配合适的权限集,再授予对您自己的对象和字段的访问权限。

权限集分配给
MultiDatePick - User所有使用日历的人
MultiDatePick - Setup创建配置的管理员。包括设置向导。
MultiDatePick - All Access既创建配置又使用日历的管理员
MultiDatePick - Guest公共 Experience Cloud 站点的访客用户

错误消息会写明出错的地方:字段、对象或验证规则。如果消息以详细信息:结尾,后面的文字就是 Salesforce 自己的描述。把它发给您的管理员或我们,它会准确指出该去哪里查。

“您需要 MultiDatePick 许可证才能使用此日历”

原因:MultiDatePick 按席位授予许可证,而该用户尚未分配席位。日历会被这条提示取代,保存也会被拒绝。站点访客永远不需要席位。

解决方法

  1. 在“设置”中打开已安装的软件包,然后单击 MultiDatePick 旁边的管理许可证。
  2. 单击添加用户并添加该用户。下次加载页面时,他们就能看到日历。

记录打不开,或提示“权限不足”

原因:用户无法读取父对象,或者共享设置对其隐藏了该记录。

解决方法

  1. 分配 MultiDatePick - User。
  2. 在权限集中授予对父对象的“读取”权限。
  3. 检查共享设置是否向该用户授予了该记录的访问权限。

“对对象 Y 上的字段 X 没有读取权限”

原因:对于日历显示的某个字段(状态、悬停、日期或时间字段),用户没有字段级安全性的“读取”权限。

解决方法

  1. 为消息中提到的字段授予“读取”权限。
  2. 管理员也要授予。新的自定义字段对所有人隐藏,包括系统管理员,直到有权限集授予访问权限为止。

提到某个字段的“Time group failed to save”(时间组保存失败)或“创建预订失败”

原因:用户可以读取这些字段,但无法编辑保存时要写入的某个字段。通常是后来添加的状态、第二个选项列表或时间字段。

解决方法

  1. 为日历写入的每个字段授予“编辑”权限:日期、开始和结束时间、状态、第二个选项列表、名称字段以及父记录查找字段。
  2. 为记录所保存的对象授予“创建”权限。

“您无权执行此操作”,并附有“交叉引用 ID 的访问权限不足”

原因:新记录指向了用户看不到的记录:父记录或资源。

解决方法

  1. 至少授予对父对象和资源对象的“读取”权限,并共享这些记录。
  2. 在公开站点上,让访客预订到自定义对象上。Salesforce 限制访客访问联系人和客户。

访客看到的是空日历

原因:访客共享规则尚未生效,或者访客配置文件少了一步设置。

解决方法

  1. 将对象的外部组织范围默认设置设为“私有”,然后在“设置”的“共享设置”中单击重新计算。
  2. 为访客用户分配 MultiDatePick - Guest 权限集,并授予其对您自己每个对象和字段的“读取”权限。
  3. 激活站点。仅仅发布是不够的。

完整的五步访客检查清单见用户指南。

仍然没有解决?

把您看到的画面截图发给我们,我们会帮您解决。

发邮件联系支持 阅读用户指南 试用在线演示

还没有使用 MultiDatePick?它即将登陆 Salesforce AppExchange。

上线时通知我