第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Odoo:一個2多個字段仍然添加記錄,即使我提出錯誤,如果它上的零庫存

Odoo:一個2多個字段仍然添加記錄,即使我提出錯誤,如果它上的零庫存

青春有我 2022-08-02 16:10:51
所以這個想法是當我改變產品時,它會檢查當前分支上可用的庫存,如果沒有,則會引發(fā)沒有庫存的錯誤預期行為:當所選產品上沒有庫存時,將引發(fā)錯誤,如果沒有庫存可用,則不會將記錄添加到樹視圖中當前行為:當所選產品上沒有庫存可用但記錄仍被添加到 one2many 樹視圖中時,將引發(fā)錯誤代碼如下# -*- coding: utf-8 -*-from docutils.nodes import linefrom odoo import models, fields, api, _from odoo.exceptions import ValidationErrorclass CustomTransRequest(models.Model):    _name = 'custom.trans.request'    _description = 'Transfer Request'    user_id = fields.Many2one('res.users', string='Salesperson', default=lambda self: self.env.user)    branch_from_id = fields.Many2one('custom.branch', string="From", required=True)    branch_to_id = fields.Many2one('custom.branch', string="To", required=True)    product_ids = fields.One2many(comodel_name="custom.trans.line", inverse_name="request_id", string="Products",                                  required=False, )class CustomTransLine(models.Model):    _name = 'custom.trans.line'    _description = 'Transfer Request Line'    branch_from_id = fields.Many2one(comodel_name="custom.branch", string="Branch", )    request_id = fields.Many2one("custom.trans.request", string="Request ID", )    product_id = fields.Many2one("custom.product", string="Product", required=True, )    qty = fields.Integer(string="Qty")    @api.onchange('product_id')    def onchange_product(self):        if self.product_id:            for rec in self:                selected_lines = rec.env['custom.branch.line'].search(                    ['&', ('product_id', '=', rec.product_id.id), ('branch_id', '=', rec.branch_from_id.id)]).mapped(                    'qty')                if not selected_lines:                    raise ValidationError(                        _('Current branch has ZERO stock on this product, Please select an available Product'))
查看完整描述

1 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

如果您不希望將記錄記錄放入一個 2 多個字段,請設置 .并返回驗證字典。product_id=False


請嘗試使用以下代碼。


@api.onchange('product_id')

def onchange_product(self):

    if self.product_id:

        res = {}

        selected_lines = rec.env['custom.branch.line'].search(

            ['&', 

             ('product_id', '=', self.product_id.id), 

             ('branch_id', '=', self.branch_from_id.id)]).mapped('qty')

        if not selected_lines:

            self.product_id = False

            res['warning'] = {'title': _('ValidationError'),

                              'message': _(

                                      'Current branch has ZERO stock on this product, '

                                      'Please select an available Product')}

            return res


查看完整回答
反對 回復 2022-08-02
  • 1 回答
  • 0 關注
  • 80 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號