如何在CRM系统中实现单据格式的自动编号
在CRM系统的使用及实施过程中,经常会用到报价单,合同,销售单,采购单等单据,这些单据有一个共同点是都会有一个单据编号的字段,如下图所示的合同编号:
如图,合同编号的初始化规则是:“C-” + “年月日-” + 顺序号,该表信息为:
英文表名 |
db_contractinfo |
中文表名 |
合同信息表 |
物理表名 |
|
表编号 |
29 |
主键 |
ci_pkid |
合同编号 |
ci_contractid |
我们在表单设置中,模块编程里建立一段功能程序
作用表名 |
db_contractinfo |
Script说明 |
模块启动时初始化合同编号 |
Script代码 |
|
以上代码实现:"C-" + "年月日-",下面代码实现顺序号:
到服务器打开Microsoft SQL Server Management Studio,然后找到需要找的物理表。这里,我们的物理表名是:db_contractinfo_init,故找到:dbo. db_contractinfo_init。
:
如果是其它表的此类功能,只需把下表中的红色部分字段做相应替换即可,同时,在JS里的字段是11位,也是取其11位,如是其它位数,在下面程序中相应把11替换成其它位数。
英文表名 |
db_contractinfo |
中文表名 |
合同信息表 |
物理表名 |
db_contractinfo_init |
表编号 |
29 |
主键 |
ci_pkid |
合同编号 |
ci_contractid |
ALTER TRIGGER [ht_tg_db_contractinsert] ON [dbo].[db_contractinfo_init]
FOR INSERT /* ht_tg_db_contractinsert是当前触发器名字,只要不跟之前名字一样,可以随便取,它有中括号是因为 系统自动生成的方便好看 */
AS
begin
declare @contractid varchar(20) /*首先要定义一个变量来存他插入的编号信息 */
select @contractid=ci_contractid from inserted /*这个就是获取当前插入的编号,存到变量 */
declare @contractcount numeric(10)
declare @flow varchar(20)
--select @contractcount=count(*) from db_contractinfo_init where left(ci_contractid,11)= @contractid
select @contractid=left(@contractid,11) /*获取插入编号的前11位。在这里,js生成的就是11位 */
select top 1 @flow=ci_contractid from db_contractinfo_init where left(ci_contractid,11)=@contractid and ci_contractid<>@contractid order by ci_contractid desc /* 这一句 就是查询当前11位编号相同的编号在数据库中有多少个,如我这个编号是 C20141028-,则查询有多少个同样编号的,如果有3个这样的,最新这个就是004 */
if (@flow is not null ) /*该if语句查询存在多少个是保存在变量@flow里面的*/
select @contractcount=convert(int,right(@flow,3))+1
else
select @contractcount='1'
/*下面几句用来判断编号的位数,如为一位,就要在前面加00,2位就加0 三位就直接加上那个数字。
if (len(@contractcount)=1 )
begin
select @flow='00'+convert(varchar(1),@contractcount)
end
if (len(@contractcount)=2 )
begin
select @flow='0'+convert(varchar(2),@contractcount)
end
if (len(@contractcount)=3 )
begin
select @flow=convert(varchar(3),@contractcount)
end
update db_contractinfo_init set ci_contractid=ci_contractid+@flow where ci_pkid=@@identity
/* select @contractmoney=ci_money from inserted
update db_custominfo set ci_purchaseamount=ci_purchaseamount+ @contractmoney,ci_customkind=3 where ci_pkid=(select ci_customid from inserted)
*/
end
资讯中心
为您的企业绩效提升竭尽全力!
灿煜集团上线CRM,打造先进工作平台
8-17
北京创亿上线SuperCRM实现集约化客户管理
7-10
华尔太端午节祝福暨节日放假通知 6-25
深圳创实互联选择CRM,提升客户管理跟进效率
6-1
武汉鑫大田签约SuperCRM,实现客户管理科学化
5-20
客户管理系统拜访提醒能够明晰化吗 10-13
客户管理系统可以针对每一个用户设计拜访计划吗 10-10
SuperCRM移动化为企业带来什么? 9-21
CRM关于业务员实时工作轨迹的使用说明 9-14
贵司的CRM系统可以实现移动端手机地图签到考勤吗 7-6
什么是PC2移动的可以切实落地的客户管理系统 9-29
如何使用CRM对客户跟进进度进行有效管控 9-26
如何使用CRM系统实现潜在客户定期回访 3-13
业务人员怎样用CRM系统来提升业绩 3-10
上级领导如何在CRM系统里查看下属的日程 3-2
