使用监视器对模型驱动应用窗体行为进行故障排除
监视器是一个工具,可以帮助应用制作者调试和诊断问题,从而帮助他们构建更快、更可靠的应用。 监视器通过提供应用运行时所有活动的日志来提供应用运行情况的深度视图。
在监视器中筛选模型驱动应用窗体相关事件,可以在您的应用运行时提供有关监视器中窗体上的相关表、表、控件和组件的信息。
在很多情况下,监视器可以帮助制作者了解窗体为何会以某种方式工作。 许多窗体问题是开发者设置的业务规则、JavaScript、窗体事件或客户端 API 导致的。 监视器还可以帮助确定所遇到的问题是原有的设计还是由于自定义。 它提供有助于回答以下问题的详细信息:
- 为什么表的相关菜单中没有显示行?
- 控件为何禁用/启用或可见/隐藏
- 为什么行处于只读状态?
针对窗体相关问题筛选监视器
按照以下说明了解模型驱动应用窗体的行为。
步骤 1:创建监视器会话
打开监视器会话有两种方法。
选项 1:
登录到 Power Apps,选择应用。
选择模型驱动应用旁边或全局命令栏上的 ...,然后选择监视器。
按照屏幕上的说明运行应用并加入监视会话。
选项 2:
播放您的模型驱动应用。
在 Web 浏览器中将
&monitor=true
添加到 URL 的末尾,然后刷新页面。在命令栏上选择监视器。
步骤 2:将应用连接到监视器会话
进入监视器后,从命令栏上的菜单中选择播放模型驱动应用。 这将打开应用并开始监视。
在模型驱动应用中执行与应用的正常使用一致的操作。 例如,使用表窗体打开和更改数据。
在运行监视器的浏览器窗口中,选择类别列,然后选择筛选依据。
从下拉列表中选择等于或包含,然后在框中输入 formchecker。 选择应用。
现在类别已经过筛选。 通过选择并按住列右侧并向右拖动可以展开操作列来查看所跟踪事件的完整名称。 使用应用并打开和使用窗体时,监视器将更新事件的列表。
使用监视器了解窗体行为
对于带有监视器的每一行,可以查看有关窗体事件的详细信息。 例如,假设您对窗体中发生的错误有疑问。 您在应用中转到该窗体,然后选择相应的窗体组件。 然后返回到启用了监视器的浏览器,查看进行筛选或未进行筛选的结果。 在这种情况下,复合控件存在错误。 通过展开详细信息的区域,您可以了解有关事件本身的详细信息。
有很多类型的事件会被监视,包括标准窗体事件,如 onload
、onsave
和 onclose
。
当您继续使用正在监视的应用时,监视器会更新事件列表中的信息。 对于窗体,您可以对很多不同的场景进行故障排除,找到有关当前正在处理的窗体、控件或表的其他信息。
支持的窗体检查区域和事件
支持的窗体监视区域包括以下方面。
应用区域 | 描述 |
---|---|
控件状态 | 有关加载窗体时控件的可见、已启用和标签源状态。 |
相关菜单 | 有关相关菜单项状态的详细信息。 示例: 为什么未在显示某个菜单项? 菜单项来自何处? |
选项卡/节/控件状态更改 | 有关谁(通过回调)导致了窗体组件 — 如选项卡、节或控件 — 更改组件的可见性和启用状态的详细信息。 |
导航 | 通过跟踪这些 Xrm.Navigation 客户端 API 方法的调用堆栈,详细了解导致导航或意外对话的原因:openAlertDialog(), openConfirmDialog(), openDialog(), openErrorDialog(), navigateTo(), openForm(), openTaskFlow(), openUrl(), openWebResource() |
不支持的自定义设置 | 有关窗体准备就绪之前不受支持的客户端 API 访问的详细信息。 示例: 在窗体完全加载之前访问 iFrame 中的 parent.Xrm.Page 。 使用 window.setTimeout() 访问窗体处理程序上下文之外的窗体 Web 资源中的 Xrm.Page 来定期调用窗体客户端 API。 在 Power Apps control framework 控制代码的 updateView() 方法中访问 Xrm.Page 。 |
监视器中与支持的窗体有关的事件的示例包括:
- FormEvents.onsave
- XrmNavigation
- FormEvents.onload
- FormControls
- TabStateChange.visible
- RelatedMenu
- ControlStateChange.disabled
- ControlStateChange.visible
- SectionStateChange.visible
- UnsupportedClientApi
后续步骤
有关如何解决模型驱动应用中的窗体问题的详细信息,请参阅解决模型驱动应用中的窗体问题。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