隔离模型驱动应用中的问题

模型驱动应用由配置驱动。 可以提供有关生成应用的高级说明。 还可以引入影响应用多个部分的自定义组件。 当应用没有按预期运行时,如果应用是自定义错误或 Power Apps 系统中的 bug,则可能并不明显。

下面是在模型驱动应用中隔离问题的一些技术。

删除自定义项

以下功能可能会影响正常操作。 请尝试禁用或删除它们,并检查问题是否仍然存在。 详细了解如何查找和禁用窗体上的自定义项。

业务规则

影响:窗体页

业务规则 根据记录的状态更改窗体的行为。 请尝试禁用或简化规则,并检查窗体是否仍按预期工作。

客户端脚本

影响:窗体页

客户端脚本 包含 JavaScript 代码,这些代码可能会与 Power Apps 系统冲突,或者以意外的方式更改它。 如果禁用脚本可以解决问题,则应 隔离自定义脚本的哪个部分导致此问题

可以通过将此脚本追加到页面的 URL 来暂时禁用所有自定义脚本:

&flags=DisableFormLibraries=true,DisableWebResourceControls=true

自定义命令

影响:窗体页、基于表的视图页

如果在命令栏中选择命令后出现问题,请检查它是否为自定义命令。 自定义命令可以包含导致意外行为的 JavaScript 代码。 新式命令可以使用 Power Fx 定义自定义操作。 在任一情况下,都尝试简化命令,以确定自定义命令的定义方式是否存在错误。

自定义控件

影响:窗体页、基于表格的视图页、自定义页面

可以 替换窗体页上 的控件,或者 将基于表的视图页 中使用的网格控件替换为 Power Apps 组件。 这些控件是具有 JavaScript 和 CSS 代码的自定义控件,可能会影响页面的其他部分。 尝试切换到开箱即用控件以查看自定义控件是否是问题。

服务器插件和进程

影响:所有页面

管理员可以 安装插件并创建用于修改应用业务逻辑的进程。 如有任何相关的服务器端自定义项,请咨询管理员。

与现用配置进行比较

为了帮助确定某些内容是否是配置错误,检查应用的其他部分可能很有用。

例如,此问题是否与不同的问题发生:

  • 表(实体)
  • 视图
  • 具有相同表的应用
  • 同一表的窗体
  • 引用同一列的控件(属性)

理想情况下,与尚未自定义的现用一个比较。 例如,如果问题与创建的表(实体)有关,请查看现装表。

如果问题在其他位置未发生,请将差异与配置方式进行比较。 表关系和权限的设置方式可能不同。 或者未为统一接口启用表。

重新创建项

从头开始创建项不仅可以检查和比较默认配置,还可以修复损坏的配置。

如果以下任一项不起作用,请尝试重新创建它们。 它可以是简化的版本,以缩小哪些部分不起作用。

  • 自定义表(实体)
  • 查看
  • 窗体
  • 自定义脚本

确保向应用添加所有必需的组件

模型驱动应用组件 包括表及其相关表、窗体、列、视图、图表、仪表板和业务流程。 出于性能原因,只会下载添加到应用的组件。

如果组件未出现或行为不一致,请检查它是否已添加到应用。 例如,如果 Teams 表未显示在窗体的查找控件中,但其他表也显示,则 Teams 表可能尚未添加到应用中。

可以使用新式应用设计器将以下组件添加到应用

还可以 使用经典应用设计器添加这些组件。

若要使表脱机使用,必须 将其添加到脱机配置文件中。 有关详细信息,请参阅 移动脱机指南

了解获取数据或显示数据时是否出现问题

当数据在应用中未正确显示时,它可能是提供数据的服务器问题,或者处理和显示数据时出现应用问题。 若要缩小原因范围,可以尝试 一般方法来隔离有问题的层

模型驱动应用具有复杂的数据流。 下面是要尝试的更高级的事情。

  • 检查网络请求的 FetchXML,并检查应用是否正在发出正确的网络请求并从服务器正确接收数据。 可以使用 监视器 查看网络请求。
  • 如果应用具有脱机配置文件,请尝试完全从配置文件或配置文件中删除用户。 即使存在 Internet 连接,也可以脱机运行的应用的数据流也不同。
  • 通过尝试其他用户或表来检查权限问题。

简化自定义脚本

自定义脚本是开发人员的高级功能。 它们可用于表单、自定义命令Power Apps 组件网页(HTML)Web 资源 脚本可以执行的操作具有巨大的灵活性,但很有可能会意外中断系统。

如果怀疑脚本导致问题,请执行以下步骤:

  1. 禁用所有自定义脚本,并查看问题是否仍然存在。

  2. 如果没有,请逐个启用脚本以查看导致问题的原因。

  3. 找到导致问题的脚本后,请从它们中删除不相关的代码。 例如,如果只有一个字段有问题,请删除与其他窗体字段交互的代码。

  4. 通过逐步简化脚本,应能够确定问题是由自定义代码还是客户端 API 功能行为不正确引起的。

    • 如果错误来自自定义代码,请联系编写脚本以获取帮助的开发人员。

    • 如果客户端 API 功能未按文档所述工作,则可以将其报告为Microsoft。 附加简化脚本的副本,并提及哪些 API 功能不起作用。

创建 vanilla repro 应用

创建 vanilla repro 应用 的过程可能会发现在具有许多自定义项的环境中不明显的配置错误。 即使问题未解决,你也会缩小原因范围,并更轻松地向其他人解释问题。

后续步骤

另请参阅