1. EAS中业务单据通常有很多F7,一般我是通过对象的ID 去查询这个对象然后赋值到单据对应的属性中,
比如:
//付款方式
purInWarehs.setPaymentType(PaymentTypeFactory.getLocalInstance(ctx)
.getPaymentTypeInfo(new ObjectUuidPK("2fa35444-5a23-43fb-99ee-6d4fa5f260da6BCA0AB5")));
其实可以换成:
PaymentTypeInfo paymentType = new PaymentTypeInfo ();
paymentType .setId(new ObjectUuidPK(("2fa35444-5a23-43fb-99ee-6d4fa5f260da6BCA0AB5"));//类似这样的写法
2.有一些单据,比如采购入库单,在调用接口的方法时候,需要设置下以下的Context 里面的一些组织,之前测试的时候没设置这些属性,系统都甚至没有抛出异常,单据提交保存 都没有问题但是数据就是没法进去,设置这些属性以后,异常就出来了
OrgUnitInfo ou =new OrgUnitInfo();
ou.setId(BOSUuid.read(getDefaultCU(ctx)));//组织ID
AdminOrgUnitInfo adminUnit=new AdminOrgUnitInfo();
adminUnit.setId(ou.getId());
ContextUtil.setCurrentAdminUnit(ctx, adminUnit);
SaleOrgUnitInfo saleUnit=new SaleOrgUnitInfo();
saleUnit.setId(ou.getId());
ContextUtil.setCurrentSaleUnit(ctx,saleUnit);
StorageOrgUnitInfo storageUnit=new StorageOrgUnitInfo();
storageUnit.setId(ou.getId());
ContextUtil.setCurrentStorageUnit(ctx, storageUnit);
3. 在对业务单据进行保存后,数据存到了数据库中,但是不会再列表界面显示,这个问题的解决方法就是去找一条正确的数据(能在列表界面显示的数据),然后数据库里面对比这两条数据的字段即可, 主要是一些组织的字段 ,
4. 接口传递过来的单据可以保存后,点击提交提示 无法将NUll 插入到一张表中,
这个问题解决办法:首先先给这个字段赋值,如果确认有值的话,你在保存后提交之前再将这个数据查询出来然后提交。
比如:
//保存 IObjectPK pk = PurInWarehsBillFactory.getLocalInstance(ctx).save(purInWarehs); purInWarehs = PurInWarehsBillFactory.getLocalInstance(ctx) .getPurInWarehsBillInfo(pk); PurInWarehsBillFactory.getLocalInstance(ctx).submit(pk,purInWarehs)