Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
2008 Vistas

Hello, I have this code.


class HrExpenseExtended(models.Model):

    _inherit = 'hr.expense'


    def copy_expense(self,default=None):

        default = dict(default or {})

        default['name'] = self.name + ' (Copy)'

        new_log = super(HrExpenseExtended,self).copy(default)

        return {

            # 'name': self.order_id,

            'res_model': 'hr.expense',

            'type': 'ir.actions.act_window',

            'context': {},

            'view_mode': 'form',

            'view_type': 'form',

            'res_id': new_log.id,

            'view_id': self.env.ref("hr_expense.hr_expense_view_form").id,

            'target': 'current'

        }


There is a date field in the hr.expense model, what can I do so that when the user duplicates a record, that field can be automatically increased by 1 month?

Example: If you have a record created with a date of February 10, when I duplicate it, does the duplicate record appear with March 10?

Odoo 13 community, thanks and sorry for the inconvenience.

Avatar
Descartar
Mejor respuesta

Hi 

You can import date_utlis in Python, and add one more month to the date. Here is an example 

from odoo.tools import date_utils
default['date'] = date_utils.add(self.date, months=1)

Regards




Avatar
Descartar
Autor

Greetings, and thanks for answering.
When I put that line of code I get this error:

psycopg2.errors.InvalidDatetimeFormat: invalid input syntax for type date: "31"
LINE 1: ... 30, (now() at time zone 'UTC'), 83, NULL, 2, 33, '31', 'Pag...

Autor

False alert, I already solved the problem, thank you very much!

Publicaciones relacionadas Respuestas Vistas Actividad
3
jun 25
1074
1
ene 25
17966
3
ago 24
15277
2
jul 24
2300
2
may 24
2583