全部文档
文档中心DeepUX(页面)功能与Python交互

与Python交互

虽然在UX中已经可以通过数据源配置直接获取业务与财务数据,但对于更复杂的场景例如数据处理或业务逻辑,仍需要脚本介入进行处理。因此,UX也提供了与Python交互的能力,通过Python脚本实现更复杂的业务逻辑。

UX中的python主要分为两种调用途径,一种为通过数据源-添加数据源-python数据源的方式,另一种为通过事件-添加动作-执行python的方式。

python作为数据源主要用于:

1)作为图表的数据源,常用于对财务模型数据进行计算处理后展现,如同比、环比等。

2)在页面中需要长时使用某后端数据的返回结果用于前端使用,例如查询维度数据,根据某些后端数据判断前端按钮的显示禁用,根据A的值动态展示B的值等。

python作为动作主要用于某些计算或增删改的逻辑,通常仅需一次性执行,并返回执行成功失败结果即可。

可参考UX数据源章节 Python(DataFrame)数据源

Python脚本可作为动作被事件触发。

调用参数根据python脚本入参进行配置即可。key自行键入,value同样可使用页面上的动态值、固定值等任意值。

执行方式分为同步和异步,同步执行可等待python返回结果并将成功/失败结果展示在页面右上角弹层。

需要按照python脚本的固定返回格式进行返回,否则无法正常解析。(见python元素配置,若开启指定结构,py服务将进行校验)

此外可分别配置成功后和失败后是否提示。

异步由于不会等待脚本执行完毕,仅可配置成功后(调用py成功后)是否提示并配置固定的提示内容。

在执行过程中,未避免误触其他操作,可选择执行时遮罩页面。

此外,执行完毕后由于后端数据可能已经刷新,同样需要刷新前端的某些控件。此时若为清单、图表等通过数据源关联的控件,则在下一个动作中配置【查询数据源】。 即通过数据源的重新查询,刷新数据源绑定的控件。 若为电子表格、清单表1.2等嵌入的控件,则可配置【控件初始化】动作进行刷新。

两者的区别在于查询数据源可以更精确地控制入参,且可以刷新关联的多个控件(若有)。而控件初始化只能恢复到初始状态。

动作的返回结果可以由下一个节点引用。由于前端不建议使用过于复杂的逻辑,因此仅支持通过较简单的方式对上一节点引用。 在表达式中,通过$context.event.lastActionResult(上一个动作) 或 $context.event.actionResults(之前所有动作)即可获取返回结果。

返回结果的内容视不同接口有所不同,可通过赋值给某个控件或浏览器控制台日志进行查看。

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send