二开实现凭证过账界面显示未过账凭证数
总账凭证过账界面不能方便的分辨哪些账簿在当前期间已全部过账,哪些还有未过账凭证。会计人员操作过账时,就缺乏参考依然,不知道哪个账簿当期需要过账,为了避免遗漏,往往只能全选所有账簿一起过账。这样,导致部分已全部过账的账簿进行不必要的检查,影响过账效率,这显然不是我们希望看到的场景。那么,就有必要在界面上清晰的显示出账簿当前期间未过账凭证的数量,方便用户参考。
本方案的思路为:添加一列,通过查询凭证得出对应账簿当期未过账凭证数,更新到这一列上显示出来。
具体步骤如下:
一,协同开发平台(原BOS设计器)中扩展凭证过账,添加一个整数字段,指定相关属性如下图所示:
二,添加Python插件代码,如下图所示:
Python代码如下:
import clr clr.AddReference('Kingdee.BOS.App') from Kingdee.BOS.App.Data import * def SetUnpostVchCount(): sql = """SELECT v.FACCOUNTBOOKID FBOOKID,COUNT(v.FVOUCHERID) FCNT FROM T_GL_VOUCHER v JOIN T_BD_ACCOUNTBOOK b ON b.FBOOKID=v.FACCOUNTBOOKID WHERE v.FYEAR=b.FCURRENTYEAR AND v.FPERIOD=b.FCURRENTPERIOD AND v.FPOSTED='0' AND v.FINVALID='0' AND V.FISADJUSTVOUCHER='0' GROUP BY v.FACCOUNTBOOKID,v.FYEAR,v.FPERIOD""" dy = DBUtils.ExecuteDynamicObject(this.Context,sql) if dy is None: return #this.View.ShowMessage("dy_"+str(dy.Count)) rows = this.Model.GetEntryRowCount("FEntity") #this.View.ShowMessage("rows_"+str(rows)) for i in range(rows): book = this.Model.GetValue("FAccountBook",i) if(book): bookid = book["Id"] #this.View.ShowMessage("bookid_"+str(bookid)) for k in range(dy.Count): #for d in dy: if(int(dy[k]["FBOOKID"])==int(bookid)): #this.View.ShowMessage("Set_"+str(dy[k]["FCNT"])) this.Model.SetValue("FUnPostedVch",int(dy[k]["FCNT"]),i) break else: #this.View.ShowMessage("book null") break this.View.UpdateView("FEntity") def AfterBindData(e): SetUnpostVchCount() def BarItemClick(e): if(e.Cancel): return if(e.BarItemKey.upper()=="TBREFRESH"): SetUnpostVchCount()
三,运行调试:
PS:可以通过字段标题栏上的过账和排序功能来快速确定需要选择过账的账簿范围。
打卡每日
打卡每日
二开实现凭证过账界面显示未过账凭证数
总账凭证过账界面不能方便的分辨哪些账簿在当前期间已全部过账,哪些还有未过账凭证。会计人员操作过账时,就缺乏参考依然,不知道...
点击下载文档
本文2024-09-16 18:05:50发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-19923.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章