应付付款申请如何在明细增加账户名称或二开字段?

1 简介
1.1 功能介绍
付款申请明细选择往来户后,往来账户可根据往来户的默认银行信息携带到付款申请,但没有携带账户名称及其他信息。现场希望在付款申请上二开处理携带往来户下银行信息的其他字段。
1.2 应用场景
1、付款申请审批时,不仅希望看到往来账户、往来银行,还希望看到账户名称;
2、供应商的银行信息明细增加了二开字段,需要展示到付款申请。
2 主要操作
2.1 在供应商的银行信息分录增加两个文本类型的二开字段

2.2 在付款申请单分录,同样增加两个文本类型的二开字段

2.3 新增付款申请单编辑界面插件,插件逻辑如下所示:
```java
package kd.fi.ap.formplugin;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.utils.ObjectUtils;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.servicehelper.BusinessDataServiceHelper;
/**
* @description: 付款申请单编辑界面插件
* @author: renjie_li
* @create: 2024-07-02 14:56
**/
public class ApplyPayBillEditTest extends AbstractBillPlugIn {
/**
* 新增一个值改变事件
* @param e
*/
@Override
public void propertyChanged(PropertyChangedArgs e) {
//key为值改变字段标识,比如往来户改变,则key = e_asstact
String key = e.getProperty().getName();
//获取改变的数据
ChangeData[] changeData = e.getChangeSet();
switch (key) {
//如果往来户改变,则会进入下面的方法
case "e_asstact":
asstactChanged(changeData);
break;
default:
break;
}
}
/**
* 往来户改变,可以同时给一些字段赋值
* @param data
*/
private void asstactChanged(ChangeData[] data) {
// 当前分录行
int rowIndex = data[0].getRowIndex();
// 选择后的新值
Object newValue = data[0].getNewValue();
// 新值不为空,可以进行相关字段获取以及赋值
if (!ObjectUtils.isEmpty(newValue)) {
DynamicObject asstActInfo = (DynamicObject) newValue;
// 判断一下往来户是否为空
if(asstActInfo!=null){
//获取往来户类型,付款申请单往来户类型分为:供应商,人员,公司,客户
String asstactType = asstActInfo.getDataEntityType().getName();
switch (asstactType) {
//往来户类型 = 人员
case "bos_user":
// 以供应商举例
break;
//往来类型 = 客户
case "bd_customer":
// 以供应商举例
break;
//往来户类型 = 供应商
case "bd_supplier":
// 想携供应商相关信息的在这里查询,示例如下
//这里重新查询一次的意义是,界面上取的基础资料不全,只有引用了的字段才能查到。重新查询一下,是把供应商所有数据都取过来
asstActInfo = BusinessDataServiceHelper.loadSingle
应付付款申请如何在明细增加账户名称或二开字段?
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



