跳至內容
選單
此問題已被標幟
1 回覆
2019 瀏覽次數

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.

頭像
捨棄
最佳答案

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




頭像
捨棄
作者

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...

作者

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

相關帖文 回覆 瀏覽次數 活動
3
6月 25
1075
1
1月 25
17968
3
8月 24
15281
2
7月 24
2301
2
5月 24
2592