仓库打包作业超出分拣单数量时,发警报邮件

   

Odoo 仓库打包作业 是允许可以 超出分拣单预计的数量。

   

odoo 库存模块的代码里,修改 _create_extra_moves() 方法

def _create_extra_moves(self, cr, uid, picking, context=None):

'''This function creates move lines on a picking, at the time of do_transfer, based on

unexpected product transfers (or exceeding quantities) found in the pack operations.

'''

move_obj = self.pool.get('stock.move')

operation_obj = self.pool.get('stock.pack.operation')

moves = []

for op in picking.pack_operation_ids:

for product_id, remaining_qty in operation_obj._get_remaining_prod_quantities(cr, uid, op, context=context).items():

product = self.pool.get('product.product').browse(cr, uid, product_id, context=context)

if float_compare(remaining_qty, 0, precision_rounding=product.uom_id.rounding) > 0:

vals = self._prepare_values_extra_move(cr, uid, op, product, remaining_qty, context=context)

moves.append(move_obj.create(cr, uid, vals, context=context))

if moves:

move_obj.action_confirm(cr, uid, moves, context=context)

return moves

   

move_obj.create 这个地方 增加一行代码 发送 alert.

   

或者使用 odoo automatic Server action rule 这样 就可以 不用 写一行代码 实现 此需求。

   

原理;

stock picking 更新的时候,如果它的 move lines 里面 stock move 包含了 Extra Move: 字样【如果使用的中文,注意使用汉化,未确认?】 就触发 一个Server Action,用来发送通知邮件

   

设置;

1. 设置一个 filter.

   

user- defined filters 里面定义

   

2. 设置 automatic Server Action rule.

   

   

Related document model 选择 stock move

Where to run 选择 on creation

Filter 选择 前面定义的 Extra_Move

   

切换到 Actions 页卡增加一个 服务器动作

   

选择已有的,或者创建一个新的 Server action

   

在弹窗,Action to DO 选择 send Email

   

   

Email Template 选择 建立模板

   

设置 Name

Applies to stock.picking

设置 mail from

   

参数 object 代表当前的对象

   

设置 subject body

   

   

   

当数量超出时,会发送邮件

   

注意,这里没有 设置邮件 接收人

   

   

jeffery 2024年4月23日
标签
存档
使用 SAML 实现SSO [single sign on]