Se rendre au contenu
Menu
Cette question a été signalée
5 Réponses
21144 Vues

Hello, 


Currenty sales order date is automatically set as today's date.

Where to change it so that we can update it manually?

Thanks in advance

Avatar
Ignorer
Meilleure réponse

Hello, you've probably solved this already, but I see that when searching anything for this issue, your question pops out first. Just to make things clear, I've sorted this out completely easily:

When you apply any changes to the PY files, you have to restart your server for the changes to take place. The comment (#) of line 783, does make the order date to become the same as quotation's date, when you confirm the order, but it doesn't make the field editable. 

To make the field editable, in the same sale.py file, you have to add 'sale': [('readonly'False)] and the date field becomes editable. Here is what i've done:

Line 155:     date_order = fields.Datetime(string='Order Date'required=Truereadonly=Trueindex=Truestates={'draft': [('readonly'False)], 'sent': [('readonly'False)], 'sale': [('readonly'False)]}, copy=Falsedefault=fields.Datetime.now, help="Creation date of draft/sent orders,\nConfirmation date of confirmed orders.")

Avatar
Ignorer
Meilleure réponse

Hi,

In order to edit the order, you need to change the readonly attribute of order_date field.

Create a custom module,and inherit sale.order model.Then give the code as shown below.


class SaleOrder(models.Model):
    _inherit = 'sale.order'
CUSTOM_FIELD_STATES = {
    state: [('readonly', False)]
    for state in {'sale', 'done', 'cancel'}
}
    date_order = fields.Datetime(
        string="Order Date",
        states=CUSTOM_FIELD_STATES,
        copy=False, required=True,
        help="Creation date of draft/sent orders,\nConfirmation date of "
             "confirmed orders.")


Hope it helps


Avatar
Ignorer
Meilleure réponse

Hi,

did you resolve this one?

I also want to manually update the Sale Order confirmation date.

I already tried to comment out the line 783# 'date_order': fields.Datetime.now()
but it is not working. It still auto fill the order date and can not be changed any more 

Avatar
Ignorer
Auteur Meilleure réponse

as I am not a technical personal, I am not sure about your reply and don't know where to apply the change.

Could you please be more specific? thanks in advance

 
Avatar
Ignorer

you cannot achieve this by editing in the front end, either you have to make changes directly in the odoo source code(which is not a good way) or you have to create a custom module and inherit the method action_confirm in the sale.order model

Auteur

Ok so I would like to do it from the odoo source code, any chance you can help me?

Meilleure réponse

Yeah i have the same problem, I have commented the line et it still gives me today's date and time.

how do you restart the server ?

Thanks

Avatar
Ignorer
Publications associées Réponses Vues Activité
0
avr. 22
1927
2
avr. 21
7068
1
juil. 16
3994
1
mars 15
3335
0
janv. 25
586