请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Erik.Xue
超级版主   /  发表于:2020-6-23 16:57  /   查看:185  /  回复:0
本帖最后由 Erik.Xue 于 2020-6-23 16:59 编辑

活字格6.0版本至今已经发布有3个多月了哈~各位有没有觉得新版本新功能用起来很“舒爽”呢?
想必服务端命令大家一定都不陌生了,别说不知道,不知道的小伙伴小心我的四十米长刀~
image.png438472289.png

再多问一嘴,知道服务端命令的小伙伴用的怎么样呢?6不6,当然啦,肯定大神一片一片的,必须6啊~!

各位在使用服务端命令时,如果选择数据包操作命令,有没有注意到有一个新纪录参数名,如图:
image.png20181578.png

我们鼠标放在蓝色问好气泡上,可以看到:
最新插入的记录的值会保存到此参数中以备后续逻辑使用。

这是什么意思呢?有编程经验的小伙伴肯定都知道全局变量的概念,在活字格这里,可以认为这里就是生成一个新的全局变量。

在不断生成新的数据后,也在不停的更新全局变量的值。

问题背景:

按照以往的操作,设置好主表数据表操作命令后,接下来就是使用循环命令对子表数据进行添加操作。
image.png768844909.png

那么,我们设置好之后,来看看效果哈~
GIF 2020-6-23 16-29-10.gif

有没有发现问题出现~!!!
image.png113296202.png

image.png71421813.png
按理说,子表对应的主表ID都应该是5,但是现在第一条数据是5,之后又从1开始了。。。

为什么呢?

这里为大家揭开谜底,因为在设置数据表操作命令时,主表数据表操作命令和子表数据表操作命令的新记录参数名设置的一模一样,如图:
image.png132964476.png

因为参数名一样,刚才说的全局变量就相当于是在执行主表数据表操作命令时,全局变量NewRow被设置成了5,但是进行循环命令进行循环添加子表数据时,全局变量却又被赋值为1,所以就导致了上面情况的发生。

解决办法:

很简单,把全局变量变成局部变量就可以了呗~

改成两个不同的名字,这样一来,你主表的NewRow存主表的,你子表的NewRow存子表的,互不影响,也就没有错啦~~

再来看看效果:
GIF 2020-6-23 16-53-59.gif

怎么样,是不是恢复正常了呢?学会了吗?

附件中是工程文件,各位小伙伴可以试试哦~~
image.png55530089.png

主子表服务单命令添加数据.fgcc

59.79 KB, 下载次数: 15

请点击评分,对我的服务做出评价!5分为非常满意!

葡萄城技术服务团队
官方网站:https://www.grapecity.com.cn/

0 个回复

您需要登录后才可以回帖 登录 | 立即注册