Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
1337 Tampilan

I would like to automate the calculation of Customer Delivery Time on my Products.

I want to use the longest Vendor Delivery Lead Time.

How easy is this?

Avatar
Buang
Jawaban Terbai

UPDATE: A Simpler Method, without the Chatter Notification:

max(record.seller_ids.mapped('delay'), default=3)


You can create a Python Code based Server Action:



Here a default lead time of 3 days will be used if a Vendor has not yet been added to the Product Purchase tab and there will be a Chatter Note added if a Vendor is found.


# custom_ray_odoo

# loop through all selected product(s)
for record in records:
    
    # set lead time to default 3 days
    lead_time = 3
    found_vendor = False
    
    # loop through all the vendor(s) on the purchase tab
    for vendor_price_line in record.seller_ids:
        if vendor_price_line.delay > lead_time:
            lead_time = vendor_price_line.delay
            found_vendor = vendor_price_line.partner_id.name
    
    # update the record
    record.update({
      'sale_delay': lead_time
    })
    
    if found_vendor:
      # notify via chatter
      body='Customer Lead Time updated to %s days based on %s' % (lead_time, found_vendor)
      record.message_post(body=body)


Note: Enterprise Customers - please contact your Odoo Digital Advisor or Odoo Partner if you want to add this customization to your database so it is fully supported. The code here is a prototype that does not support Product Variants and makes assumptions about how your database is setup. It won't necessarily work "as is" for all Users. 

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
5
Nov 18
6070
1
Okt 24
1350
customer_lead V16 Diselesaikan
1
Okt 23
1387
1
Sep 17
9147
1
Mei 15
5477