故障排除
找到您在屏幕上看到的情况,然后按解决方法操作。每张图片都来自真实的组件。
- 没有“保存”按钮
- “组件错误”提示横幅
- “配置不匹配”提示横幅
- 红色“无法加载数据”横幅
- 需要配置
- 没有可用资源
- 容量需要两个时间字段
- 已保存的日期不显示
- 无法再选择日期
- Flow 忽略向导设置
- 站点成员看不到记录
- 访问错误
没有“保存”按钮
原因:组件没有可以保存日期的父记录。应用程序页面、主页和 Experience 页面本身没有记录。
解决方法
- 将 Static Parent Record Id 设为这些日期所属记录的 Id。
- 检查对象、日期字段和关系字段是否都已填写,或者设置 Config Name(配置名称)。
在 Flow 中本来就没有“保存”按钮:日期由 Flow 自己的“下一步”按钮带走。
琥珀色横幅:“此配置使用了错误的组件”
原因:Config Name 指向的是为另一个组件保存的配置。
解决方法
- 让 Config Name 指向为本组件创建的配置,或
- 换成该配置所对应的组件,或
- 在设置向导中打开该配置,修改其组件类型。
琥珀色横幅:“配置不匹配”
原因:页面的记录或 Static Parent Record Id 所属的对象,与配置中关系字段所查找的对象不同。
解决方法
- 把组件放到横幅中所提对象的记录页面上,或
- 将 Static Parent Record Id 设为该对象的一条记录,或
- 使用为此页面对象创建的配置。
红色横幅:“此组件无法加载其数据”
原因:设置中的某个字段名或对象名有误,或者用户无法读取该对象、其字段或 MultiDatePick Apex 类。
解决方法
- 查看灰色框:其中写明了出错的字段、对象或访问权限。
- 名称错误:从“设置”的对象管理器中复制准确的 API 名称。
- 没有访问权限:分配 MultiDatePick - User 权限集,并授予对您自己对象的访问权限。在公开 Experience 站点上,为访客用户分配 MultiDatePick - Guest,并授予其对您自己对象的读取权限。
Booking 显示“需要配置”
原因:Booking 需要资源对象、预订对象、预订日期字段和预订资源字段。面板会列出缺少的项。
解决方法
- 将 Config Name 设为设置向导中的一个 Booking 配置,或
- 逐一填写面板中列出的属性。
Booking 显示“没有可用资源”
原因:资源列表为空。通常是筛选条件匹配不到任何记录、资源对象有误,或者还没有任何资源记录。
解决方法
- 对照一条真实记录检查 Resource Filter Field 和 Resource Filter Value(资源筛选值)。
- 检查 Resource Object API Name(资源对象 API 名称)和 Resource Name Field(资源名称字段)。
- 至少创建一条资源记录。
琥珀色横幅:“容量需要两个时间字段”
原因:已设置 Capacity Field(容量字段),但预订开始时间或结束时间字段为空,因此无法执行容量限制。
解决方法
- 同时设置 Booking Start Time Field(预订开始时间字段)和 Booking End Time Field(预订结束时间字段),或
- 清空 Capacity Field。
日期已保存,但下次打开时不显示
原因:Load Existing Dates 处于关闭状态。记录已经保存,但日历每次打开都是空的。
解决方法
- 开启 Load Existing Dates。
- 重新加载页面。已保存的日期会显示出来,如果设置了状态字段,还会按状态着色。
无法再选择日期
原因:组件设有日期数量上限:Max Dates Allowed(最大选择数)(Date 和 Date Time)或 Max Dates Per Booking(Booking)。
解决方法
- 取消选择一个日期,再选另一个,或
- 提高上限,或设为 0 表示不限制。
部分日期或时间显示为灰色
原因:某条预订规则把它们关闭了。Minimum Notice (Hours) 会关闭开始时间太近的时段,Book Up To (Days Ahead) 会关闭滚动时间窗之外的日期,其余的则由最早或最晚可选日期、屏蔽日期以及各资源的营业时间关闭。
解决方法
- 在组件或其配置中检查这些设置。设为 0 即关闭提前通知和时间窗限制。
- 单击一个已关闭的时间段:会显示它为何关闭。
紧接在某个预订之后的时间段显示为已占用
原因:Buffer Between Bookings (Minutes) 会在同一资源的每个预订之后预留空闲时间,用于整理或周转。
解决方法
- 缩短缓冲时间,或设为 0 以允许预订一个接一个。
- “冲突行为”仍然适用:设为 Skip 时,落在缓冲时间内的预订会像其他冲突一样被跳过并报告。
“以下所选项已不在预订时间范围内”
原因:页面打开的时间太久,所选的日期或时间已进入 Minimum Notice 期限之内。保存时会再次检查该规则,以免一个过时的页面预订得太迟。
解决方法
- 移除消息中列出的日期,或选择更晚的时间。
- 再次保存。
保存后没有“添加到日历”按钮
原因:Show Add to Calendar After Saving 处于关闭状态。它默认关闭。
解决方法
- 在组件属性或配置中开启它,然后保存一条记录。按钮会出现在提示消息下方的一个提示栏中。
- 看到的是“添加到 Google 日历”?说明浏览器阻止了生成文件,所以单个日程改为提供 Google 日历链接。
Flow 屏幕忽略了我的向导设置
原因:Config Name 为空或拼写有误。名称错误时不会报错:组件会悄悄退回到默认设置。
解决方法
- 将 Config Name 设为与设置向导中保存时完全一致的配置名称。
- 不要改动那些开/关输入项。所有复选框都来自配置。
站点成员看不到自己创建的记录
原因:Experience Cloud 共享。站点用户只能看到共享规则授予他们的记录。
解决方法
- 在日期所保存的对象上添加共享规则(或为成员添加共享集),或
- 放开它的外部组织范围默认设置。
访问错误
日历以每个用户自己的权限运行。先分配合适的权限集,再授予对您自己的对象和字段的访问权限。
| 权限集 | 分配给 |
|---|---|
| MultiDatePick - User | 所有使用日历的人 |
| MultiDatePick - Setup | 创建配置的管理员。包括设置向导。 |
| MultiDatePick - All Access | 既创建配置又使用日历的管理员 |
| MultiDatePick - Guest | 公共 Experience Cloud 站点的访客用户 |
错误消息会写明出错的地方:字段、对象或验证规则。如果消息以详细信息:结尾,后面的文字就是 Salesforce 自己的描述。把它发给您的管理员或我们,它会准确指出该去哪里查。
“您需要 MultiDatePick 许可证才能使用此日历”
原因:MultiDatePick 按席位授予许可证,而该用户尚未分配席位。日历会被这条提示取代,保存也会被拒绝。站点访客永远不需要席位。
解决方法
- 在“设置”中打开已安装的软件包,然后单击 MultiDatePick 旁边的管理许可证。
- 单击添加用户并添加该用户。下次加载页面时,他们就能看到日历。
记录打不开,或提示“权限不足”
原因:用户无法读取父对象,或者共享设置对其隐藏了该记录。
解决方法
- 分配 MultiDatePick - User。
- 在权限集中授予对父对象的“读取”权限。
- 检查共享设置是否向该用户授予了该记录的访问权限。
“对对象 Y 上的字段 X 没有读取权限”
原因:对于日历显示的某个字段(状态、悬停、日期或时间字段),用户没有字段级安全性的“读取”权限。
解决方法
- 为消息中提到的字段授予“读取”权限。
- 管理员也要授予。新的自定义字段对所有人隐藏,包括系统管理员,直到有权限集授予访问权限为止。
提到某个字段的“Time group failed to save”(时间组保存失败)或“创建预订失败”
原因:用户可以读取这些字段,但无法编辑保存时要写入的某个字段。通常是后来添加的状态、第二个选项列表或时间字段。
解决方法
- 为日历写入的每个字段授予“编辑”权限:日期、开始和结束时间、状态、第二个选项列表、名称字段以及父记录查找字段。
- 为记录所保存的对象授予“创建”权限。
“您无权执行此操作”,并附有“交叉引用 ID 的访问权限不足”
原因:新记录指向了用户看不到的记录:父记录或资源。
解决方法
- 至少授予对父对象和资源对象的“读取”权限,并共享这些记录。
- 在公开站点上,让访客预订到自定义对象上。Salesforce 限制访客访问联系人和客户。
访客看到的是空日历
原因:访客共享规则尚未生效,或者访客配置文件少了一步设置。
解决方法
- 将对象的外部组织范围默认设置设为“私有”,然后在“设置”的“共享设置”中单击重新计算。
- 为访客用户分配 MultiDatePick - Guest 权限集,并授予其对您自己每个对象和字段的“读取”权限。
- 激活站点。仅仅发布是不够的。
完整的五步访客检查清单见用户指南。