Skip to Content
Odoo Menú
  • Registra entrada
  • Prova-ho gratis
  • Aplicacions
    Finances
    • Comptabilitat
    • Facturació
    • Despeses
    • Full de càlcul (IA)
    • Documents
    • Signatura
    Vendes
    • CRM
    • Vendes
    • Punt de venda per a botigues
    • Punt de venda per a restaurants
    • Subscripcions
    • Lloguer
    Imatges de llocs web
    • Creació de llocs web
    • Comerç electrònic
    • Blog
    • Fòrum
    • Xat en directe
    • Aprenentatge en línia
    Cadena de subministrament
    • Inventari
    • Fabricació
    • PLM
    • Compres
    • Manteniment
    • Qualitat
    Recursos humans
    • Empleats
    • Reclutament
    • Absències
    • Avaluacions
    • Recomanacions
    • Flota
    Màrqueting
    • Màrqueting Social
    • Màrqueting per correu electrònic
    • Màrqueting per SMS
    • Esdeveniments
    • Automatització del màrqueting
    • Enquestes
    Serveis
    • Projectes
    • Fulls d'hores
    • Servei de camp
    • Suport
    • Planificació
    • Cites
    Productivitat
    • Converses
    • Validacions
    • IoT
    • VoIP
    • Coneixements
    • WhatsApp
    Aplicacions de tercers Odoo Studio Plataforma d'Odoo al núvol
  • Sectors
    Comerç al detall
    • Llibreria
    • Botiga de roba
    • Botiga de mobles
    • Botiga d'ultramarins
    • Ferreteria
    • Botiga de joguines
    Food & Hospitality
    • Bar i pub
    • Restaurant
    • Menjar ràpid
    • Guest House
    • Distribuïdor de begudes
    • Hotel
    Immobiliari
    • Agència immobiliària
    • Estudi d'arquitectura
    • Construcció
    • Gestió immobiliària
    • Jardineria
    • Associació de propietaris de béns immobles
    Consultoria
    • Empresa comptable
    • Partner d'Odoo
    • Agència de màrqueting
    • Bufet d'advocats
    • Captació de talent
    • Auditoria i certificació
    Fabricació
    • Textile
    • Metal
    • Mobles
    • Menjar
    • Brewery
    • Regals corporatius
    Salut i fitness
    • Club d'esport
    • Òptica
    • Centre de fitness
    • Especialistes en benestar
    • Farmàcia
    • Perruqueria
    Trades
    • Servei de manteniment
    • Hardware i suport informàtic
    • Sistemes d'energia solar
    • Shoe Maker
    • Serveis de neteja
    • Instal·lacions HVAC
    Altres
    • Nonprofit Organization
    • Agència del medi ambient
    • Lloguer de panells publicitaris
    • Fotografia
    • Lloguer de bicicletes
    • Distribuïdors de programari
    Browse all Industries
  • Comunitat
    Aprèn
    • Tutorials
    • Documentació
    • Certificacions
    • Formació
    • Blog
    • Pòdcast
    Potenciar l'educació
    • Programa educatiu
    • Scale-Up! El joc empresarial
    • Visita Odoo
    Obtindre el programari
    • Descarregar
    • Comparar edicions
    • Novetats de les versions
    Col·laborar
    • GitHub
    • Fòrum
    • Esdeveniments
    • Traduccions
    • Converteix-te en partner
    • Services for Partners
    • Registra la teva empresa comptable
    Obtindre els serveis
    • Troba un partner
    • Troba un comptable
    • Contacta amb un expert
    • Serveis d'implementació
    • Referències del client
    • Suport
    • Actualitzacions
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Programar una demo
  • Preus
  • Ajuda

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Comptabilitat
  • Inventari
  • PoS
  • Projectes
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Etiquetes (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Etiquetes (View all)
odoo accounting v14 pos v15
About this forum
Ajuda

AssertionError: Element openerp has extra content: data, line 3

Subscriure's

Get notified when there's activity on this post

This question has been flagged
productetreeconvertproduct.productassertionerror
3 Respostes
10693 Vistes
Avatar
Seguridad y Halogenados

I get the following error while trying to install product_price_currency addon module on odoo 9.0, what should I do to fix this?


Odoo Server Error

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 605, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 642, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 316, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 309, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 893, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 471, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 896, in call_button
    action = self._call_kw(model, method, args, {})
  File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 884, in _call_kw
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper
    return old_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 459, in button_immediate_install
    return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper
    return old_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 533, in _button_immediate_function
    registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
  File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 385, in new
    openerp.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 338, in load_modules
    loaded_modules, update_module)
  File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 237, in load_marked_modules
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
  File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 156, in load_module_graph
    _load_data(cr, module_name, idref, mode, kind='data')
  File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 98, in _load_data
    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
  File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 852, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 926, in convert_xml_import
    relaxng.assert_(doc)
  File "lxml.etree.pyx", line 3373, in lxml.etree._Validator.assert_ (src/lxml/lxml.etree.c:166758)
