SAP Business One Web客户端UI API扩展视图间路由导航问询
SAP Business One Web客户端UI API扩展视图导航实现方案
一、类SAPUI5的内部视图导航实现
可以实现客户端内的视图导航,无需以外部链接形式打开。使用oEnv.navigation.navigate API即可在当前Web客户端会话内完成UDO视图间的跳转,同时支持参数传递以实现数据回传。
1. UDO1跳转至UDO2的代码示例
在UDO1视图的按钮点击事件中,调用导航方法并传递必要参数(如当前UDO1记录ID,用于返回时恢复上下文):
async function handleUDO1ButtonClick() { // 获取当前UDO1的记录ID const currentUDO1Id = oForm.DataSources.Item("YOUR_UDO1_KEY_FIELD").Value; // 导航到UDO2的列表视图 await oEnv.navigation.navigate({ target: "/Objects/YOUR_UDO2_CODE/List", parameters: { sourceUDO1Key: currentUDO1Id } }); }
2. UDO2返回至UDO1的代码示例
在UDO2视图选中数据后,调用导航方法返回UDO1,并携带选中的UDO2数据参数:
async function handleUDO2DataSelection(selectedUDO2Id) { // 获取跳转时传递的UDO1记录ID const sourceUDO1Key = oEnv.navigation.getParameters().sourceUDO1Key; // 导航回UDO1的表单视图,恢复原记录上下文并传递选中数据 await oEnv.navigation.navigate({ target: "/Objects/YOUR_UDO1_CODE/Form", parameters: { key: sourceUDO1Key, selectedUDO2Key: selectedUDO2Id } }); }
二、相关官方文档参考
路由导航的详细说明可参考SAP Business One Web Client UI API Extension Developer Guide,重点关注:
Navigation模块下的navigate方法参数定义与使用场景- UDO视图间参数传递的规则与限制
- 导航过程中的上下文保留机制
此外,SAP Business One开发者专区的Web客户端扩展示例库中,包含多个视图导航的实操案例,可在内部文档平台搜索「Web Client UI API Extension Navigation」获取。
注意事项
- 确保UDO已在SAP B1系统中完成注册,且UI API扩展的权限配置正确
- 参数命名避免与系统内置参数冲突,建议使用自定义前缀(如
cus_) - 若需保留复杂上下文状态,可使用
oEnv.storage进行临时数据存储
内容的提问来源于stack exchange,提问作者Deepesh G
相关产品推荐
相关产品推荐

