saptechnique

Better late than never. - 郭富

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

曾在一个项目中,使用B1内置的存储过程监控收款动作,如果针对于特定订单所做的收款总额符合指定条件后而进行相应的操作.我们知道在B1中,收款的ObjectType是24,因此,我们设定的条件是@ObjectType='24' AND @TransactionType='A'.

代码如下:

Code

 

    但是,在升级至2007之后,我们发现,在做收款时,这段代码始终没有执行,我们使用存储过程返回的对象代码变成了30,而30则应该是日记账分录的ObjectType.但是,通过我们对存储过程的全程跟踪,我们发现:

2009-4-8 14:27:58;INFO;company is: B1Plus_Demo Message is: dbName:B1Plus_Demo oType:30 xType:A nofc:1 cols:TransId vals:5
2009-4-8 14:27:58;INFO;company is: B1Plus_Demo Message is: dbName:B1Plus_Demo oType:241 xType:A nofc:1 cols:CFTId vals:4

当用户做收款时,在2007B版本中,会同时产生两条数据,第一条30是日记账分录,第二条241是2005B中所不具备的对象,在2007B中,表示现金流行项目,而在2005B中的24收款对象,则没有再使用.为此调整了代码,尽管最终也解决了问题,但仍然对此调整感到不解.新的代码如下:

Code
posted on 2009-04-09 11:30  guofu  阅读(524)  评论(0编辑  收藏  举报