julialove 发表于 2007-4-19 13:45:28

调用action问题

actionA为可重用,actionB要调用actionA.
actionB有一个output参数Bval,
actionA有一个input参数Aval.
B中代码:RunAction actionA[脚本名称], oneIteration,Bval
A中调用:Q1=Parameter("Aval")   

我现在问题是:执行代码时,总是提示:actionA[脚本名称]没找到。
可是我已经insert call to exist action呢,为什么呢?请大家帮忙看一下。

xiaonan 发表于 2007-4-19 14:28:15

可不可以把相应代码放上来啊

julialove 发表于 2007-4-19 16:08:03

OK

好的,谢谢版主帮看,我把代码粘上来。

jerryshomaro 发表于 2007-4-19 16:17:54

output参数Bval应该由actionA返回输出的.
然后在actionB中使用
不知道对否~~??

julialove 发表于 2007-4-19 16:28:41

我把actionB删除后重新录制,再insert call to exist action,又可以了,不知怎么回事呢。sdlkfj8

jerryshomaro 发表于 2007-4-19 16:31:11

RunAction actionA[脚本名称], oneIteration,Bval
你的这句话有问题
应该是这样的:
RunAction actionA[脚本名称], oneIteration, 输入给actionA的参数序列 , actionA的返回值

julialove 发表于 2007-4-19 16:32:36

不过,调用外部action总是执行两次呢,大家看一下这张图。

julialove 发表于 2007-4-19 16:41:29

图中的“入仓单接单[大鹏企业端]”就是重用的actionA,‘入仓单申报’就是调用外部action的actionB.我是在关键词视图中'入仓单申报'action中insert call to exist action的,然后入仓单申报中调用,代码如下:
bilval = DataTable("billId_value_out","入仓管理")
RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval
并新建 output参数bilval。
“入仓单接单[大鹏企业端]”action中再新建input参数接收。
可是我执行的时候,入仓单接单[大鹏企业端]”action执行两次,第一次是有数据的,第二次就是空的。
从上图中也能看出是执行两次的,是我的增加步骤错误了吗。

julialove 发表于 2007-4-19 16:42:58

jerryshomaro,你哪样写是对的,不过,我哪样写也没错,是可以得到参数值的,就是每次调用外部可重用的action,总是执行两次。

julialove 发表于 2007-4-19 17:02:11

在调用外部action的代码里,我加入一行msgbox信息后,如下:
bilval = DataTable("billId_value_out","入仓管理")
RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval

msgbox "标志"

然后加入断点调试,发现运行情况为:
执行到RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval,就进入外部action入仓单接单 [大鹏企业端]里运行。
运行完后,执行msgbox信息。
然后又重新进入外部action入仓单接单 [大鹏企业端]里重新运行一次,这次input参数就为空值。

jerryshomaro 发表于 2007-4-19 17:05:43

你的两个action为并列的.
只不过一个action 里运行另一个并列的action.对不对??
那么, 调用完一个后自然就会跑到下一个action啊

jerryshomaro 发表于 2007-4-19 17:09:40

不好意思.上面是我理解错了.

jerryshomaro 发表于 2007-4-19 17:23:33

你的两个动作重复了:
我是在关键词视图中'入仓单申报'action中insert call to exist action的,然后入仓单申报中调用,代码如下:
                                          1-->第一个地方
bilval = DataTable("billId_value_out","入仓管理")
RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval
2-->第二个地方

不要做 " 1-->" 这个动作

julialove 发表于 2007-4-19 17:25:18

这是一个脚本中的一个actionB调用另一个脚本的actionA,同时,它们都是主action的子action.

jerryshomaro 发表于 2007-4-19 17:29:10

只要 RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval
就行了
不要再insert call to exist action

julialove 发表于 2007-4-19 17:30:26

jerryshomaro ,可是如果不insert call to exist action,就加不进来外部action呢,
RunAction "入仓单接单 [大鹏企业端]", oneIteration,bilval

就是insert call to exist action后,才会有入仓单接单 [大鹏企业端]",这个action的。

julialove 发表于 2007-4-19 17:32:20

julialove 发表于 2007-4-19 17:34:10

jerryshomaro ,你看一下上面的帮助,上面也说了,先 insert call to exist action,再用runaction.是不是我理解错误,不过,我觉着,我就是在这儿insert或调用这些步骤中错误了,不过,不知错在哪儿了。

jerryshomaro 发表于 2007-4-19 17:39:47

用insert call to exist action
会自动添加一行代码 --> RunAction "入仓单接单 [大鹏企业端]"
也就是说现在你的代码里有两个runaction "入仓单接单 [大鹏企业端]"
一个有参数.一个没参数.
你看看对不??

julialove 发表于 2007-4-20 09:06:39

我这儿试了一下,insert call to exist action后还是没有出现runaction ’调用action‘,代码,还是出现两个调用action .不知为什么呢,不过,目前处理是,我手动删除了一下,所以程序可以执行下去。
不知大家有没有碰到过,我添加的步骤哪方面有问题吗?
页: [1] 2
查看完整版本: 调用action问题