[quote author=青岛-随风 link=topic=17670.msg32443#msg32443 date=1468488224]
你把inherit = 'stock.picking' 修改成_inherit = 'stock.picking'试试
[/quote]
你太对了,谢谢谢谢
llcai0598
-
如何修改原class里的方法 -
如何修改原class里的方法按照Odoo的风格,理论上:
Class A中的方法可以由继承A的ClassB中被修改 ?
问题如下:
在stock.py中的:
[quote]
class stock_picking(models.Model):
_name = "stock.picking"
_inherit = ['mail.thread']
_description = "Transfer"
_order = "priority desc, date asc, id desc"
def _set_min_date(.....
[/quote]
有
[quote]
def create_lots_for_picking(self, cr, uid, ids, context=None):
lot_obj = self.pool['stock.production.lot']
opslot_obj = self.pool['stock.pack.operation.lot']
to_unlink = []
for picking in self.browse(cr, uid, ids, context=context):
for ops in picking.pack_operation_ids:
for opslot in ops.pack_lot_ids:
if not opslot.lot_id:
print '=============not find stock.production.lot, create lot:',opslot.lot_name,ops.product_id.id,opslot.lot_weight
lot_id = lot_obj.create(cr, uid, {'name': opslot.lot_name, 'product_id': ops.product_id.id}, context=context)
opslot_obj.write(cr, uid, [opslot.id], {'lot_id':lot_id}, context=context)
#Unlink pack operations where qty = 0
to_unlink += [x.id for x in ops.pack_lot_ids if x.qty == 0.0]
opslot_obj.unlink(cr, uid, to_unlink, context=context)
[/quote]
现在需要修改这个方法,新建模块后:
[quote]
class dy_stock_picking(models.Model):
inherit = 'stock.picking'
def create_lots_for_picking(self, cr, uid, ids, context=None):
print 'dy.stock.picking==============='
lot_obj = self.pool['stock.production.lot']
opslot_obj = self.pool['stock.pack.operation.lot']
to_unlink = []
for picking in self.browse(cr, uid, ids, context=context):
for ops in picking.pack_operation_ids:
for opslot in ops.pack_lot_ids:
if not opslot.lot_id:
print 'dy.stock.picking=============not find stock.production.lot, create lot:',opslot.lot_name,ops.product_id.id
lot_id = lot_obj.create(cr, uid, {'name': opslot.lot_name, 'product_id': ops.product_id.id, 'lot_weight': opslot.lot_weight}, context=context)
opslot_obj.write(cr, uid, [opslot.id], {'lot_id':lot_id}, context=context)
#Unlink pack operations where qty = 0
to_unlink += [x.id for x in ops.pack_lot_ids if x.qty == 0.0]
opslot_obj.unlink(cr, uid, to_unlink, context=context)
[/quote]
运行后发现,没有成功:
[img [检测到链接无效,已移除] /img]
还是调用了原来的方法
什么原因? -
Odoo8仓库管理(WMS)介绍[quote author=lihaihe link=topic=16496.msg29455#msg29455 date=1417338917]
[quote author=elliott2019 link=topic=16496.msg29361#msg29361 date=1415956458]
1. 我的仓库有好几种原料库,每个原料库都是专人保管,我怎么操作,让指定人员只能管理指定库位呢?
2. 我不想要其他模块,只要仓库模块。想将Odoo做一个纯粹的仓库管理。所以这样操作:
我将公司的
采购部门定义为供应商库位,
生产部门定义了两个库位,一个生产原料库位(客户库位),一个生产成品库位(供应商库位),
销售部门定义为客户库位,
采购入库,直接填供应商入库单。
原料出库,直接填出库单,
成品入库,直接成品入库单,
销售部门提货,就直接客户出库单。
[/quote]
关于1:
通过在产品档案里设置保管人,然后通过权限控制更为合理些。
关于2:
采购入库,供应商库位>库存(和原有保持不变)
原料出库,库存>生产库位(新增一个stock_picking_type,类型为internal,源stock,目标porduction)
成品入库,生产库位>库存(新增一个stock_picking_type,类型为internal,目标stock,源porduction)
销售部门提货,库存>客户库位(保持和原有不变)
[/quote]
增加了一个"生产下料"的stock_picking_type,但下料之后并不会自动显示在这个看板里,这是怎么回事?