为外部客户端配置任务

警告

模型驱动应用程序的协作控件将于 2024 年 5 月停用。 退休将分两个阶段进行,以确保平稳过渡。 下表详细介绍了停用过程时间线及其影响:

Timeframe 操作 影响
2024 年 2 月 将不再可从 AppSource 安装协作控件。 - 无法在 Power Apps 环境中部署协作控件。
- 现有安装不受影响。
2024 年 5 月 为控件提供支持的内部服务将停用。 - 控件将停止支持与 Microsoft 365 的集成,并将错误返回给用户。
通过控件生成和管理的数据不会受到影响。 有关详细信息,请参阅本文后面的表。

通过控件创建和管理的项目在服务停用后将继续存在。

控制 影响
审批 在“审批”控件中创建的审批将保留在“审批”应用中,但不再可在“审批”控件中访问。
Files 在“文件”控件中管理的文件将保留在 SharePoint 中,但不再可在“文件”控件中访问。
会议 在“会议”控件中创建的会议将保留在 Outlook 和 Teams 日历中,但不再可在“会议”控件中访问。
注意 在 Notes 控件中创建的备注将保留在 Dataverse 备注表中。
Tasks 在任务控件中创建的任务将保留在 Planner 中,但不再可在 Task 控件中访问。

建议从所有 Power Apps 解决方案中删除协作控件和协作连接器,并为即将停用的协作控件的用户做好准备。

可以分配给不属于组织或无权访问应用程序的用户的外部任务,例如将任务分配给客户。

若要启用,需要一个额外的步骤,将 XML 字符串传递给附加到所需 MDA 窗体上的子网格组件的 Tasks PCF 控件的每个实例。 XML 字符串是一个参数化查询,它允许控件从包含客户信息的表中提取所需的数据。

若要创建外部任务,请执行以下步骤:

  1. 创建新的自定义实体(如 Customer)或重用现有客户实体(如联系人)。

  2. 创建保存以下信息的新字段:

    1. 名称
    2. 电子邮件
    3. 父 (查找父表,例如检查)

    注意

    创建的客户实体是任务控件在分配外部任务时从中拉取客户信息的位置。 “父”字段可确保客户实体链接到检查记录。

  3. 生成提取 XML 文件以允许 PCF 控件拉取正确的客户信息。

    配置 XML 架构

    下面是任务配置 Fetch XML 的架构定义。 任何提取 XML 都需要设计为满足以下要求:

    • 查询结果应返回每个用户对象的以下属性:
      • ID
      • displayname
      • 电子邮件,如果需要,请使用别名。
    • 查询应包含 @top 参数,以允许调用方限制结果数。
    • 查询应具有 @rootEntityId 参数,以便仅根据需要按相关记录筛选结果。
    • 查询应具有 @useName 参数,以允许按名称筛选结果
    • 查询应具有 @useIdentifier 参数,以仅允许提取所选用户。

    配置 XML 架构和示例

    XML 架构的配置从客户表拉取数据。 可以调整节点以 <fetch/> 指定自己的查询,以显示来自任何其他自定义表的用户。

    注意

    XML 中的上述实体和属性名称和顺序属性采用 PublisherPrefix_TableColumn 格式。

    
    <custom-tasks> 
    <custom-task id="external" name="External" for="guest"> 
    <fetch top="@top"> 
    <entity name="[Name of table, e.g. Crb2891_customer]"> 
    <attribute name="[Name of ID column, e.g. Crb2891_customerid]" alias="id" /> 
    <attribute name="[Name of primary name column, e.g. Crb2891_name]" alias="displayname" /> 
    <attribute name="[Name of email column, e.g. Crb2891_email]" alias="email" /> 
    <order attribute ="[Name of primary name column, e.g. Crb2891_name]" descending="false" /> 
    <filter type="and"> 
    <condition attribute="[Name of parent lookup column, e.g. Crb2891_parent]" operator="eq" value="@rootEntityId" /> 
    <condition attribute="[Name of primary name column, e.g. Crb2891_name]" operator="like" value="@userName" /> 
    <condition attribute="[Name of email column, e.g. Crb2891_email]" operator="like" value="@userIdentifier" /> 
    </filter> 
    </link-entity> 
    </entity> 
    </fetch> 
    </custom-task> 
    </custom-tasks> 
    
    
  4. 将 Task 控件绑定到经典窗体设计器中的子网格。 选择 “保存 ”,然后选择“ 切换到经典”。

  5. 在经典窗体设计器中浏览,直到找到“ 任务 ”选项卡。双击子网格以打开其属性对话框。

    屏幕截图显示了“任务”属性对话框。

  6. 在属性对话框中,设置属性,如下图所示:

    Sceenshot 显示 Tasks 属性设置中更新的属性的示例。

  7. 转到“控件”选项卡,选择“ 自定义任务”属性以添加生成的提取 XML。

  8. 粘贴提取 XML

    显示如何粘贴 Fetch XML 的屏幕截图。

    屏幕截图显示如何配置自定义属性设置。

  9. 在“配置属性”“自定义任务”和“设置属性”窗口中选择 “确定 ”。

  10. 保存并发布。

另请参阅