Workface通用核算项目的实现

Workface通用核算项目的实现

--荆兆春

         Workface系统把核算项目分成了两个部分,一个是基础资料,一个是辅助资料,原则上,辅助资料的字段是固化的,如:学历,行业等,字段只需要三个(ID、代码和名称)就可以了。基础资料的字段是动态的,比如:物料、客户,根据客户的管理需要还需要增加其他字段,因此,如何能让客户进行自定义字段,如何在自定义字段的时候关联其他基础资料或者辅助资料,如何把包含自定义字段的内容显示出来,如何用自定义的字段可以实现过滤查询就变成了通用基础资料管理的开发关键。还有一个最关键的就是让可以自己定义核算项目,共5个问题。

         所谓核算项目也就是基础资料,核算项目的本意是关联会计账务的基础资料,基础资料都有可能关联账务,因此,也不必较真基础资料和核算项目的区别。

1、             自定义字段:那就包括字段必须有的属性:字段名、描述、字段类型、长度、小数位数、是否笔录、缺省值、是否可编辑、可见性、是否禁用等,这里的关键是如果跟SQL的物理表同步,增加了字段,要在SQL物理表中也增加字段,修改字段同样要修改物理表中的字段。为了保证字段跟物理表同步,增加了两个表:WF_ItemClass(主表)、WF_ItemClassEntry(明细表),明细表中记录的字段应该跟物理表一样,主表中记录了核算项目的名称、编号和物理表名。

2、             自定义的字段关联其他基础资料:比如【部门】基础资料中增加部门主管的字段,部门主管的字段需要关联核算项目【职员】,假如不是这样,那么在录入部门主管字段的时候系统无法判断出这时候要引用职员基础资料,这样做的好处是部门关联的是职员的内码,职员的表面现象如代码、名称改变的情况下,不影响部门的调用,缺点是关联的东西太多势必影响程序调用的效率,因此,即关联基础资料,又不记录内码,我增加了【仅显示文本】的功能,这样在保存到系统的时候,就保留了文本,而没有保留内码。

3、             如何把包含自定义的字段显示出来:因为表WF_ItemClassEntry跟物料表是一致的,因此,需要根据该表形成动态的SQL查询语句,禁用字段不显示、非可见的字段不显示,关联好该表引用的其他基础资料的字段,就可以形成动态的SQL语句了。调用出来后,在根据客户自定义的显示风格,设置显示界面,如显示顺序、字段宽度、对齐方式、可见性等,这样就可以达到完美的显示效果。设置显示风格增加了功能:SetItemTable,将设计的结果保存在了WF_SetItemList中,按用户保存,用户0表示系统默认风格。

4、             自定义的字段可以当成过滤条件来进行查询:设置了两组查询的label+textbox,在label中选择要查询的字段,textbox中输入查询的内容,这样就可以实现快速的查询功能了。

5、             自定义核算项目:因为有了WF_ItemClass表,增加核算项目就不难了,在增加表的时候在WF_ItemClass表中插入记录,在明细表中插入默认的字段,默认的字段有(ID、代码和名称),还有助记码、简称、是否禁用、是否明细、父项代码ID等,这里面的关键是主键的指定,核算项目属于单行数据,所以一定要指定主键。

6、             还剩一个关键的问题,就是在其他单据中如何引用该核算项目,应用的时候用我定义的控件TextListView可以搞定,那么双击调出窗体选择的时候,就有问题了,就需要返回主键的值,在根据主键的值找到其他资料。

还有一些值得思考的问题:

1、  基础资料的字段有可能很多,那么这时候就需要分页显示的问题。

2、  基础资料有可能很多,怎么让他们按客户的要求进行分组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值