作者 |
|
voa [个人空间]
注册  2019-04-08 发贴数 132 精华数 0 原创贴 0 来自 状态 正常
级别 会员 |
|
|
启用一个表头扩展,如 ext_1 这个ext_1用来保存连续的号码(根据一定的条件,如ext_2与单据日期) 这个ext_1的值 要连续,不可断号,有什么办法可以实现吗? int after_save() { string sql.sno; //怎样做到这个sno是连续的号,如 SN1001,SN1002,SN1003,SN1004 sql="update ebs_v set ext_1='"+sno+"' where voucher_id="+v_voucher_id; db_run(sql); return 1; } |
|
|
|
|
fwj3861 [个人空间] QQ名 越南-叶子(121305301)
注册  2010-09-09 发贴数 554 精华贴 10 原创贴 20 来自 越南 状态 正常
级别 贵宾 |
|
|
int func_before_save() { //按照月份设置表头扩展一的值=SN+月份+4位流水号 int count; string m_djlx,m_ny,m_yue,m_sn; num m_ls,count; m_djlx = v_voucher_type //获取单据类型 m_ny = str_cut(get_cur_date_std(),6)+'%' //设置按年月模糊查询的值 m_yue = date_pick_month() //从标准日期中提取出月份 db_run("select * from ebs_v where voucher_type = '"+m_djlx+"' and voucher_date like '"+m_ny+"' and voucher_id < " + v_voucher_id + ""); //按照单据类型,查找本月本单据之前的单据数 count=db_row_count(); //获取单据记录数 m_ls = count + 1 if(count < 10) { m_sn = 'SN'+m_yue+'000'+m_ls } if(count >= 9 && count < 100) { m_sn = 'SN'+m_yue+'00'+m_ls } if(count >= 99 && count < 1000) { m_sn = 'SN'+m_yue+'0'+m_ls } if(count >= 999 && count < 10000) { m_sn = 'SN'+m_yue+m_ls }; gui_set_val("edit_Ext1",m_sn) //单据表头扩展一赋值 //设置结束 //can_save=1; return 1; }; |
|
|
于 2022-11-09 00:02 被 fwj3861 修改
官方认证第三方服务团队 (越南-叶子) QQ:121305301 TEL:+84869350626
承接越南北部-河内周边省份-OIT部署和维护服务(24小时上门或远程服务)
服务介绍:http://www.onlyit.cn/onlyit_service.html
|
|
daibiaoge [个人空间]
注册  2020-04-30 发贴数 446 精华贴 2 原创贴 1 来自 状态 正常
级别 会员 |
|
daibiaoge [个人空间]
注册  2020-04-30 发贴数 446 精华贴 2 原创贴 1 来自 状态 正常
级别 会员 |
|
|
可以参考这个 https://www.yisu.com/zixun/363657.html |
|
|
|
|
fwj3861 [个人空间] QQ名 越南-叶子(121305301)
注册  2010-09-09 发贴数 554 精华贴 10 原创贴 20 来自 越南 状态 正常
级别 贵宾 |
|
|
|
|
官方认证第三方服务团队 (越南-叶子) QQ:121305301 TEL:+84869350626
承接越南北部-河内周边省份-OIT部署和维护服务(24小时上门或远程服务)
服务介绍:http://www.onlyit.cn/onlyit_service.html
|
|
fwj3861 [个人空间] QQ名 越南-叶子(121305301)
注册  2010-09-09 发贴数 554 精华贴 10 原创贴 20 来自 越南 状态 正常
级别 贵宾 |
|
|
暂时优化了重号,断号补号的后面再优化 int func_before_save() { //按照月份设置表头扩展一的值=SN+月份+4位流水号 int count; string sql,m_djlx,m_ny,m_djrq,m_djbh,m_yue,m_sn,m_sn2; num m_ls,count,m_zdz,m_zdz2; m_djlx = v_voucher_type m_ny = str_cut(get_cur_date_std(),6)+'%' m_yue = date_pick_month() db_run("select ext_1 from ebs_v where voucher_type = '"+m_djlx+"' and voucher_date like '"+m_ny+"' and voucher_id < " + v_voucher_id + ""); count=db_row_count(); m_ls = count + 1 db_run("select max(ext_1) from ebs_v where voucher_type = '"+m_djlx+"' and voucher_date like '"+m_ny+"' and voucher_id < " + v_voucher_id + ""); m_zdz = str_get_sub_n(db_res(0),4,4) m_zdz2 = m_zdz+1 if(count < 10) { m_sn = 'SN'+m_yue+'000'+ m_ls m_sn2 = 'SN'+m_yue+'000'+m_zdz2 } if(count >=9 && count < 100) { m_sn = 'SN'+m_yue+'00'+ m_ls m_sn2 = 'SN'+m_yue+'00'+m_zdz2 } if(count >= 99 && count < 1000) { m_sn = 'SN'+m_yue+'0'+ m_ls m_sn2 = 'SN'+m_yue+'0'+m_zdz2 } if(count >= 999 && count < 10000) { m_sn = 'SN'+m_yue+ m_ls m_sn2 = 'SN'+m_yue+m_zdz2 }; if(m_ls <= m_zdz) { gui_set_val("edit_Ext1",m_sn2) }; else { gui_set_val("edit_Ext1",m_sn) }; //设置结束 //can_save=1; return 1; }; |
|
|
于 2022-11-09 01:25 被 fwj3861 修改
官方认证第三方服务团队 (越南-叶子) QQ:121305301 TEL:+84869350626
承接越南北部-河内周边省份-OIT部署和维护服务(24小时上门或远程服务)
服务介绍:http://www.onlyit.cn/onlyit_service.html
|
|
dragonzsp [个人空间] QQ名 十二个耳环(187199580)
注册  2011-03-25 发贴数 183 精华数 0 原创贴 4 来自 温州 状态 正常
级别 贵宾 |
|
|
int func_before_save() { string fmtStr,sql,ext_1,ext_1_data; int count,i,fmtStrLength,numLength,cmpNum,curNum; //首先判断当前是否是编辑状态的单据 if(v_voucher_id>0){ sql="select ext_1 from ebs_v where voucher_id="+v_voucher_id; db_run(sql); count=db_row_count(); if(count>0){ ext_1_data=db_res(0); if(ext_1_data!=""){ //说明已经数据库对应单据已经有值,这里做不允许修改,如果允许修改,自己修改代码 gui_set_val("edit_Ext1",ext_1_data) return 1; } } } //固定部分,如果要修改,直接改这里 fmtStr="SN"; //数字部分长度,如果要修改,直接改这里 numLength=4; fmtStrLength=strlen(fmtStr); sql="select substring(ext_1,"+fmtStrLength+",20) as ext_1 from ebs_v where 1=1"; //限制条件执行在这里添加,如ext_2与单据日期 sql=sql; //结果按从小到大排序 sql=sql+" order by substring(ext_1,"+fmtStrLength+",20) asc" db_run(sql); count=db_row_count(); //此处遍历比较,是判断是否出现断码,如果出现断码,直接用断码 cmpNum=1; for(i=0;i<count;i++){ db_go_row(i); //获取当前序号 curNum=to_int(db_res(0)); if(cmpNum!=curNum){ break; } cmpNum++; } ext_1=fmtStr+fmt_int(cmpNum,"%0"+numLength+"d"); gui_set_val("edit_Ext1",ext_1); return 1; } |
|
|
于 2022-11-09 10:06 被 dragonzsp 修改
官方认证第三方服务团队 QQ:187199580
收费教程地址链接:http://www.onlyit.cn/topic_list_detail?subject_id=7&topic_id=102140&topic_page_id=1
手机收费版本地址链接:http://www.onlyit.cn/topic_list_detail?subject_id=3&topic_id=103479&topic_page_id=1
|
|
wwx001 [个人空间] QQ名 时光呓语
注册  2011-05-23 发贴数 698 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
|
|
QQ:772600297
|
|
fwj3861 [个人空间] QQ名 越南-叶子(121305301)
注册  2010-09-09 发贴数 554 精华贴 10 原创贴 20 来自 越南 状态 正常
级别 贵宾 |
|
|
|
|
官方认证第三方服务团队 (越南-叶子) QQ:121305301 TEL:+84869350626
承接越南北部-河内周边省份-OIT部署和维护服务(24小时上门或远程服务)
服务介绍:http://www.onlyit.cn/onlyit_service.html
|
|
wwx001 [个人空间] QQ名 时光呓语
注册  2011-05-23 发贴数 698 精华贴 2 原创贴 3 来自 状态 正常
级别 会员 |
|
|
系统支持单据的重号检查,不过由于单据删除等原因,断号现象经常会出现,为避免断号,使用系统的单据编号规则,不借助扩展,参考十二老师的脚本,以下脚本勉强可以达到效果,细节可以根据自己的设置自行调整,供参考。 int func_before_save() { int i,n,x,y,d; string a,b,c,sql; a=str_get_sub(gui_get_val("DateTimePicker_Voucher_Date"),0,6); b=v_voucher_type; c=a+'%'; sql="select voucher_no from ebs_v where voucher_type='"+b+"' and voucher_date like '"+c+"' order by voucher_no"; db_run(sql); n=db_row_count(); x=1; for(i=0;i<n;i++) { db_go_row(i); y=to_int(str_get_sub(db_res(0),8,4)); if(x!=y){ if(confirm("单据编号存在断号,是否自动补全?")==1){ a=str_get_sub(gui_get_val("DateTimePicker_Voucher_Date"),2,4); gui_set_val("Edit_Voucher_No",b+'-'+a+'-'+fmt_int(x,"%04d")); }; break; } x++; } //can_save=1; return 1; }; |
|
|
于 2022-11-09 20:03 被 wwx001 修改
QQ:772600297
|
|
fwj3861 [个人空间] QQ名 越南-叶子(121305301)
注册  2010-09-09 发贴数 554 精华贴 10 原创贴 20 来自 越南 状态 正常
级别 贵宾 |
|
|
估计【十二老师】和【时光呓语】老师的脚本还没达到【作者】的要求,没有看到回响 (′-﹏-`) |
|
|
于 2022-11-09 17:41 被 fwj3861 修改
官方认证第三方服务团队 (越南-叶子) QQ:121305301 TEL:+84869350626
承接越南北部-河内周边省份-OIT部署和维护服务(24小时上门或远程服务)
服务介绍:http://www.onlyit.cn/onlyit_service.html
|
|
|