ERP软件自已定制功能

来源:互联网 发布:js 空格替换成换行符 编辑:程序博客网 时间:2024/04/28 20:45

前几个月买了一个通用的ERP软件,很多数据自动生成商业智能没有,流程或是不符,报表缺失等.

反映给软件开发商,不是说这个功能不打算改,就是要等下一个版本,或是先报价收费后再定制.到了几乎无法推行下去的地步!买之前没有具体运作起流程很多问题发现不了折.所以准备上ERP时一定要把后期的服务谈清楚,免得买过来用不了.

还好,最好发现SQL2005的触发器能自已不修改主程序而完成大部分功能:

一,重要数据修改自动记录

二,禁止修改与删除

三,定时自动统计更新

四,生成自已想要的表格

五,增加字段保存想要的商业智能

下面是触发器的一个简单例子

USE [XingJianV45]
GO
/****** 对象:  Trigger [dbo].[TRIGGER_JIXIAO]    脚本日期: 02/12/2011 21:00:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER  [dbo].[TRIGGER_JIXIAO]
   ON  [dbo].[Sale_Order]
   AFTER   UPDATE
AS
BEGIN
 declare @xs as nvarchar(50)
 declare @bcje as money--本次金额(含上次金额,绝对值输入)
 declare @dzsj as datetime-- 到账时间
 declare @yfje as money--应付金额
 declare @yfsj as datetime--应付时间
 declare @yifuje as money --已付金额,之前到账金额


 IF UPDATE(daojinge)
 BEGIN
 select @xs=Sale_Order_SerialNO, @yifuje=daojinge,
  @yfje=sale_order_money, @yfsj=sale_order_signdate  from deleted
 select  @dzsj=daotime,@bcje=daojinge  from INSERTED
--计算绩效工资,拖款费用,提醒催款
 if @bcje>=@yfje
 begin
 update sale_order set wancheng=1 where Sale_Order_SerialNO=@xs
 end
 else
 begin
 update sale_order set wancheng=0 where Sale_Order_SerialNO=@xs
 end
--分期付款的要在未到账前计算,或是把到的一部分先记录
 if datediff(day,@yfsj,@dzsj)>7
  begin
  update sale_order set  weiyuetime=datediff(day,@yfsj,@dzsj),
  weiyuejing=weiyuejing+ datediff(day,@yfsj,@dzsj)*(@bcje-@yifuje)*0.0004 where Sale_Order_SerialNO=@xs
  end
 else
  begin
  update sale_order set  weiyuetime=0 , weiyuejing=0 where Sale_Order_SerialNO=@xs
  end
--计算提成要根据不同的客户,业务,付款时间

 END
 declare @SH as BIT
 select @SH=Sale_Order_Review  from deleted
 IF UPDATE(Sale_Order_Review) AND @SH='True'
 BEGIN

  ROLLBACK TRAN
 END


END

原创粉丝点击