原创_脚本分享:多人开单有多个单据未审核又包含有相同的商品时的库存占用警告_使用经验
学习.交流
专业源于专注
www. onlyit. cn   
学习交流 文件下载 手册资料 交流QQ群

    

 15  1/1   1  
作者
内容
afoo  [个人空间]
QQ名  常德-ZEN


注册  2010-04-08
发贴数  204
精华贴  6
原创贴  6
来自  常德-ZEN
状态  正常

级别  会员
#1»发布于2017-08-17 10:00

见图示的 几个步骤: 
 
第五步:黏贴或附加下列脚本的两个部分按顺序到示例图红框处替换到原来的脚本: 
第一部分: 
 
int cell_change() 

  num edt_num,used_num; 
  string sql,resid,voucher_typ; 
  voucher_typ = 'BL';//将BB改为所需定制的单据的类型,参考最后一幅图的说明。 
  if(change_col == 'inp_num') 
  { 
    resid = grid_get_v('MG_Item','res_id',change_row_id); 
    sql = "select sum(a.inp_num) as inp_num from ebs_vr_item a left join ebs_v b on a.voucher_id = b.voucher_id where b.voucher_id <> " 
    sql = sql +  voucher_id + " AND b.voucher_type = '" + voucher_typ + "' and b.state = 'A'  and a.res_id = '" + resid + "'" 
    db_run(sql) 
//    dbg(sql) 
    used_num = db_res(0) 
//    msg(used_num) 
    edt_num = grid_get_v('MG_Item','edt_res_num',change_row_id); 
    grid_set_v("MG_Item",'kykc', change_row_id,edt_num - used_num); 
  } 
  //change_col,change_col_id,change_row_id 
  return 1; 
}; 
第二部分: 
 
int func_before_save() 

  int i,rc; 
  num u_num,inpnum,edtnum; 
   
  rc = grid_find("MG_Item",'res_id',''); 
  for(i = 1;i<rc;i++) 
  { 
    u_num = grid_get_v('MG_Item','kykc',i); 
    inpnum = grid_get_v('MG_Item','inp_num',i); 
    edtnum = grid_get_v('MG_Item','edt_res_num',i); 
    if(inpnum>u_num || inpnum>edtnum) 
    { 
      msg('第 ' + i + ' 行已经超出可用库存范围,单据保存失败,请检查!')//此提示可自行修改 
      can_save = 0; 
    } 
  }; 
  //can_save=1; 
  return 1; 
}; 
 
 
记住最后一步二箭头所示类型编号以便修改脚本










        于 2017-08-17 10:00 被 afoo 修改




官方认证第三方服务团队  蒋逸凡(常德-ZEN) QQ:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498

mevmev  [个人空间]


注册  2017-03-15
发贴数  157
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#2»发布于2017-08-17 13:48

谢谢阿富的分享。。。。。。。。。。。。 
这种挂单之后,可以在虚拟仓库中处理吗? 
可以设定挂单超时10分钟后自动作废单据吗?




afoo  [个人空间]
QQ名  常德-ZEN


注册  2010-04-08
发贴数  204
精华贴  6
原创贴  6
来自  常德-ZEN
状态  正常

级别  会员
#3»发布于2017-08-17 15:40

挂单超过10分钟后自动作废这个恐怕不行,奥利奥的脚本不支持后台计时操作。






官方认证第三方服务团队  蒋逸凡(常德-ZEN) QQ:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498

wbjjzhu  [个人空间]


注册  2012-08-22
发贴数  98
精华数  0
原创贴  1
来自  
状态  正常

级别  会员
#4»发布于2017-08-18 20:17

谢谢楼主分享的脚本,非常实用!!




ayangzhi  [个人空间]


注册  2010-07-18
发贴数  855
精华贴  1
原创贴  2
来自  
状态  正常

级别  贵宾
#5»发布于2017-08-20 22:46

支持分享,脚本思路:明细中,当前库存 - 保存未审核单据中的数量(不包括本单据) = 可用库存量






杨清云,承接商贸管理、人力资源实施、综合管理实施服务.
可扩展开发WEB, 物联网, 大屏展示报表, 移动端, 微信公众号等.
联系QQ:13836962    TEL:13058180007

afoo  [个人空间]
QQ名  常德-ZEN


注册  2010-04-08
发贴数  204
精华贴  6
原创贴  6
来自  常德-ZEN
状态  正常

级别  会员
#6»发布于2017-08-24 11:40

杨清云老师,这个脚本有个缺陷,那就是不能在同一单据里面开重复的物资,这个有什么简单的解决办法没?这个实现方式或许有更好的途径?






官方认证第三方服务团队  蒋逸凡(常德-ZEN) QQ:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498

