This commit is contained in:
李鹏宇
2026-04-22 19:37:03 +08:00
parent e6bd1b7d01
commit b10cdad9fc
3 changed files with 51 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-
from . import stock_picking_transfer_wizard
@@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models
from odoo.exceptions import UserError
class StockPickingTransferWizard(models.TransientModel):
_name = 'stock.picking.transfer.wizard'
_description = '入库单转交向导'
picking_id = fields.Many2one('stock.picking', string='入库单', required=True)
transfer_type = fields.Selection([
('acceptance', '转交验收'),
('certifier', '转交证明'),
], string='转交类型', required=True)
user_id = fields.Many2one('res.users', string='转交给', required=True,
domain=[('active', '=', True)])
def action_confirm(self):
self.ensure_one()
picking = self.picking_id
if self.transfer_type == 'acceptance':
if picking.receipt_status != 'acceptance':
raise UserError('当前入库单状态不是验收状态,无法转交验收!')
picking.write({'acceptance_user_id': self.user_id.id})
elif self.transfer_type == 'certifier':
if picking.receipt_status != 'certification':
raise UserError('当前入库单状态不是证明状态,无法转交证明!')
picking.write({'certifier_user_id': self.user_id.id})
return {'type': 'ir.actions.act_window_close'}
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="stock_picking_transfer_wizard_form" model="ir.ui.view">
<field name="name">stock.picking.transfer.wizard.form</field>
<field name="model">stock.picking.transfer.wizard</field>
<field name="arch" type="xml">
<form string="转交">
<group>
<field name="picking_id" invisible="1"/>
<field name="transfer_type" invisible="1"/>
<field name="user_id" string="转交给" options="{'no_create': True}"/>
</group>
<footer>
<button name="action_confirm" string="确认转交" type="object" class="btn-primary"/>
<button string="取消" class="btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
</odoo>