跳至内容
菜单
此问题已终结
1 回复
1369 查看

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?

形象
丢弃
最佳答案

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. 

形象
丢弃
相关帖文 回复 查看 活动
5
11月 18
6162
1
10月 24
1393
1
10月 23
1421
1
9月 17
9199
1
5月 15
5517