向大家致以问候。
我正在扩展hr.employee类以添加员工设备。由于该设备迟早需要更换,我想制作一个按钮,以便如果标记了复选框,它将一个单位从库存位置转移到报废位置。
原因是要有一个更新的清单和这些元素的使用历史。我最近开始使用Odoo提供的框架进行编程,事实是我有些迷茫。
class HrEmployeeLprl(models.Model):
_inherit = 'hr.employee'
# Botón actualizar
@api.one
@api.depends('hr', 'stock')
def action_lprl_update_inventory(self):
if self.renew_glasses:
move = self.env['stock.move'].create({
'name': '',
'location_id': self.glasses.property_stock_production.id,
'location_dest_id': self.scrap_location.id,
'product_id': self.glasses.id,
'product_uom': self.glasses.uom_id.id,
'product_uom_qty': 1
})
move._action_confirm()
move._action_assign()
move.move_line_ids.write({qty_done: 1})
move._action_done()
glasses = fields.Many2one(
comodel_name='product.product',
domain="[('categ_id', '=', 'LPRL / Gafas'), ('qty_available', '>', 0)]",
string=u'Equipo de protección visual',
help=u'Si no se muestra ningún producto compruebe que existan productos de la categoría en cuestión y que el stock sea mayor de 0'
)
renew_glasses = fields.Boolean(string="¿Renovar equipo de protección visual?")
scrap_location = fields.Many2one(
comodel_name='stock.location',
string=u'Destino del desecho',
help=u'¿En donde se almacena el desecho?'
)
它会在日志中引发以下消息:
> /srv/http/odoo/odoo10/custom-addons/hr_lprl/models/hr_employee_lprl.py(34)action_lprl_update_inventory()
-> move._action_confirm()
视线仍然冻结。 我将不胜感激建议和参考,在哪里更深入,谢谢。
胡安玛·贝尔特兰·奥萨
作为错误建议在 Odoo-10stock.move
没有调用的方法_action_confirm
这是action_confirm
.
尝试使用具有您尝试访问和执行操作的方法的对象检查Odoo-10。
谢谢