首页 > 其他 > 详细

总账科目如何添加自定义属性?

时间:2020-05-28 16:40:18      阅读:63      评论:0      收藏:0      [点我收藏+]

背景  

  城投供应商中存在供应商名称与银行户名不一致问题,因此在手工做凭证时,科目只辅助核算到供应商,并不能到供应商的银行信息,而拜特系统需要的是银行户名而不是供应商的名称(大部分情况下,供应商名字与银行户名一致)。此时,若供应商处在多条银行信息时,凭证数据传输给拜特系统就会出现多条数据无法匹配问题。因此凭证上需要能够体现出收款账号信息,后台通过收款账号与供应商的信息定位到账号对应的银行户名,进而传输给拜特系统。

  因此需要给基建类银行存款科目1002.02 下的明细科目添加自定义属性,收款账号。原厂标准提供了11个自定义属性,添加自定义属性的话需要进行开发。

金蝶社区参考链接:https://club.kingdee.com/forum.php?mod=viewthread&tid=937180

 

 

效果

  技术分享图片

 

 

实现

总体思路:

  1. 辅助账实体中增加自定义属性名字段

  2. 辅助账自定义属性类型表中维护一条新增的自定义属性信息数据,字段名以及列名与第一部增加的字段保持一致,可参考表中已有数据。T_GL_AssistCustomizedType

  3. 凭证编辑界面需要重写 getSelectors() 增加新增加的属性查询信息

  技术分享图片

 

  技术分享图片

 

 

   

--数据插入语句
insert into t_gl_assistcustomizedtype(FID, FName_L1, FName_L2, FName_L3, FNumber, FDescription_L1, FDescription_L2, FDescription_L3, FSimpleName, FMappingPropName, FMappingFieldName, FDataTableName, FDataType, FDefaultQueryName, FPrecision, FIsForCompany, FCreatorID, FCreateTime, FLastUpdateUserID, FLastUpdateTime, FDefaultF7UI, FControlUnitID, FisSystem)
 values 
(qoTODcuuKkOB6LrL6ZUQyURavrQ=, Nbankaccout, N收款账号, N收款账号, Nbankaccout, null, null, null, null, Nbankaccout, NCFBankaccout, null, 2, null, 80, 0, 00000000-0000-0000-0000-00000000000013B7DE7F, {ts2020-05-26 12:46:07}, 00000000-0000-0000-0000-00000000000013B7DE7F, {ts2020-05-26 12:46:07}, null, 11111111-1111-1111-1111-111111111111CCE7AED4, 1);

  

  数据插入完成以后,就可以在【财务会计】-【总账】-【基础设置】-【科目自定义属性】中给指定的银行存款明细科目添加刚才新建的自定义属性。

   技术分享图片

 

  启用自定义属性后,在凭证中,选择对应的科目,就可以看到辅助账行自动带出了刚才新加的收款账号文本列,但是输入信息保存,数据无法保存到数据库。因此还需要对凭证编辑界面代码进行扩展开发。原因是因为,前台添加完非原厂的自定义属性后,没有进行查询新加的字段信息。

  

/**
 * 
 * @title VoucherEditUICTEx
 * @description 凭证编辑界面扩展类
 * @author yacong_liu email:yacong_liu@kingdee.com
 * @date 2020-5-28
 */
public class VoucherEditUICTEx extends VoucherEditUI {
    private KDWorkButton btnBank = new com.kingdee.bos.ctrl.swing.KDWorkButton();

    public VoucherEditUICTEx() throws Exception {
        super();
    }

    @Override
    public SelectorItemCollection getSelectors() {
        SelectorItemCollection selectors = super.getSelectors();
        selectors.add(new SelectorItemInfo("entries.assistRecords.bankaccout"));// 收款银行账号
        /*
         * selectors.add(new SelectorItemInfo("entries.assistRecords.supplierCompanyBank.id"));
         * //供应商银行账号 selectors.add(new
         * SelectorItemInfo("entries.assistRecords.supplierCompanyBank.name")); selectors.add(new
         * SelectorItemInfo("entries.assistRecords.supplierCompanyBank.number"));
         * 
         * selectors.add(new SelectorItemInfo("entries.assistRecords.bb.id")); selectors.add(new
         * SelectorItemInfo("entries.assistRecords.bb.name")); selectors.add(new
         * SelectorItemInfo("entries.assistRecords.bb.number"));
         */
        return selectors;
    }

}

  上述操作完成后,就可以正常使用科目的自定义属性了。另外,科目的自定义属性与给科目添加的辅助核算项目不同,自定义属性只是提供了多一种的科目查询未读而已,并不会影响核算体系。

  

 

 

 

总账科目如何添加自定义属性?

原文:https://www.cnblogs.com/lyc-smile/p/12981699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!