新手,又来请教一个业务能否实现的问题?
-
这个需求可以有两种实现办法:
一种是在仓库下设不同客户的虚拟库位,设置客户访问其相应的库位的权限(要禁止这些用户访问上级仓库库存信息)
另外也可以通过记录规则来进行处理(系统管理->安全设定->记录规则)通过设定记录级别的访问规则,按照登录用户所属的公司来过滤显示仓库中的货品,不过前提是产品对象上要创建“所属公司“属性。 -
[quote author=digitalsatori link=topic=2298.msg7487#msg7487 date=1297918540]
首先更正之前说明上的一个问题,不应该在“产品对象”上建一个"所属公司"的属性,因为同一型号的产品可能分属于不同的公司。
所以应该修改的对象是stock.inventory.line
因为 Open ERP支持 ORM(对象映射),所以你不必直接修改数据库
你可以直接在‘系统管理-自定义-数据库结构-对象’找到stock.inventory.line对象并添加相应的字段
或者如果你喜欢编程的方式,
那就创建一个模块,继承stock.inventory.line的实体类并给给继承类添加‘belongto' 属性, 当然你还要在业务表单界面中添加该字段的控件。
其实还是第一种方法来得简洁明了。
[/quote]
第一种方法具体要怎么做呢? -
@pingwe 之前我所提及的针对stock.inventory.line对象操作是完全错误的。 当时看代码不仔细,stock.inventory.line是盘点单明细对象与fosidao的需求风马牛不相及
为防止误导其他朋友已删除原帖。
OpenERP 6.x后默认支持多公司,前面提到的record rule已默认设置好了,处理起来相当容易。具体步骤:
1. 首先将管理员用户加入'multi-company'组,这样你就可以在大多数的对象上看到company的字段了
2. 然后在warehouse所对应的location stock(假设名字为warehouse stock)下,设置几个stock location(其parent 为“warehouse stock“, company分别为所属的公司)
3. 为这些公司创建用户(即用户的company字段是其所属公司)
搞定,这些用户就能看到分属于自己公司的库存了 -
@digitalsatori 谢谢你的认真回复。