Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
1957 Ansichten
@ api.onchange ( 'duration' ) 
def compute_status ( self ): 
if self .duration! = 0 :
for record in self .subscription:
record.write ({ 'subscription_months_calc' : record.duration + record.subscription_months_calc})
record. write ({ 'subscription_expiry_date' : record.subscription_registration_date + relativedelta (
months = record.subscription_months_calc)})


I have wrote the above function to make change into my another custom module. It is not changing the value nor it is giving an error. Kindly help me.

Avatar
Verwerfen
Beste Antwort

Hi,

Please try his code

from odoo.fields import Date
from dateutil.relativedelta import relativedelta

@api.onchange('duration')
def compute_status(self):
if self.duration: 
   
for record in self.subscription:
       
record.write({'subscription_months_calc': record.duration + record.subscription_months_calc})
       
       
if record.subscription_registration_date:
            expiry_date = Date.from_string(
record.subscription_registration_date) + relativedelta(
                months=
record.subscription_months_calc)
           
record.write({'subscription_expiry_date': Date.to_string(expiry_date)})

Hope it helps

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
1
Nov. 24
1174
1
Apr. 23
2526
7
Feb. 23
9027
0
Sept. 22
1691
1
Juli 22
1412