js新增选择不同产品类型,产品编码自动增加1,执行后得到结果不对?

image.png

控件事件js脚本如下:

if (this.value != "") {     var sql = 'select max(产品编码) cpbm from product where 产品类型="' + this.value + '"';     var bm = FR.remoteEvaluate('SQL("micro_crm", "' + sql + '", 1, 1)');     var new_bm = FR.remoteEvaluate('CONCATENATE(left("' + bm + '", 2), format(right("' + bm + '", 6) + 1, "#000000"))');     console.log(sql, bm, bm === '');     _g().setCellValue('B2', new_bm); }

sql查询的值=‘PJ000005’烦请帮忙看看

image.png

image.png

FineReport 帆软用户TNt6LXFnao 发布于 2024-1-21 11:51 (编辑于 2024-1-21 17:38)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
1592Lv6高级互助
发布于2024-1-21 12:07(编辑于 2024-1-21 18:01)

WorkBook1.7z

上传内置模板看下呢

-----------------------------

image.png

if (this.value != "") {     

var sql = 'select max(产品编码) cpbm from product where 产品类型="' + this.value + '"';     

     var bm=FR.remoteEvaluate('=sql("mysql","SELECT max(产品编码) cpbm from product where 产品类型=\''+this.value+'\'",1,1)');

var new_bm = FR.remoteEvaluate('CONCATENATE(format(right("' + bm + '", 6) + 1, "#000000"))');         

_g().setCellValue('B2', new_bm); }

---------------------------------------

if (this.value != "") {     

var sql = 'select max(产品编码) cpbm from product where 产品类型="' + this.value + '"';     

var bm=FR.remoteEvaluate('=sql("micro_crm","SELECT max(产品编码) cpbm from product where 产品类型=\''+this.value+'\'",1,1)');

var new_bm = FR.remoteEvaluate('CONCATENATE(left("' + bm + '", 2), format(right("' + bm + '", 6) + 1, "#000000"))'); 

if(bm.length==0){//判断该产品类型下是否有产品编码,如果没有,给默认值

_g().setCellValue('B2', 'PJ000001');

}else{

_g().setCellValue('B2', new_bm);

}       

 

}

  • 帆软用户TNt6LXFnao 帆软用户TNt6LXFnao(提问者) 怎么上传内置模板?
    2024-01-21 12:26 
  • 1592 1592 回复 帆软用户TNt6LXFnao(提问者) 参考修改答案,在JS中使用FR公式-https://help.fanruan.com/finereport/doc-view-1785.html
    2024-01-21 13:08 
  • 帆软用户TNt6LXFnao 帆软用户TNt6LXFnao(提问者) 如果代码写的对,自增值应该=‘PJ00006\',你给的代码应该没有前面部分,而且sql查重复了是不?
    2024-01-21 15:46 
  • 1592 1592 回复 帆软用户TNt6LXFnao(提问者) 你得自己调。1.pj那部分我删了,你初始化(数据库没数据的情况下)值没有pj,存在数据的情况下有pj,导致有问题;2. 需要转码FR.remoteEvaluate里面
    2024-01-21 15:51 
  • 帆软用户TNt6LXFnao 帆软用户TNt6LXFnao(提问者) 回复 1592 我完善了问题,麻烦帮忙看看代码怎么调整?
    2024-01-21 16:28 
  • 2关注人数
  • 267浏览人数
  • 最后回答于:2024-1-21 18:01
    请选择关闭问题的原因
    确定 取消
    返回顶部