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

In our sales order we have a customer Purchase order number for reference, we need to customise the invoice to add this. As far as I know, this field exists only in the sales order table. So far, I can edit the RML of the invoice but the problem comes trying to pull this reference. I think* the logic should be: if origin = SO130025 (our sale order number) then char = sales_order.customer_ref (sales order table, customer_ref field) else remove node

But I'm having trouble with putting it into code.

Anyone come across this?

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

Hi Bernard,

This should not be static. You should call a function (get_customer_ref(origin)) and the function returns the correct ref after searching for the correct sale order. So in your rml you should just have something like.

[[ o.get_customer_ref(origin) or RemoveParentNode(para) ]]

Thanks,

الصورة الرمزية
إهمال
الكاتب

So the function is declared in the python script that is used as the parser? sorry, first time developing for openerp.

Hi Bernard, yes right, you will need a parser to be written.

الكاتب

I've tried to use the following but I think my syntax is off: in RML: [[o.getcustomerPO(origin) or '' ]]

in parser.py: def getcustomerPO(self,so_num): saleorder = self.pool.get('sale.order') sale_oID = saleorder.search(self.cr, self.uid,[('name','=','so_num')],context=context) customerPO = saleorder.browse(self.cr, self.uid, sale_oID, context=context) return customerPO Really confused on where to go next...

المنشورات ذات الصلة الردود أدوات العرض النشاط
0
مارس 15
5364
2
فبراير 24
11930
1
ديسمبر 22
4545
1
أغسطس 22
4982
0
أغسطس 17
2901