我刚从业时做过两年程序员,后来转行做维护。现在的公司从2005年开始用SAP Business One作进销存业务及财务软件,今年就要换别的软件系统了。希望能从一个程序员的角度,描述一下SAP Business One软件的特点。这些特点,很值得从事企业信息管理系统设计时借鉴。
SAP Business One介绍:SAP Business One是sap公司的低端产品,专为中小企业设计,内容比较丰富,含财务管理、进销存、制造管理等内容。本文开都已经说了,希望从事企业信息管理系统设计时借鉴,故只说优点,不提缺点。
1 用户查询:支持用户查询功能,可以方便制作用户查询报表。Sap提供它使用数据库大部分表里所有字段的描述,可以在“查询接口”里看到:
这样,只要懂得SQL语句,就能方便地使用SQL语句查询系统数据。由于sap系统里保留表里每个字段的描述,查询结果的列头自动换成字段描述。如果是计算字段,也可以用sql语句里as命令,改变查询结果的列头。Sql语句可以使用变量,例如条件里用变量限制单据日期,可以写成“T0.DocDate>='[%0]' and T0.DocDate<='[%1]'”,查询使用时如下图:
录入日期区间,就能方便地查出数据。在SQL语句可以创建临时表,然后通过sql语句向临时表插入数据,然后显示临时表里的数据。根据这些,用户可以制作相当复杂的查询,相当方便。
虽然该工具功能不错,在程序设计上显然不太复杂。只需要解决以下问题:1建立表及每个字段的描述数据库;2建立sql保存表,并与用户使用系统建立关联;3解析出变量,并判断出变量类型,在查询时显示“定义调查变量”窗口,供客户录入查询条件;4,将户录入的查询条件与保存的sql结合,生成本次查询的sql;5显示查询结果。
2 警报:这里的警报更像定时生成并发送给制定用户的报表。警报制作流程如下:1如上,制作一个无调查变量的用户查询;2打开警报管理,新建一个警报,与的用户查询关联,定义查询频率,添加管理警报的接受帐户以及接受方式。这样,如果查询条件满足,用户就可以定期接受警报了。
3 审批流程:某些用户做某些单据时,单据达到某些条件,就需要通过一个“审批流程”,让有权限的一个或者一系列用户审批,才能生效。
根据上面的描述,定义审批流程需要确定四要素:1发起用户(也就是权限较低的用户);2单据范围(采购订单、销售订单、收发货、销售采购发票等),发起用户制作这些单据才有可能引发审批流程生效;3触发条件:发起用户在制作单据范围范围内的单据时,单据达到一定条件(比如,折扣超过一定范围,总额超过一定金额等),才有可能引发审批流程生效;4审批过程,审批流程触发后,需要那些用户,以什么顺序审批。触发条件,系统有一些已经定义好的条件,比如折扣超过一定范围,总额超过一定金额,毛利率超过一定范等;也可以自定义一些特殊的“用户查询”,这些“用户查询”只对制作或修改时,当前的单据有效,且结果只有TRUE或FALSE。如下是一个例子:
SELECT 'TRUE' WHERE $[ORDR.U_Dept] = '' OR ISNULL($[ORDR.U_Dept],'N') = 'N'
其中$代表当前单据。审批过程,这里只能定义顺序的审批过程,每一阶段审批不通过,就退回到单据制作人。其中每一阶段,可以定义一个或者多个用户审批。
4 用户定义字段及对象:如下图,右侧为用户自定义字段,其中所属部门还引用了用户自定义表。本人觉得这个功能很值得国产软件商借鉴。
5 与微软office集成:指的是能方便地将单据,查询等数据导入到EXCEL、WORD等。
6 打印模板:单据,查询数据等可以制定多个打印模板。在打印时,可以用多种格式打印。这点目前很多国产软件也能做到。
7 单据流转:也就是可以根据销售订单做出库发货单,可以根据出库发货单做销售应收发票等等。同时,根据源单据是否全部生成目标单据来修改源单据的状态。
8 更改日志:对于字典、单据的每次修改都保存修改日志,方便以后查询比较。
9 add_on接口(开放的接口):根据这个接口,第三实施方可以在一些界面上增加功能按钮等。这点,估计一般国内软件公司不易做到。