Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
Buenas,
muchas gracias por ayudarme con la consulta.
Implementando tu solución me sale el siguiente error:
forbidden opcode(s) in 'from datetime import datetime # Import datetime module\n\nfor record in records:\n record.x_studio_diagnostico_fecha = datetime.now() # Assign the current date and time': IMPORT_NAME, IMPORT_FROM, STORE_ATTR
Buscando el error en Copilot está relacionado con problemas de seguridad y me propone el siguiente código utilizando campos computados pero que me lleva al mismo error (forbidden opcode (s)).
from odoo import models, fields, api from datetime import datetime class YourModel(models.Model): _inherit = 'your.model' x_studio_diagnostico_fecha = fields.Datetime(string="Diagnóstico Fecha", compute='_compute_diagnostico_fecha', store=True) @api.depends('some_field') def _compute_diagnostico_fecha(self): for record in self: record.x_studio_diagnostico_fecha = datetime.today()
Existe alguna forma de hacerlo?
Un saludo!
Your Python code for the server action appears to be mostly correct. However, I would suggest ensuring a couple of best practices to make it robust and prevent potential errors:
Here is the corrected Python code:
from datetime import datetime # Import datetime module for record in records: record.x_studio_diagnostico_fecha = datetime.now() # Assign the current date and time
Steps to Create the Server Action
-
Navigate to the Server Actions Menu:
- Go to Settings > Technical > Automation > Server Actions.
- Click Create to define a new server action.
-
Set Up the Action:
- Name: Provide a meaningful name (e.g., "Set Diagnostic Date").
- Model: Select the model on which the action will run.
- Action To Do: Select Execute Python Code.
- Code: Paste the above Python script into the code editor.
-
Trigger the Action:
- Attach the server action to a trigger, such as:
- A button in the form view.
- An automated action (e.g., a scheduled job or a record change event).
- Attach the server action to a trigger, such as:
Code Explanation
-
datetime.now():
- This fetches the current date and time.
- If you only need the date (without the time), use datetime.today().date().
-
x_studio_diagnostico_fecha:
- Replace this with the actual technical name of your custom field where the date is stored.
Example Use Case
If this server action is attached to a button, clicking the button will update the x_studio_diagnostico_fecha field with the current date and time.
Let me know if you encounter issues while implementing this!
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
1
3月 25
|
409 | ||
|
0
3月 25
|
2 | ||
|
1
1月 25
|
457 | ||
|
0
7月 24
|
700 |