Как иметь разные настройки для разных компаний в res.config.setting? - PullRequest
0 голосов
/ 18 июня 2020
<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="0">
        <record id="my_hk_config_res_config_settings" model="res.config.settings">
            <field name="company_id" ref="my_data.company_my_hk"/>
            <field name="prepayment_account_id" model="account.account"
                   search="[
                       ('company_id', '=', ref('my_data.company_my_hk')),
                       ('code', '=', 6200)
                   ]"/>
        </record>

        <function model="res.config.settings" name="execute">
            <value model="res.config.settings"
                   search="[('id', '=', ref('my_hk_config_res_config_settings'))]"/>
        </function>

        <record id="my_us_config_res_config_settings" model="res.config.settings">
            <field name="company_id" ref="my_data.company_my_us"/>
            <field name="prepayment_account_id" model="account.account"
                   search="[
                       ('company_id', '=', ref('my_data.company_my_us')),
                       ('code', '=', 6200)
                   ]"/>
        </record>

        <function model="res.config.settings" name="execute">
            <value model="res.config.settings"
                   search="[('id', '=', ref('my_us_config_res_config_settings'))]"/>
        </function>
    </data>
</odoo>

Это мой res.config.settings xml файл данных, но я обнаружил, что prepayment_account_id, сохраненный в ir.default, имеет одну строку и не задан company_id. Когда я захожу на страницу настроек, доступна только компания из США, причина в том, что prepayment_account_id настроен на учетную запись 6200 в США, которая доступна только для компании из США.

Как правильно сохранить настройки компании на странице настроек?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...