This commit is contained in:
李鹏宇
2026-04-28 16:02:36 +08:00
parent e02a75a369
commit c19268e584
2 changed files with 21 additions and 3 deletions
@@ -683,6 +683,20 @@ class StockPicking(models.Model):
self.receipt_status = 'certification' # 状态变为证明
return True
def action_reset_to_acceptance(self):
"""管理员退回:清空验收信息,重新回到待转交验收节点"""
self.ensure_one()
if not self.env.user.has_group('base.group_system'):
raise UserError('只有系统管理员才能执行此操作!')
if self.state == 'done':
raise UserError('已完成入库的单据不能退回,如需撤销请联系技术人员!')
self.write({
'receipt_status': 'acceptance',
'acceptance_user_id': False,
'employee_id': False,
'acceptance_date': False,
})
def action_transfer_acceptance(self):
"""转交验收:弹出选人 wizard"""
self.ensure_one()
+7 -3
View File
@@ -87,6 +87,10 @@
invisible="picking_type_code != 'internal' or return_state != 'pending' or return_approver_id != uid"/>
<button name="action_transfer_acceptance" string="转交验收" type="object" class="btn-secondary"
invisible="receipt_status != 'acceptance' or acceptance_user_id != False or picking_type_code != 'incoming'"/>
<!-- 管理员退回至待验收:仅管理员可见,未完成入库时可用 -->
<button name="action_reset_to_acceptance" string="退回待验收" type="object" class="btn-secondary"
groups="base.group_system"
invisible="picking_type_code != 'incoming' or state == 'done' or receipt_status == 'acceptance'"/>
<!-- 验收按钮:只有指定验收人可见,且当前用户是指定人 -->
<button name="action_acceptance" string="验收" type="object" class="btn-primary"
invisible="receipt_status != 'acceptance' or acceptance_user_id == False or acceptance_user_id != uid or picking_type_code != 'incoming'"/>
@@ -94,9 +98,9 @@
<button name="action_transfer_certifier" string="转交证明" type="object" class="btn-secondary"
invisible="receipt_status != 'certification' or certifier_user_id != False or acceptance_user_id != uid or picking_type_code != 'incoming'"/>
<!-- 撤回入库:管理员且入库状态时可见 -->
<!-- 撤回入库:已隐藏 -->
<button name="action_revoke_receipt" string="撤回入库" type="object" class="btn-secondary"
invisible="receipt_status != 'receipt' or not is_admin or picking_type_code != 'incoming'"/>
invisible="1"/>
</xpath>
<xpath expr="//page[@name='operations']/field[@name='move_ids_without_package']" position="after">
<group invisible="picking_type_code != 'incoming'">
@@ -415,7 +419,7 @@
<record id="stock.action_picking_tree_incoming" model="ir.actions.act_window">
<field name="name">收货</field>
<field name="domain">['&amp;', ('picking_type_code', '=', 'incoming'), '|', '|', ('create_uid', '=', uid), ('acceptance_user_id', '=', uid), ('certifier_user_id', '=', uid)]</field>
<field name="context">{'contact_display': 'partner_address', 'default_company_id': allowed_company_ids[0], 'restricted_picking_type_code': 'incoming', 'search_default_reception': 1, 'search_default_my_pickings': 1}</field>
<field name="context">{'contact_display': 'partner_address', 'restricted_picking_type_code': 'incoming', 'search_default_reception': 1}</field>
</record>
<record id="inherit_view_picking_internal_search_my" model="ir.ui.view">