以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]工作流递归函数出现跳过某些子节点的错误如何更改? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73627) |
||||
-- 作者:loongtai -- 发布时间:2015/8/23 16:32:00 -- [求助]工作流递归函数出现跳过某些子节点的错误如何更改? 针对工作流我做了两个表,一个是工作流属性表,一个是工作流信息表。工作流属性表用于区分工作流的属性及其所属子节点,子节点可以是某种工作流,其下也可以有子工作流。这样就存在父工作流与子工作流的情况。 而工作流信息表是记录已设置有具体信息的工作流。 父工作流节点编号为:F15-150818-1,工作流类型为F15 F15下有4种类型子工作流: nd1.name=F14 nd1.text=售前工作 nd1.name=F7 nd1.text=生产管控 nd1.name=F6 nd1.text=产品发货 nd1.name=F11 nd1.text=售后服务 其中F6 与F7两种类型的工作流有具体的工作流信息, F6类型的工作流节点编号为F7-150820-1 和F7-150818-1 两个 F7类型的工作流节点编号为F7-150820-2 和F7-150818-1 两个 将F15-150818-1作为目录树的tr.nodes(0)生成目录树时,递归函数如下: 我的思路是会对4种类型的子工作流逐一进行处理,可是实际结果却是只处理了F14,F7,由于 F7自身存在子工作流,导致F6与F11两个子工作流未进行处理,不知道为什么会这样,找不出原因。 |
||||
-- 作者:大红袍 -- 发布时间:2015/8/23 16:36:00 -- 没看到你什么意思,做例子发上来。 |
||||
-- 作者:loongtai -- 发布时间:2015/8/23 21:35:00 -- 生成的目录树如下: 当选择节点:F15-150818-1后 1.先根据表1生成目录树,nd.name=节点编号,nd.text=节点名称 2.对每一子节点进行处理: 2.1如果此节点在表2中无记录(工作流编号以节点name开始),则该节点name不变,以该节点为父节点,重复步骤1-2 2.2如果此节点有一条记录,则nd.name=记录中的工作流编号,再以该节点为父节点,重复步骤1-2 2.3如果此节点有多条记录,则增加相应节点数,每个节点nd.name=记录中的工作流编号,再以该节点为父节点,重复步骤1-2
|
||||
-- 作者:loongtai -- 发布时间:2015/8/24 8:38:00 -- 还请版主帮帮忙,指教指教 |
||||
-- 作者:大红袍 -- 发布时间:2015/8/24 9:09:00 -- 汗,你的例子,就只有两个表,窗口什么都没有,你现在具体什么问题? |
||||
-- 作者:loongtai -- 发布时间:2015/8/24 9:36:00 -- 就是由父节点利用递归函数生成目录树的问题,我再弄个窗口放上去 |
||||
-- 作者:loongtai -- 发布时间:2015/8/24 9:40:00 --
|
||||
-- 作者:大红袍 -- 发布时间:2015/8/24 10:29:00 -- 汗,看不懂你什么逻辑。 |
||||
-- 作者:loongtai -- 发布时间:2015/8/24 10:56:00 -- 看不懂???唉,表达能力差真愁人 |
||||
-- 作者:大红袍 -- 发布时间:2015/8/24 11:08:00 --
|