SAP B1 A/R发票金色箭头钻取链接代码异常求助
单据号列金色箭头链接A/R发票问题排查
- 核对
OINV关联逻辑:别把DocNum和DocEntry搞混,SAP Business One里单据的唯一标识是DocEntry,DocNum存在重复可能,多数链接失败都是误用DocNum而非DocEntry做关联导致的。 - 检查图片点击事件绑定:确认金色箭头的点击事件里,是否正确获取到目标单据的
DocEntry,并调用了正确的打开A/R发票的API。比如用UI API开发时,要先激活A/R发票菜单,再通过BrowseByDocEntry定位单据,而非用DocNum。 - 拆解报错信息:红色提示的具体内容是排错关键——如果是SQL语法错误,检查关联
OINV的查询语句有没有字段拼写错误、表别名遗漏;如果是权限类错误,确认当前用户拥有A/R发票的查看权限。
常见场景修正代码示例(SAP B1 UI API开发)
// 给GridView添加金色箭头列 GridColumn arrowCol = new GridColumn(); arrowCol.Caption = ""; arrowCol.Width = 30; oGrid.Columns.Add(arrowCol); // 绑定点击事件跳转A/R发票 oGrid.CellClick += (sender, e) => { if (e.ColumnIndex == arrowCol.Index) { // 获取目标单据的DocEntry(需对应你的数据源字段) string targetDocEntry = oGrid.Rows[e.RowIndex].Cells["AR_DocEntry"].Value.ToString(); // 激活A/R发票表单 SBO_Application.ActivateMenuItem("231"); Form arForm = SBO_Application.Forms.ActiveForm; // 通过DocEntry定位到对应发票 arForm.DataBrowser.BrowseByDocEntry(int.Parse(targetDocEntry)); } };
SQL关联查询示例(确保用DocEntry关联)
SELECT T0.DocNum AS 单据号, T1.DocNum AS AR发票号, T1.DocEntry AS AR_DocEntry FROM 你的业务表 T0 INNER JOIN OINV T1 ON T0.关联字段 = T1.DocEntry
内容的提问来源于stack exchange,提问作者Saeed Bama
相关产品推荐
相关产品推荐

