關于BOM,多級樹形的!給足100分(100分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
公司新項目:

多級BOM,首先,我在DFW在看到很多的類似貼,BOM表同物料表是不同的表,但是,那在BOM表中要不要注明階層呢?
其次:用樹形實現的時候,我怎樣能通過代碼來做到,增加根節點,增加子節點,增加葉節點?
3:BOM表同物料表的聯系是通過1對多,但是這個關聯又是怎樣實現的呢?

以上問題還望高人指點!對于用樹形實現這些代碼我還不會寫,我只會寫那些建好表如何構成樹形的結構的代碼!希望你們能貼出原碼和給出注釋!
 
BOM表中只要注明第一阶层階層即可
BOM表中各条记录必须要上级父节点的信息
 
朋友我也在考虑这个问题,我想最好是将上级的节点以及上级节点的父节点的信息都记录下来,以后好查询一些,每一个节点都有一个编码,在每个节点上记录的它父节的编码
 
BOM表中增加一个父节点就好,
新增时记录父节点,
编辑可以采用TdxDBTreeView,
很形象,容易操作,速度也快
 
同意唐佐平说的用TdxDBTreeView,
只要有了父节点,用这个控件很方便的.
 
不对,用TdxDBTreeView时,如果一个节点有多个父节点的时候好像不行,
挂了一次以后其他地方就没有出现了,不知何故?
 
同意wangxian11:
TdxDBTreeView只能用来建类似“部门的树”
Bom表不能用它来表示!
 
首先从数据库取出根结点,并创建;单单击根结点时,在取出此根结点的子接点并创建;
 
对此,我在DFW上看了很多资料,很多人看到这样类似的问题,总是抱著:
1, 这个问题太繁琐,不是一两句话可以搞定的,所在不愿回答.
2, 要不就把以前自己写的代码copy到DFW上来,这样,别人又不知你的代码是在什么样的环境下运行的,怎样看你的你代码,你又没有加上注释!
3,这种问题也是目前我们所有中小型程序员所面临的一个难题,或是有一部份人根本不知道怎样来做这个东东,当然也包括我.因为我也不知怎做BOM,可是我从VFP-VB-DELPHI还写了近三年程序的进销存,

综合我所看到的DFW贴子,我总结了一下,大体可以这样理解:
1,我不知你们是怎样做系统的,我的认为是产品表和物料表最好是放一个表里,否则,半成品应该是自立门户还是包含在产品中,或是物料表中呢?它们中用一个字段来区分!我们叫它type吧!
2,对于BOM表,我们在其中用一个字段来记录产品的ID,用一个字段来记录它的上级ID,然后采用递归算法,一层层展开.

当然, 要是大家有更好的方法,不妨讲一下,我倒是建议DFW开一个专门的BOM讲坛才好!
 
我们公司的BOM系统我是这样做的:
1、BOM中含半成品及原材料,半成品中又含半成品及原材料,但在数据库中BOM和半成品共用相同形式的数据表。
2、无论是BOM还是半成品,需要记录父节点信息。
3、取BOM表时,用递归方法。

这样做有个好处:半成品是可以复用的。
(我们公司是消费类电子性质,有很多复用的)
 
Demander:

这个也是我想到的,因为考滤到半成品要转销售,或是原料转销售,那也就只有当成品销售,但是,你能否贴出代码给大家参考一下呢?
 
我的观点还是可以用TdxDBTreeView的.

如果说:一个节点有多个父节点,那我认为这张BOM就有问题了.

这样说吧,对于一个产品来说,他由一些半成品和原材料组成的.之所以呢我用两个表做,一个主表,一个明细表.
这样用TdxDBTreeView是没问题的,它好像还有一个什么List的控件,用它也不错
 
》》一个节点有多个父节点,那我认为这张BOM就有问题了。
很正常啊!
同一棵料在不同的产品下都可以存在啊!~`
 
但对一个产品来说,一个节点不可能有多个父节点.

一个半成品,可以在不同的产品中用是很正常,如果是这样,我认为是你们的库结构设计的不合理造成的.
 
我同意一个节点有多个父节点的说法,简单的说一个5分的锣丝在8028游戏机上可用,在5545闹钟上也是可以用的!那它不是有了两个父节点,这个设计没有问题,现在是如何用递归算法实现(主要是代码方面).

表的设计我是这样的:

BOM表:
parent_id 上一级父节点的ID
Item_id 产品的ID
unit 单位
qty 用量
begintime 开始日期
endtime 结束日期
remark 备注


产品表: procduce

idx 序号
type 类型
typecode 类别代码
item_code 代码
item_name 名称
item_desc 规格
item_color 颜色
item_unit 单位
item_price_I 进价
item_price_O 销售价
item_pirce_A 批发价
item_price_R 参考价
item_max_qty 最大库存
item_min_qty 最小库存
item_pack 是否包装
remark 备注

洗耳恭听高手意见!
 
我同意一个节点有多个父节点的说法,简单的说一个5分的锣丝在8028游戏机上可用,在5545闹钟上也是可以用的!那它不是有了两个父节点,这个设计没有问题,现在是如何用递归算法实现(主要是代码方面).

表的设计我是这样的:

BOM表:
parent_id 上一级父节点的ID
Item_id 产品的ID
unit 单位
qty 用量
begintime 开始日期
endtime 结束日期
remark 备注


产品表: procduce

idx 序号
type 类型
typecode 类别代码
item_code 代码
item_name 名称
item_desc 规格
item_color 颜色
item_unit 单位
item_price_I 进价
item_price_O 销售价
item_pirce_A 批发价
item_price_R 参考价
item_max_qty 最大库存
item_min_qty 最小库存
item_pack 是否包装
remark 备注

洗耳恭听高手意见!
 
什么叫BOM表?
即物料清单(Bill of Material;BOM),描述产品零件、半成品和成品之间的关系。

我的观点是:你的 procduce对我来说是物料表.BOM是了两个表组成,一个主表,一个明细表.
如果做一个表也行.如果拿你具体的东西来说:给每个物料一个编号.
8028游戏机 :001
5545闹钟 :002
5分的锣丝 :003
一个表BOM表:
父字段 子字段 其它
001 003
001 其它
002 003
002 其它

两个表的BOM表
主表存你的产品的信息
明细表存你的清单.要有父子关系.
 
to :jianguobu!

我在以前曾是用主从表来描述这种关系的,在VFP里我就搞过那种产品-半成品-物料的BOM表,我一直看它是一个三层的表,用三个数据表来完成这个架构!主-从-从的关系!但是现在发现这样有很多不好的地方,如果原料转销售呢?所以干脆放到一个表里,我查了很多资料,知道这种方式叫递归,但对于在DELPHI里代码实现有点困难,不知你有没有好的经验!
 
原料转销售也没问题呀.原料的父就是它自己呀.
 
后退
顶部