2017-02-08 6 views
1

У меня есть версия 9, работающая в V9. Я пытаюсь установить его на V10 и получить сообщение об ошибке. Ошибка возникает при создании группы безопасности. Я также пробовал следовать из инструментов поддержки Migration to V10.Odoo 9 Module to V10

> Replace openerp imports to odoo. 
> 
>  Rename __openerp__.py to __manifest__.py 
> 
>  Replace select = True by index = TrueReplace string selectors in XML by name (if possible) or other attribute selector or even another 
> equivalent path/reference. For example, change <group string="x" 
> position="after"> by <group name="x" position="after">Remove <data> 
> and </data> in xml files if noupdate="0" 
> 
>  Replace the <openerp>/</openerp> tags in xml files by <odoo>/</odoo>. 
> 
>  Don't use @api.one with @api.onchange or it will crash. 
> 
>  ... 

Ниже ошибка

File "/home/jason/git/odoo10/odoo/addons/base/ir/ir_model.py", line 1028, in xmlid_lookup 
    raise ValueError('External ID not found in the system: %s' % xmlid) 
ParseError: "<type 'exceptions.ValueError'>: "External ID not found in the system: base.group_sale_salesman_all_leads" while evaluating 
"[(4,ref('base.group_user')),           (4,ref('account.group_account_invoice')),           (4,ref('stock.group_stock_user')),           (4,ref('base.group_sale_salesman_all_leads'))]"" while parsing /home/jason/git/customaddons/layby_order/security/layby_security.xml:5, near 
<record id="group_layby_user" model="res.groups"> 
     <field name="name">Layby User</field> 
     <field name="category_id" ref="base.module_category_sales_management"/> 
     <field name="comment">This is applicable for Layby User.</field> 
     <field name="implied_ids" eval="[(4,ref('base.group_user')),           (4,ref('account.group_account_invoice')),           (4,ref('stock.group_stock_user')),           (4,ref('base.group_sale_salesman_all_leads'))]"/> 
    </record> 

layby_security.xml

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
<data> 

    <record id="group_layby_user" model="res.groups"> 
     <field name="name">Layby User</field> 
     <field name="category_id" ref="base.module_category_sales_management"/> 
     <field name="comment">This is applicable for Layby User.</field> 
     <field name="implied_ids" eval="[(4,ref('base.group_user')), 
             (4,ref('account.group_account_invoice')), 
             (4,ref('stock.group_stock_user')), 
             (4,ref('base.group_sale_salesman_all_leads'))]"/> 
    </record> 

</data> 
</openerp> 

ir.model.access.csv

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 
access_layby_order,layby.order,model_layby_order,group_layby_user,1,1,1,0 
access_layby_order_line,layby.order.line,model_layby_order_line,group_layby_user,1,1,1,1 

Если я остановить сервер и запустить его снова попробуйте установить первую ошибку, которую я получаю,

File "/home/jason/git/customaddons/layby_order/layby.py", line 147 
     date_order = fields.Date.context_today(self) 
SyntaxError: invalid syntax 

после этого, если я устанавливаю, я получаю ошибку Parse External ID не найден. Я думаю, что причина заключается в том, что установка останавливается на линии 147 date_order = fields.Date.context_today(self), но я понятия не имею, почему.

Обновлено

Еще остановки на линии 147

date_order = fields.Date.context_today(self)) 

после изменения в sales_team.group_sale_salesman_all_leads

первоначальной ошибки ушел, но теперь получить

raise Exception(_('Module loading %s failed: file %s could not be processed:\n %s') % (module, fname, warning_msg)) 
Exception: Module loading layby_order failed: file layby_order/security/ir.model.access.csv could not be processed: 
No matching record found for external id 'model_layby_order' in field 'Object' 
Missing required value for the field 'Object' (model_id) 
No matching record found for external id 'model_layby_order_line' in field 'Object' 
Missing required value for the field 'Object' (model_id) 

ответ

2

руководство ПЦА мигрировать модули из v9 до v10 в основном достаточно, за исключением того, что он делает не упоминайте, что несколько групп безопасности, которые раньше были префиксом base, были перемещены/модулированы в соответствующие модули, такие как base.group_hr_user и, как вы видели в своем случае, base.group_sale_salesman_all_leads.

Чтобы решить первую проблему, измените ваш исх base.group_sale_salesman_all_leads к sales_team.group_sale_salesman_all_leads в layby_security.xml:

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
<data> 

    <record id="group_layby_user" model="res.groups"> 
     <field name="name">Layby User</field> 
     <field name="category_id" ref="base.module_category_sales_management"/> 
     <field name="comment">This is applicable for Layby User</field> 
     <field name="implied_ids" eval="[(4,ref('base.group_user')), 
            (4,ref('account.group_account_invoice')), 
            (4,ref('stock.group_stock_user')), 
            (4,ref('sales_team.group_sale_salesman_all_leads'))]"/> 
    </record> 

</data> 
</openerp> 

Для вашего второго вопроса, если date_order этого поля вы добавляете в свой класс, сделать это вместо:

date_order = fields.Date(default=fields.Date.context_today) 

В противном случае, если вы фактически объявляете переменную вместо нового поля, ваш синтаксис выглядит ОК, а Odoo 10 все еще использует fields.Date.context_today().

look it up on github.


EDIT: (после того, как вопрос был обновлен)

Ошибка может быть потому, что вам не хватает типовую декларацию в вашей res.groups записи.

Не могли бы вы добавить <field name="model_id" ref="model_layby_order"/> в layby_security.xml?

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
<data> 

    <record id="group_layby_user" model="res.groups"> 
     <field name="name">Layby User</field> 
     <field name="model_id" ref="model_layby_order"/> 
     <field name="category_id" ref="base.module_category_sales_management"/> 
     <field name="comment">This is applicable for Layby User</field> 
     <field name="implied_ids" eval="[(4,ref('base.group_user')), 
            (4,ref('account.group_account_invoice')), 
            (4,ref('stock.group_stock_user')), 
            (4,ref('sales_team.group_sale_salesman_all_leads'))]"/> 
    </record> 

</data> 
</openerp> 
+0

Я обновил свой первоначальный вопрос. Я получаю другую ошибку, теперь ir.model.access.csv не может быть обработан: все еще останавливается на date_order = fields.Date.context_today (self)) – user2379186

+0

Я обновил ответ! Дайте мне знать, если это поможет. –

+0

Я получаю повышение ValueError ('External ID не найден в системе:% s'% xmlid) ParseError: «Внешний ID не найден в системе: layby_order.model_layby_order» при разборе/home/jason/git/customaddons/layby_order/security/layby_security.xml: 5, near – user2379186

 Смежные вопросы

  • Нет связанных вопросов^_^