Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

2
Avatar

Alex Comba

--Alex Comba--
1355
| 2 0 5
Torino, Italia
--Alex Comba--

Laureato in Matematica all'Università di Torino, FLOSS entusiasta, è tra i fondatori del LUG della sua città natale e nel 2007 fa dello sviluppo software il suo mestiere per approdare ad OpenERP nel 2012. Membro delegato Odoo Community Association, è altresì membro di diversi PSC all'interno della stessa associazione. Felice papà di due piccoli Ctrl+C Ctrl+V!

Alex Comba
Il 26/04/21, 12:10

Buongiorno,

il campo related sul Sale Order deve essere definito come segue:

fido_sale_field = fields.Many2one(related="partner_id.fido_field")
Di default non è storato, per renderlo tale devi aggiungere store=True. Per ulteriori info puoi fare riferimento a https://www.odoo.com/documentation/14.0/reference/orm.html#related-fields.

La tua risposta

0
Walter Bates
Il 26/04/21, 16:17

Salve, grazie per la risposta.

Ho seguito il tuo consiglio modificando come segue sale.py e partner.py:

partner.py

from odoo import models, fields, api
class ResPartner(models.Model):
    _inherit = 'res.partner'
    fido_field = fields.Integer(string = 'Fido Accordato')

sale.py

from odoo import models, fields, api
class SaleOrder(models.Model):
    _inherit = 'sale.order'
    fido_sale_field = fields.Many2one(related="partner_id.fido_field", store = True)

Purtroppo all'installazione del modulo ottengo il seguente errore.

Traceback (most recent call last):  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 656, in _handle_exception    return super(JsonRequest, self)._handle_exception(exception)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 314, in _handle_exception    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 87, in reraise    raise value  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 698, in dispatch    result = self._call_function(**self.params)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 346, in _call_function    return checked_call(self.db, *args, **kwargs)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\model.py", line 98, in wrapper    return f(dbname, *args, **kwargs)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 339, in checked_call    result = self.endpoint(*a, **kw)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 941, in __call__    return self.method(*args, **kw)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 519, in response_wrap    response = f(*args, **kw)  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 967, in call_button    action = self._call_kw(model, method, args, {})  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 955, in _call_kw    return call_kw(request.env[model], method, args, kwargs)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 759, in call_kw    return _call_kw_multi(method, model, args, kwargs)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 746, in _call_kw_multi    result = method(recs, *args, **kwargs)  File "<decorator-gen-61>", line 2, in button_immediate_install  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 74, in check_and_log    return method(self, *args, **kwargs)  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 445, in button_immediate_install    return self._button_immediate_function(type(self).button_install)  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 561, in _button_immediate_function    modules.registry.Registry.new(self._cr.dbname, update_module=True)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 86, in new    odoo.modules.load_modules(registry._db, force_demo, status, update_module)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 421, in load_modules    loaded_modules, update_module, models_to_check)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 313, in load_marked_modules    perform_checks=perform_checks, models_to_check=models_to_check  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 179, in load_module_graph    load_openerp_module(package.name)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\module.py", line 368, in load_openerp_module    __import__('odoo.addons.' + module_name)  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\module.py", line 82, in load_module    exec(open(modfile, 'rb').read(), new_mod.__dict__)  File "<string>", line 4, in <module>  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\my_module\models\__init__.py", line 3, in <module>    from . import modelsImportError: cannot import name 'models'



La tua risposta

1
Avatar

Alex Comba

--Alex Comba--
1355
| 2 0 5
Torino, Italia
--Alex Comba--

Laureato in Matematica all'Università di Torino, FLOSS entusiasta, è tra i fondatori del LUG della sua città natale e nel 2007 fa dello sviluppo software il suo mestiere per approdare ad OpenERP nel 2012. Membro delegato Odoo Community Association, è altresì membro di diversi PSC all'interno della stessa associazione. Felice papà di due piccoli Ctrl+C Ctrl+V!

Alex Comba
Il 26/04/21, 17:16

Il file __init__.py lo devi spostare nella root del modulo. Il tuo modulo dovrà avere la seg. struttura:

my_module:
   __init__.py: 
  models
     __init.py:
partner.py     sale.py
dove i due __init__ file contengono rispettivamente:

from . import models

from . import partner
from . import sale

La tua risposta


1
Avatar

Davide Corio

--Davide Corio--
1262
| 5 2 7
Bricherasio, Italia
--Davide Corio--

Programma qualsiasi cosa abbia a portata di mano dal 1997, ma non gli piace farsi chiamare "sviluppatore": il mondo del software è più interessante quando osservato con gli occhi di chi usa gli strumenti IT. Da più di 10 anni si occupa di consulenza legata esclusivamente ad Odoo, un framework basato su Python per la costruzione di soluzioni ERP.

Davide Corio
Il 27/04/21, 09:07

Ciao,

nel caso in cui non lo sapessi, ci sono alcuni moduli OCA per la gestione dei fidi, del rischio, etc...

Li trovi qui:

https://github.com/OCA/credit-control/


La tua risposta

Resta informato

Informazioni sulla comunità

Forum ufficiale dell'Associazione Odoo Italia Leggi le linee guida

Strumenti di richiesta

63 follower

Statistiche

Richiesta del: 26/04/21, 11:55
Vista: 205 volte
Ultimo aggiornamento: 27/04/21, 09:07