一些背景:我正在为我的一个客户使用 SharePoint 网站。他们用它来管理与客户的工作。我这里有 3 个相关字段:准备开具账单、已签入和关闭工作。准备开具账单是一个选择字段,有以下选项:是、否、已开具发票。签入是日期和时间字段。关闭作业是一个复选框。
客户想要删除在“关闭作业”字段下标记的作业。为了防止意外删除,他指定他希望“关闭作业”为只读,直到“准备开票”标记为“已开票”且“已签入”不为空。然后我将创建一个 Power Automate 流程来检查何时选中“关闭作业”并删除整个列表项。
我的想法是在“关闭作业”列上使用 JSON 条件格式来基本上禁用该列,除非满足这两个参数。
你们会如何处理这个问题?有谁知道我将如何为此编写 JSON?
我还没有尝试过任何事情,因为我不知道从哪里开始。在 Power Apps 中执行此操作似乎不正确。
我认为您无法使用 JSON 格式从 SharePoint 列表表单中禁用 SharePoint 是/否列。
但是,您可以尝试以下解决方法:
这是您可以使用的条件公式示例:
=if([$ReadyToBill]=='Invoiced' && Number([$CheckedIn])!=0, 'true', 'false')
将上述公式中的
ReadyToBill
和 CheckedIn
替换为 SharePoint 列表列的实际 内部名称。您可以按照本文获取列的内部名称:如何在 SharePoint Online 中查找列的内部名称?
我使用
Number([$CheckedIn])!=0
来检查日期和时间列是否为空。您可以在以下位置找到其他检查方法:SharePoint JSON 格式:检查日期和时间列是否为空/空
按照此 Microsoft 文档了解将条件公式应用于“关闭作业”列的步骤:指定条件公式以显示或隐藏 SharePoint 列表表单列