我安装了一个自定义odoo模块,以向其正常工作的订单添加总折扣和订单折扣,直到我添加新公司,添加新公司后,我必须去开具发票以激活总折扣,但是odoo限制了我这样做的形式
我试图添加规则,但是没有用。我不知道我应该增加什么规则
这是我定义设置视图的方式
class KSResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
ks_enable_discount = fields.Boolean(string="Activate Total Discount")
ks_sales_discount_account = fields.Many2one('account.account', string="Sales Discount Account")
ks_purchase_discount_account = fields.Many2one('account.account', string="Purchase Discount Account")
ks_accounting_present = fields.Boolean(compute='ks_check_charts_of_accounts')
def get_values(self):
ks_res = super(KSResConfigSettings, self).get_values()
ks_res.update(
ks_enable_discount=self.env['ir.config_parameter'].sudo().get_param('ks_enable_discount'),
ks_sales_discount_account=int(self.env['ir.config_parameter'].sudo().get_param('ks_sales_discount_account')),
ks_purchase_discount_account=int(self.env['ir.config_parameter'].sudo().get_param('ks_purchase_discount_account')),)
return ks_res
def set_values(self):
super(KSResConfigSettings, self).set_values()
self.env['ir.config_parameter'].set_param('ks_enable_discount', self.ks_enable_discount)
if self.ks_enable_discount:
self.env['ir.config_parameter'].set_param('ks_sales_discount_account', self.ks_sales_discount_account.id)
self.env['ir.config_parameter'].set_param('ks_purchase_discount_account',
self.ks_purchase_discount_account.id)
odoo>
<data>
<record id="ks_res_config_settings_view_form" model="ir.ui.view">
<field name="name">ks.res.config.settings.view.form.inherit.account.discount</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="50"/>
<field name="inherit_id" ref="base.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='has_accounting_entries']" position="after">
<h2 attrs="{'invisible': [('has_chart_of_accounts','==',False)]}">Total Discount</h2>
<div class="row mt16 o_settings_container"
attrs="{'invisible': [('has_chart_of_accounts','==',False)]}">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="ks_enable_discount"/>
</div>
<div class="o_setting_right_pane">
<label for ='ks_enable_discount'/>
<div class="text-muted">
Activate Total discount on all modules.
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" attrs="{'invisible':[('ks_enable_discount','==',False)]}">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<span class="o_form_label">Accounts</span>
<div class="text-muted">
Set default Total discount accounts for sale and purchase order.
</div>
<div class="content-group">
<div class="row mt16" >
<label for="ks_sales_discount_account"
class="col-md-3 o_light_label"/>
<field name="ks_sales_discount_account"
attrs="{'required': [('ks_enable_discount','==',True)]}"/>
</div>
<div class="row mt16" >
<label for="ks_purchase_discount_account"
class="col-md-3 o_light_label"/>
<field name="ks_purchase_discount_account"
attrs="{'required': [('ks_enable_discount','==',True)]}"/>
</div>
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
</data>
</odoo>
这将显示在日志中
2019-10-29 12:31:26,410 16582 INFO演示odoo.models:由于记录规则,无法完成请求的操作:文档类型:account.account,操作:读取,记录:31,用户:2 [C0 ]
ks_sales_discount_account = fields.Many2one('account.account',string =“销售折扣帐户”)
ks_purchase_discount_account = fields.Many2one('account.account',string =“购买折扣
当我们在一家公司中设置此字段,而我们去另一家公司时,这些字段正在发生问题,我们无法访问同一帐户,并且正在为那些字段设置问题值,并且用户尝试访问这些帐户,但他没有对此没有许可。