AssertionError: Element openerp has extra content: data, line 3



0
Avatar
Descartar
Jignesh Mehta

If product_price_currency is custom module then post your code here which is in xml file.

Seguridad y Halogenados
Autor

Hello Jignesh, thanks for your reply, I will explain myself more, I need to use a module developed by Adhoc and can be found in apps store, is called product_price_currency, for odoo 8 it works great, for odoo 9 it doesn´t works When I installed it I got the following error: Odoo Server Error Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 605, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 642, in dispatch result = self._call_function(**self.params) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 316, in _call_function return checked_call(self.db, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper return f(dbname, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 309, in checked_call result = self.endpoint(*a, **kw) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 893, in __call__ return self.method(*args, **kw) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 471, in response_wrap response = f(*args, **kw) File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 896, in call_button action = self._call_kw(model, method, args, {}) File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 884, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper return old_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 459, in button_immediate_install return self._button_immediate_function(cr, uid, ids, self.button_install, context=context) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper return old_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 533, in _button_immediate_function registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True) File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 385, in new openerp.modules.load_modules(registry._db, force_demo, status, update_module) File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 338, in load_modules loaded_modules, update_module) File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 237, in load_marked_modules loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 156, in load_module_graph _load_data(cr, module_name, idref, mode, kind='data') File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 98, in _load_data tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report) File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 852, in convert_file convert_xml_import(cr, module, fp, idref, mode, noupdate, report) File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 939, in convert_xml_import obj.parse(doc.getroot(), mode=mode) File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 802, in parse self.parse(rec, mode) File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 805, in parse self._tags[rec.tag](self.cr, rec, de, mode=mode) File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 709, in _tag_record id = self.pool['ir.model.data']._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context ) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper return old_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_model.py", line 1101, in _update res_id = model_obj.create(cr, uid, values, context=context) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper return old_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_ui_view.py", line 351, in create context=context) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper return old_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 342, in old_api result = method(recs, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 4132, in create record = self.browse(self._create(old_vals)) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper return new_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 478, in new_api result = method(self._model, cr, uid, *args, **old_kwargs) File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 4323, in _create recs._validate_fields(vals) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper return new_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 1272, in _validate_fields raise ValidationError('\n'.join(errors)) ParseError: "Invalid view definition Error details: Element '' cannot be located in parent view Error context: View `product_price_currency.search` [view_id: 509, xml_id: n/a, model: product.template, parent_id: 284] None" while parsing /usr/lib/python2.7/dist-packages/openerp/addons/product_price_currency/product_view.xml:62, near product_price_currency.search product.template So first I focused on the following: Element '' cannot be located in parent view parent view is: product.product_template_search_view in Odoo 8 id does include in Odoo 9 it does not, original: Edited (added ): Then I got the following error: Odoo Server Error Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 605, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 642, in dispatch result = self._call_function(**self.params) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 316, in _call_function return checked_call(self.db, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper return f(dbname, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 309, in checked_call result = self.endpoint(*a, **kw) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 893, in __call__ return self.method(*args, **kw) File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 471, in response_wrap response = f(*args, **kw) File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 892, in call_kw return self._call_kw(model, method, args, kwargs) File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 884, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper return old_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 342, in old_api result = method(recs, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 1327, in default_get defaults[name] = field.default(self) File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper return new_api(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/openerp/addons/product_price_currency/product.py", line 15, in get_currency_id price_type_obj = self.env['product.price.type'] File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 746, in __getitem__ return self.registry[model_name]._browse(self, ()) File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 84, in __getitem__ return self.models[model_name] KeyError: 'product.price.type' It turns out that model product.price.type does not exists in odoo 9 Inside the product_price_currency module: product_view.xml product_price_currency.form product.product product_price_currency.tree product.product product_price_currency.kanban product.product

  • product_price_currency.kanban product.template
  • Pricelist Price:
  • product_price_currency.form product.template product_price_currency.search product.template product.template.product.tree product.template product.py # -*- coding: utf-8 -*- ############################################################################## # For copyright and license notices, see __openerp__.py file in module root # directory ############################################################################## from openerp import fields, models, api import openerp.addons.decimal_precision as dp class product_template(models.Model): _inherit = 'product.template' @api.model def get_currency_id(self): price_type_obj = self.env['product.price.type'] price_type_ids = price_type_obj.search([('field', '=', 'list_price')]) if not price_type_ids.currency_id: return self.env.user.company_id.currency_id return price_type_ids.currency_id sale_price_currency_id = fields.Many2one( 'res.currency', 'Sale Price Currency', required=True, default=get_currency_id, help="Currency used for the Currency List Price." ) cia_currency_list_price = fields.Float( 'Company Currency Sale Price', digits=dp.get_precision('Product Price'), compute='get_cia_currency_list_price', help="Base price on company currency at actual exchange rate", ) @api.multi @api.depends('list_price', 'sale_price_currency_id') def get_cia_currency_list_price(self): company_currency = self.env.user.company_id.currency_id for product in self: if ( product.sale_price_currency_id and product.sale_price_currency_id != company_currency ): cia_currency_list_price = ( product.sale_price_currency_id.compute( product.list_price, company_currency)) else: cia_currency_list_price = product.list_price product.cia_currency_list_price = cia_currency_list_price def _price_get(self, cr, uid, products, ptype='list_price', context=None): if not context: context = {} res = super(product_template, self)._price_get( cr, uid, products, ptype=ptype, context=context) if ptype == 'list_price': pricetype_obj = self.pool.get('product.price.type') price_type_id = pricetype_obj.search( cr, uid, [('field', '=', ptype)])[0] price_type_currency_id = pricetype_obj.browse( cr, uid, price_type_id).currency_id.id for product in products: if product.sale_price_currency_id.id != price_type_currency_id: res[product.id] = self.pool.get('res.currency').compute( cr, uid, product.sale_price_currency_id.id, price_type_currency_id, res[product.id], context=context) return res
    Avatar
    Seguridad y Halogenados
    Autor Best Answer

    the code again with spaces:


    Odoo Server Error

    Traceback (most recent call last):

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 605, in _handle_exception

    return super(JsonRequest, self)._handle_exception(exception)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 642, in dispatch

    result = self._call_function(**self.params)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 316, in _call_function

    return checked_call(self.db, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper

    return f(dbname, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 309, in checked_call

    result = self.endpoint(*a, **kw)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 893, in __call__

    return self.method(*args, **kw)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 471, in response_wrap

    response = f(*args, **kw)

    File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 896, in call_button

    action = self._call_kw(model, method, args, {})

    File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 884, in _call_kw

    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper

    return old_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 459, in button_immediate_install

    return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper

    return old_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 533, in _button_immediate_function

    registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)

    File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 385, in new

    openerp.modules.load_modules(registry._db, force_demo, status, update_module)

    File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 338, in load_modules

    loaded_modules, update_module)

    File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 237, in load_marked_modules

    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)

    File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 156, in load_module_graph

    _load_data(cr, module_name, idref, mode, kind='data')

    File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 98, in _load_data

    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)

    File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 852, in convert_file

    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)

    File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 939, in convert_xml_import

    obj.parse(doc.getroot(), mode=mode)

    File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 802, in parse

    self.parse(rec, mode)

    File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 805, in parse

    self._tags[rec.tag](self.cr, rec, de, mode=mode)

    File "/usr/lib/python2.7/dist-packages/openerp/tools/convert.py", line 709, in _tag_record

    id = self.pool['ir.model.data']._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context )

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper

    return old_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_model.py", line 1101, in _update

    res_id = model_obj.create(cr, uid, values, context=context)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper

    return old_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_ui_view.py", line 351, in create

    context=context)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper

    return old_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 342, in old_api

    result = method(recs, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 4132, in create

    record = self.browse(self._create(old_vals))

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper

    return new_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 478, in new_api

    result = method(self._model, cr, uid, *args, **old_kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 4323, in _create

    recs._validate_fields(vals)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper

    return new_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 1272, in _validate_fields

    raise ValidationError('\n'.join(errors))

    ParseError: "Invalid view definition

    Error details:

    Element '<field name="company_id">' cannot be located in parent view

    Error context:

    View `product_price_currency.search`

    [view_id: 509, xml_id: n/a, model: product.template, parent_id: 284]

    None" while parsing /usr/lib/python2.7/dist-packages/openerp/addons/product_price_currency/product_view.xml:62, near

    <record id="product_template_search_view" model="ir.ui.view">

    <field name="name">product_price_currency.search</field>

    <field name="model">product.template</field>

    <field name="inherit_id" ref="product.product_template_search_view"/>

    <field name="arch" type="xml">

    <field name="company_id" position="after">

    <field name="sale_price_currency_id"/>

    </field>

    </field>

    </record>



    So first I focused on the following:

    Element '<field name="company_id">' cannot be located in parent view

    parent view is: product.product_template_search_view in Odoo 8 id does include <field name="company_id"/>

    in Odoo 9 it does not, original:

    <?xml version="1.0"?>

    <search string="Product">

    <field name="name" string="Product" filter_domain="['|',('default_code','ilike',self),('name','ilike',self)]"/>

    <separator/>

    <filter string="Services" name="services" domain="[('type','=','service')]"/>

    <filter string="Products" name="consumable" domain="[('type','=','consu')]" help="Products your store in the inventory"/>

    <separator/>

    <filter string="Can be Sold" name="filter_to_sell" domain="[('sale_ok','=',1)]"/>

    <separator/>

    <filter string="Archived" name="inactive" domain="[('active','=',False)]"/>

    <field string="Attributes" name="attribute_line_ids"/>

    <field name="pricelist_id" widget="selection" context="{'pricelist': self}" filter_domain="[]" groups="product.group_sale_pricelist"/> <!-- Keep widget=selection on this field to pass numeric `self` value, which is not the case for regular m2o widgets! -->

    </search>

    Edited (added <field name="company_id"/> ):

    <?xml version="1.0"?>

    <search string="Product">

    <field name="name" string="Product" filter_domain="['|',('default_code','ilike',self),('name','ilike',self)]"/>

    <separator/>

    <filter string="Services" name="services" domain="[('type','=','service')]"/>

    <filter string="Products" name="consumable" domain="[('type','=','consu')]" help="Products your store in the inventory"/>

    <field name="company_id"/>

    <separator/>

    <filter string="Can be Sold" name="filter_to_sell" domain="[('sale_ok','=',1)]"/>

    <separator/>

    <filter string="Archived" name="inactive" domain="[('active','=',False)]"/>

    <field string="Attributes" name="attribute_line_ids"/>

    <field name="pricelist_id" widget="selection" context="{'pricelist': self}" filter_domain="[]" groups="product.group_sale_pricelist"/> <!-- Keep widget=selection on this field to pass numeric `self` value, which is not the case for regular m2o widgets! -->

    </search>

    Then I got the following error:

    Odoo Server Error

    Traceback (most recent call last):

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 605, in _handle_exception

    return super(JsonRequest, self)._handle_exception(exception)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 642, in dispatch

    result = self._call_function(**self.params)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 316, in _call_function

    return checked_call(self.db, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper

    return f(dbname, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 309, in checked_call

    result = self.endpoint(*a, **kw)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 893, in __call__

    return self.method(*args, **kw)

    File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 471, in response_wrap

    response = f(*args, **kw)

    File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 892, in call_kw

    return self._call_kw(model, method, args, kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 884, in _call_kw

    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper

    return old_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 342, in old_api

    result = method(recs, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 1327, in default_get

    defaults[name] = field.default(self)

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper

    return new_api(self, *args, **kwargs)

    File "/usr/lib/python2.7/dist-packages/openerp/addons/product_price_currency/product.py", line 15, in get_currency_id

    price_type_obj = self.env['product.price.type']

    File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 746, in __getitem__

    return self.registry[model_name]._browse(self, ())

    File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 84, in __getitem__

    return self.models[model_name]

    KeyError: 'product.price.type'



    It turns out that model product.price.type does not exists in odoo 9




    Inside the product_price_currency module:


     this is the product_view.xml file


    <?xml version="1.0" encoding="UTF-8"?>

    <openerp>

    <data>

    <!-- Product Product Views -->

    <record id="product_normal_form_view" model="ir.ui.view">

    <field name="name">product_price_currency.form</field>

    <field name="model">product.product</field>

    <field name="inherit_id" ref="product.product_normal_form_view" />

    <field name="arch" type="xml">

    <field name="lst_price" position="after">

    <field name="sale_price_currency_id"/>

    </field>

    </field>

    </record>

    <record id="product_price_currency_tree_view" model="ir.ui.view">

    <field name="name">product_price_currency.tree</field>

    <field name="model">product.product</field>

    <field name="inherit_id" ref="product.product_product_tree_view" />

    <field name="arch" type="xml">

    <field name="lst_price" position="after">

    <field name="sale_price_currency_id" />

    </field>

    </field>

    </record>

    <record id="product_kanban_view" model="ir.ui.view">

    <field name="name">product_price_currency.kanban</field>

    <field name="model">product.product</field>

    <field name="inherit_id" ref="product.product_kanban_view" />

    <field name="arch" type="xml">

    <li position="inside">

    <field name="sale_price_currency_id"/>

    </li>

    </field>

    </record>

    <!-- Product Template Views -->

    <record id="product_template_kanban_view" model="ir.ui.view">

    <field name="name">product_price_currency.kanban</field>

    <field name="model">product.template</field>

    <field name="inherit_id" ref="product.product_template_kanban_view" />

    <field name="arch" type="xml">

    <li position="inside">

    <field name="sale_price_currency_id"/>

    </li>

    <li>

    <!-- <li invisible="not context.get('pricelist',False)"> -->

    <li>Pricelist Price: <field name="price"></field></li>

    </li>

    </field>

    </record>

    <record id="product_template_only_form_view" model="ir.ui.view">

    <field name="name">product_price_currency.form</field>

    <field name="model">product.template</field>

    <field name="inherit_id" ref="product.product_template_only_form_view" />

    <field name="arch" type="xml">

    <field name="list_price" position="after">

    <field name="sale_price_currency_id"/>

    <field name="cia_currency_list_price"/>

    </field>

    </field>

    </record>

    <record id="product_template_search_view" model="ir.ui.view">

    <field name="name">product_price_currency.search</field>

    <field name="model">product.template</field>

    <field name="inherit_id" ref="product.product_template_search_view" />

    <field name="arch" type="xml">

    <field name="company_id" position="after">

    <field name="sale_price_currency_id"/>

    </field>

    </field>

    </record>

    <record id="product_template_tree_view" model="ir.ui.view">

    <field name="name">product.template.product.tree</field>

    <field name="model">product.template</field>

    <field name="inherit_id" ref="product.product_template_tree_view" />

    <field name="arch" type="xml">

    <tree>

    <field name="lst_price"/>

    <field name="sale_price_currency_id" string="Currency"/>

    <field name="price" string="Pricelist Price" invisible="not context.get('pricelist',False)"/>

    </tree>

    </field>

    </record>

    </data>

    </openerp>



    this is product.py file



    # -*- coding: utf-8 -*-

    ##############################################################################

    # For copyright and license notices, see __openerp__.py file in module root

    # directory

    ##############################################################################

    from openerp import fields, models, api

    import openerp.addons.decimal_precision as dp

    class product_template(models.Model):

    _inherit = 'product.template'

    @api.model

    def get_currency_id(self):

    price_type_obj = self.env['product.price.type']

    price_type_ids = price_type_obj.search([('field', '=', 'list_price')])

    if not price_type_ids.currency_id:

    return self.env.user.company_id.currency_id

    return price_type_ids.currency_id

    sale_price_currency_id = fields.Many2one(

    'res.currency', 'Sale Price Currency',

    required=True, default=get_currency_id,

    help="Currency used for the Currency List Price."

    )

    cia_currency_list_price = fields.Float(

    'Company Currency Sale Price',

    digits=dp.get_precision('Product Price'),

    compute='get_cia_currency_list_price',

    help="Base price on company currency at actual exchange rate",

    )

    @api.multi

    @api.depends('list_price', 'sale_price_currency_id')

    def get_cia_currency_list_price(self):

    company_currency = self.env.user.company_id.currency_id

    for product in self:

    if (

    product.sale_price_currency_id and

    product.sale_price_currency_id != company_currency

    ):

    cia_currency_list_price = (

    product.sale_price_currency_id.compute(

    product.list_price, company_currency))

    else:

    cia_currency_list_price = product.list_price

    product.cia_currency_list_price = cia_currency_list_price

    def _price_get(self, cr, uid, products, ptype='list_price', context=None):

    if not context:

    context = {}

    res = super(product_template, self)._price_get(

    cr, uid, products, ptype=ptype, context=context)

    if ptype == 'list_price':

    pricetype_obj = self.pool.get('product.price.type')

    price_type_id = pricetype_obj.search(

    cr, uid, [('field', '=', ptype)])[0]

    price_type_currency_id = pricetype_obj.browse(

    cr, uid, price_type_id).currency_id.id

    for product in products:

    if product.sale_price_currency_id.id != price_type_currency_id:

    res[product.id] = self.pool.get('res.currency').compute(

    cr, uid, product.sale_price_currency_id.id,

    price_type_currency_id, res[product.id],

    context=context)

            return res

    0
    Avatar
    Descartar
    Enjoying the discussion? Don't just read, join in!

    Create an account today to enjoy exclusive features and engage with our awesome community!

    Registrar-se
    Related Posts Respostes Vistes Activitat
    Modifying currency_id on product.template Solved
    product product.product
    Avatar
    Avatar
    1
    de maig 21
    7451
    How to associate image with product variant?
    product product.product
    Avatar
    Avatar
    1
    de març 18
    8604
    Configure product wizard in sale product price need to show based on varient
    product product.product Product-variants
    Avatar
    Avatar
    1
    de jul. 25
    1051
    How to Inherit View For Specific Group and restrict Create and Edit ?
    product product.product product.template
    Avatar
    Avatar
    1
    de febr. 25
    2656
    Customer Article Number
    product product.product product_code
    Avatar
    Avatar
    Avatar
    Avatar
    3
    de març 24
    7119
    Community
    • Tutorials
    • Documentació
    • Fòrum
    Codi obert
    • Descarregar
    • GitHub
    • Runbot
    • Traduccions
    Serveis
    • Allotjament a Odoo.sh
    • Suport
    • Actualització
    • Desenvolupaments personalitzats
    • Educació
    • Troba un comptable
    • Troba un partner
    • Converteix-te en partner
    Sobre nosaltres
    • La nostra empresa
    • Actius de marca
    • Contacta amb nosaltres
    • Llocs de treball
    • Esdeveniments
    • Pòdcast
    • Blog
    • Clients
    • Informació legal • Privacitat
    • Seguretat
    الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

    Odoo és un conjunt d'aplicacions empresarials de codi obert que cobreix totes les necessitats de la teva empresa: CRM, comerç electrònic, comptabilitat, inventari, punt de venda, gestió de projectes, etc.

    La proposta única de valor d'Odoo és ser molt fàcil d'utilitzar i estar totalment integrat, ambdues alhora.

    Website made with

    Odoo Experience on YouTube

    1. Use the live chat to ask your questions.
    2. The operator answers within a few minutes.

    Live support on Youtube
    Watch now