You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAP B1 V10 PL2202:点击链接按钮后设置第二个表单prj值失败求解

SAP B1 10 PL2202:设置查找字段值无效的解决方法

现有一段代码,点击第一个表单矩阵的链接按钮打开第二个表单,期望根据点击的行列对应值在第二个表单打开特定文档,但设置prj值到Item_31的Specific.Value时无效,当前使用SAP B1 Version 10 PL 2202,代码如下:

Application.SBO_Application.ActivateMenuItem("FreightForwarders.FileMaster");
Application.SBO_Application.Forms.ActiveForm.Mode = SAPbouiCOM.BoFormMode.fm_FIND_MODE;                    
Application.SBO_Application.Forms.ActiveForm.Items.Item("Item_31").Enabled = true;
Application.SBO_Application.Forms.ActiveForm.ActiveItem = "Item_31";
Application.SBO_Application.Forms.ActiveForm.Items.Item("Item_31").Specific.Value = prj;
Application.SBO_Application.Forms.ActiveForm.Items.Item("1").Click(SAPbouiCOM.BoCellClickType.ct_Regular);
Application.SBO_Application.Forms.ActiveForm.Items.Item("Item_31").Enabled = false;
Application.SBO_Application.Forms.ActiveForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE;

解决思路及修正代码

  1. 匹配字段类型与值格式
    确保prj的数据类型和Item_31对应字段类型完全一致:若字段为字符串,prj需是字符串格式;若为数值字段,需转为对应数值类型。

  2. 改用DataBind.SetValue赋值
    SAP B1查找模式下,部分字段直接赋值Specific.Value可能不生效,需通过DataBind.SetValue完成赋值,修正后代码:

Application.SBO_Application.ActivateMenuItem("FreightForwarders.FileMaster");
var targetForm = Application.SBO_Application.Forms.ActiveForm;

// 等待表单完全加载,避免控件未初始化导致赋值失败
System.Threading.Thread.Sleep(500);

targetForm.Mode = SAPbouiCOM.BoFormMode.fm_FIND_MODE;                    
var searchItem = targetForm.Items.Item("Item_31");
searchItem.Enabled = true;
targetForm.ActiveItem = searchItem.UniqueID;

// 针对EditText控件的赋值方式
((SAPbouiCOM.EditText)searchItem.Specific).DataBind.SetValue(prj.ToString());

// 执行查找操作
targetForm.Items.Item("1").Click(SAPbouiCOM.BoCellClickType.ct_Regular);

searchItem.Enabled = false;
targetForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE;
  1. 适配不同控件类型
    若Item_31是ComboBox控件,需调整赋值逻辑:
// 针对ComboBox控件的赋值方式
((SAPbouiCOM.ComboBox)searchItem.Specific).Select(prj, SAPbouiCOM.BoSearchKey.psk_ByValue);

额外排查点

  • 调试确认prj变量是否包含有效值;
  • 验证FreightForwarders.FileMaster表单中,Item_31确实是对应文档的关键字段。

内容的提问来源于stack exchange,提问作者Kinyanjui Kamau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:13:13