Foxtable(狐表)用户栏目专家坐堂 → 目录树刷新问题


  共有3757人关注过本帖树形打印复制链接

主题:目录树刷新问题

帅哥哟,离线,有人找我吗?
huangxueyao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
目录树刷新问题  发帖心情 Post By:2016/12/19 20:59:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:wxid_bri5giivya7z22_1482152118268_60.png
图片点击可在新窗口打开查看

如图,我用目录树做商品分类,同时在商品资料中引用目录树做分类,不过当我更新了目录树的时候,在商品资料表中不是马上能刷新最新的数据,请问如何解决这个问题?

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2016/12/19 21:00:00 [显示全部帖子]

而且好像重启项目也不行啊

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2016/12/19 21:43:00 [显示全部帖子]

例子怎么上?项目打包发上来么?


 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
动态变量的问题  发帖心情 Post By:2016/12/21 6:39:00 [显示全部帖子]

Dim dic As new Dictionary(of String,Integer)
'定义字典,键类型为字符串,值类型为整数
Dim rc As Integer = DataTables("生产计划").DataRows.Count-1
DataTables("采购需求").DataRows.Clear()
'清空采购需求表

Dim i As Integer
For i = 0 To rc
Dim dr1 As DataRow
dr1 = DataTables("生产计划").DataRows(i)
'循环生产计划中的每一行数据
For Each dr2 As DataRow In DataTables("商品结构").Select("[父级编码] = '" & dr1("商品编码") & "'")
'以集合的形式返回符合条件的数据,并遍历每一行,而不是傻傻的遍历表中所有数据了.
Dim ly As DataRow = DataTables("商品资料").Find("[商品编码] = '"& dr2("子级编码")&"'")
If ly("来源")="自产" Then
Dim ziji As DataRow = DataTables("生产计划").AddNew()
ziji("商品编码")=dr2("子级编码")
ziji("数量")=dr1("数量") * dr2("数量")
rc=rc+1
ElseIf ly("来源")="外购" Then
Dim nm As String = dr2("子级编码")
'此处数据类型要跟前面字典的相符
Dim vl As Integer = dr1("数量") * dr2("数量")
'直接计算出相应物料的采购需求数量
If dic.ContainsKey(nm) = False
dic.Add(nm,vl)
'如果字典中不存在相应的物料,则新增,否则累加
Else
dic(nm) = dic(nm)+ vl
End If
End If
Next
Next

如上,前面我定义了变量RC并赋值,然后我在流程控制里面对RC进行了更新,但是实际上并没有影响到For i = 0 To rc这里面RC的值,请问应该如何解决这个问题,谢谢~

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2016/12/21 6:40:00 [显示全部帖子]

能帮我解答一下我上个回复的问题么,非常感谢~

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2016/12/22 16:01:00 [显示全部帖子]

我参考帮助文档做bom表,计算物料需求,帮助文件里面的2级的,我想改为3级以上。

我的想法是:
1、把物料分为两种,A自产,B外购,外购物料是最基础的原料,做成半成品,成品,后面的都是属于自产,所以在计算物料采购需求的时候,计算到外购物料就可以了。
2、在生产计划中,有初始的1级物料需求(成品物料,由订单产生。)
3、我先计算1级物料,当它的子级物料是自产时,在生产计划中增加相应的编码和数量,当它的子级物料是外购时,就在采购需求表中新增相应的编码和数量。如此遍历完,就能得到全部的采购需求,以及自产半成品各需要多少了。
4、我写代码的时候,用循环语句,但是生产计划的行数在一开始取值后,更改就无效了,导致无法循环完后面新增的生产计划。

请问各位老大应该怎么解决,谢谢谢谢~
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小鲜易菜.table


 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2016/12/22 16:54:00 [显示全部帖子]

谢谢回复哈~

意思可能是我没表达清楚,不好意思。

我的目的是这样的:
首先说下业务背景:

成品A=(半成品B1*5+半成品B2*10)
半成品B1=原料C1*10
半成品B2=原料C2*10+原料C3*10

现在假设订单需求成品A*2,

那么我想要得到两个表:
1、生产计划表(包括A的数量,B1/B2的数量)
2、采购需求表(C1/C2/C3的数量)

我现在写的代码的方法是:
1、为所有物料加了一个属性【来源】,其中A/B1/B2自产,C1/C2/C3外购。
2、统计订单表,得到成品需求数量,写入生产计划表,假设为A,数量为2.
此时,生产计划表是这样的:
  A   2 
      
      

3、先根据商品结构表查询到生产计划表中的第一行数据,也就是A的子级物料及数量,即成品A=(半成品B1*5+半成品B2*10)
4、判断B1/B2的属性【来源】,是自产还是外购,如果是自产,那就新增记录到生产计划表中,
此时,生产计划表是这样的:
  A   2 
  B1  10 
  B2  20
5、关键:继续查询生产计划表中的数据,也就是B1/B2,判断其子级的属性【来源】,如果是外购,就在采购需求表上增加采购需求记录。
半成品B1=原料C1*10
半成品B2=原料C2*10+原料C3*10

最终效果:
【生产计划表】
  A   2 
  B1   10
  B2  20

【采购需求表】
  C1  100  
  C2 200
  C3 200

问题出在第5步,我用for来循环生产计划的row,因为在第一次取值时,其行数是1,后面的row是新增的,虽然实际行数已经增加,但是第一次取值的数字1不会变,也就是循环完第一条记录A就不会继续往下计算B1/B2了。
这说明我的方法是错的,我想问的是有什么其他办法可以达成我想要的效果,谢谢~

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2016/12/22 16:55:00 [显示全部帖子]

已上传,希望能解答一下~

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2016/12/23 8:10:00 [显示全部帖子]

非常感谢!!!

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2016/12/23 8:21:00 [显示全部帖子]

你这相当于用第四列来标记已经查询过的数据,然后把未查询过的数据在每次遍历的开始时重新定义为集合,再进行查询,妙~

 回到顶部
总数 13 1 2 下一页