如何获取列表的单据体分录分录信息原创
金蝶云社区-陈来珍
陈来珍
11人赞赏了该文章 5,308次浏览 未经作者许可,禁止转载编辑于2021年06月15日 17:25:37

背景:有些场景需要根据用户选中的单据体分录信息进行下推或者打开指定的单据页面,但是不知道怎么获取列表上的单据体分录信息

image.png

参考代码

	@Override
	public void billListHyperLinkClick(HyperLinkClickArgs e) {
		int rowIndex = e.getRowIndex();// 点击行
		HyperLinkClickEvent event = e.getHyperLinkClickEvent();
		// 当前列表
		BillList billList = (BillList) event.getSource();
		ListSelectedRowCollection allRowCollection = billList.getCurrentListAllRowCollection();
		if (allRowCollection != null) {
			for (ListSelectedRow listSelectedRow : allRowCollection) {
				int rowKey = listSelectedRow.getRowKey();
				if (rowKey == rowIndex) {
					// 获取选中的单据体分录pkid
					Object entryPrimaryKeyValue = listSelectedRow.getEntryPrimaryKeyValue();
					// 获取单据pkid
					Object primaryKeyValue = listSelectedRow.getPrimaryKeyValue();
					// 获取单据信息
					DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle(primaryKeyValue,
							billList.getBillFormId());
					DynamicObjectCollection dynamicObjectCollection = loadSingle
							.getDynamicObjectCollection(listSelectedRow.getEntryEntityKey());
					for (DynamicObject entryDynamicObject : dynamicObjectCollection) {
						if (entryDynamicObject.getPkValue().equals(entryPrimaryKeyValue)) {
							// 业务处理
						}
					}
					break;
				}

			}

		}
		super.billListHyperLinkClick(e);
	}

提示:如果不知道设置单据体分录支持被选中,比如选择的时候是如下情况,可以参考

https://club.kdcloud.com/article/191136504981766912?auth_code=16237455017bde22fa1dfbe70acc6df1image.png

赞 11