Hello,
Is there any way to block any periods in the field SCHEDULED DATE to avoid scheduling a date when we can´t deliver goods, for example during holidays? Or just enable a timeframe, for example Monday to Friday 09-17hrs?
Thank you,
Mireia
Hello,
Is there any way to block any periods in the field SCHEDULED DATE to avoid scheduling a date when we can´t deliver goods, for example during holidays? Or just enable a timeframe, for example Monday to Friday 09-17hrs?
Thank you,
Mireia
Hi,
To add validation to the scheduled_date field, you can include the following conditions to restrict delivery scheduling to specific days and times and avoid holidays:
from odoo import api, fields, models, _
from odoo.exceptions import ValidationError
from datetime import time
@api.constrains('scheduled_date')
def _check_scheduled_date(self):
for picking in self:
if not picking.scheduled_date:
continue
local_date = fields.Datetime.context_timestamp(self, picking.scheduled_date)
if local_date.weekday() >= 5:
raise ValidationError(_('Deliveries cannot be scheduled on weekends'))
if not (time(9, 0) <= local_date.time() <= time(17, 0)):
raise ValidationError(_('Deliveries must be scheduled between 9:00 and 17:00'))
holiday_dates = self.env['resource.calendar.leaves'].search([
('date_from', '<=', picking.scheduled_date),
('date_to', '>=', picking.scheduled_date)
])
if holiday_dates:
raise ValidationError(_('Delivery cannot be scheduled on holidays'))
Hope it helps
Créez un compte dès aujourd'hui pour profiter de fonctionnalités exclusives et échanger avec notre formidable communauté !
S'inscrire| Publications associées | Réponses | Vues | Activité | |
|---|---|---|---|---|
|
2
sept. 25
|
2386 | |||
|
0
nov. 24
|
3472 | |||
|
1
févr. 24
|
3040 | |||
|
1
oct. 16
|
6199 | |||
|
2
juin 26
|
1939 |
1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.