ayangzhi  [个人空间]


注册  2010-07-18
发贴数  855
精华贴  1
原创贴  2
来自  
状态  正常

级别  贵宾
#7»发布于2017-09-02 08:08

简单点的,就是在你的现有代码中,再 减去,单据表格中,本行以上的,相同物资的数量 。






杨清云,承接商贸管理、人力资源实施、综合管理实施服务.
可扩展开发WEB, 物联网, 大屏展示报表, 移动端, 微信公众号等.
联系QQ:13836962    TEL:13058180007

fwj3861  [个人空间]
QQ名  越南-叶子(121305301)


注册  2010-09-09
发贴数  529
精华贴  10
原创贴  20
来自  越南
状态  正常

级别  贵宾
#8»发布于2017-10-05 20:45

杨老师,(简单点的,就是在你的现有代码中,再 减去,单据表格中,本行以上的,相同物资的数量 )这个脚本能添加进去后共享出来吗,可以修改成虚拟库存(采购订单)量-保存未审核单据中的数量(不包括本单据) = 采购在途量 吗?


        于 2017-10-05 20:45 被 fwj3861 修改




官方认证第三方服务团队  樊文俊(越南-叶子) QQ:121305301 TEL:+84869350626
承接越南北部-河内周边省份-OIT部署和维护服务(24小时上门或远程服务)
服务介绍:http://www.onlyit.cn/onlyit_service.html

dragonzsp  [个人空间]
QQ名  十二个耳环(187199580)


注册  2011-03-25
发贴数  182
精华数  0
原创贴  4
来自  温州
状态  正常

级别  贵宾
#9»发布于2017-11-28 10:05

int cell_change()  
{  
  num edt_num,used_num,findnum;  
  int findrow; 
  string sql,resid,voucher_typ;  
  voucher_typ = 'BL';//将BB改为所需定制的单据的类型,参考最后一幅图的说明。  
  if(change_col == 'inp_num')  
  {  
    resid = grid_get_v('MG_Item','res_id',change_row_id);  
    sql = "select sum(a.inp_num) as inp_num from ebs_vr_item a left join ebs_v b on a.voucher_id = b.voucher_id where b.voucher_id <> "  
    sql = sql +  voucher_id + " AND b.voucher_type = '" + voucher_typ + "' and b.state = 'A'  and a.res_id = '" + resid + "'"  
    db_run(sql)  
    used_num = db_res(0)  
    edt_num = grid_get_v('MG_Item','edt_res_num',change_row_id);  
  //开始查找表格中已经输入同种产品数量 
  findrow=grid_find('MG_Item','res_id',0); 
  while(findrow!=-1) 
  { 
    //首先判断是否在本身这行 
    if(findrow>=change_row_id) 
    { 
      break; 
    } 
    findnum=grid_get_v('MG_Item','edt_res_num',findrow); 
    edt_num=edt_num-findnum; 
    findrow=grid_find('MG_Item','res_id',findrow+1); 
  } 
    grid_set_v("MG_Item",'kykc', change_row_id,edt_num - used_num);  
  }  
  //change_col,change_col_id,change_row_id  
  return 1;  
};






官方认证第三方服务团队   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

wuxuguan  [个人空间]


注册  2012-01-07
发贴数  43
精华贴  1
原创贴  0
来自  
状态  正常

级别  会员
#10»发布于2018-01-12 16:31

好贴,顶顶顶




wbjjzhu  [个人空间]


注册  2012-08-22
发贴数  98
精华数  0
原创贴  1
来自  
状态  正常

级别  会员
#11»发布于2018-01-18 23:10

非常好的脚本程序,对于发货操作有很大的帮助! 
 
谢谢分享!!




tonyjona  [个人空间]


注册  2014-05-28
发贴数  109
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#12»发布于2018-09-20 09:56

谢谢楼主分享的脚本,非常实用!!




tonyjona  [个人空间]


注册  2014-05-28
发贴数  109
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#13»发布于2018-10-19 17:13

学习一下,感谢分享!




wbjjzhu  [个人空间]


注册  2012-08-22
发贴数  98
精华数  0
原创贴  1
来自  
状态  正常

级别  会员
#14»发布于2022-10-10 19:10

启用了批号管理。这个脚本能否修改一下,支持批号库存数量检测?




AGF  [个人空间]


注册  2010-05-16
发贴数  210
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#15»发布于2022-10-21 20:26

学习一下,感谢分享!





 15  1/1   1  

登录后方可发贴


[ 电话: 0571-85462761 王先生 QQ: 124520435 加入软件QQ群 - 杭州 - 浙ICP备19051128号-1 网安 33010402003225 ]