تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
2907 أدوات العرض

Hi, I'm trying to sync our products quantities with our e-commerce platform.


I created a custom module and inherited product.product module and I'm overriding the write method as shown below


 def write(self, values):
record = super(product_product, self).write(values)

for record in self:

product_id = record.id
qty = record.qty_available


data ={
"model": "product.product",
"date": str(current_time),
"product_id" : str(product_id),
"available_qty": str(qty)
}
            
            requests.post('https://somelink/sendDataToEcommerce',json=data)


The write method is being triggered but the quantity is still remaining the same when retrieving it . I also tried it on the stock.move module but its also not changing. however in odoo its appearing fine.


How can I retrieve the on hand quantity after it has been modified manually

الصورة الرمزية
إهمال
أفضل إجابة

Hi Ahmad,

may be this is due to write method, because write method not return object.

You can create new function and return data from that function

def get_product_stock(self, product_id):

    product = self.env['product.product'].browse(product_id)    

    # current_time = SET CURRENT TIME HERE    

    data ={

            "model": "product.product",

            "date": str(current_time),

            "product_id" : str(product_id),

            "available_qty": str(product.qty_available)

            }

    return requests.post('https://somelink/sendDataToEcommerce',json=data)

--

Regards
Haresh Kansara
Odoo Application Engineer

https://join.skype.com/invite/dl0S6rgZ7GBF  
الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
16
يناير 21
17170
3
مايو 23
14586
2
سبتمبر 20
2915
3
أغسطس 24
2109
1
يناير 22
3135