Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
7971 มุมมอง

Is there away to add product's internal reference as prefix to a sequence? more specifically, sequence "Serial Number"?

Details: 

In Manufacturing a product and clicking on button "Produce", user must create a new LOT for manufactured product, this is the screen of creating new LOT, notice that Serial Number is generated automatically :


I want to customise the format of this serial number to be i.e : CO-0000039 , CO is the internal reference of Cookies in the example above, but for another product it could be PO-0000039 or NU-00000039...etc, which means sequence of serial number must be dynamic and reads product internal reference, I opened the edit form of sequence "Serial Number" which I think this is the one the system is using,but I couldn't figure out what to type in Prefix? how to do that??


อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Sure you can do it, at the time of creating you can set the prefix or suffix to the sequence based on your preference.

Look at the below code, I have done the Prefix for my logic, you may refer the same do it for yours.


@api.model

def _generate_Sequence(self, vals):

    cr, context = self._cr, self._context

    refNo = ''

    sale_type = vals.get('sale_type', '')

    if sale_type == 'quote': refNo += 'CQ-'

    else: refNo += 'SO-'

    cr.execute(""" select id from sale_order where name ilike '""" + str(refNo) + """%'

        order by to_number(substr(name,(length('""" + str(refNo) + """')+1)),'9999999999')

        desc limit 1

        """)

    rec = cr.fetchone()

    if rec:

        case = self.sudo().browse(rec[0])

        auto_gen = case.name[len(refNo) : ]

        refNo = refNo + str(int(auto_gen) + 1).zfill(5)

    else:

        refNo = refNo + '00001'

return refNo


อวตาร
ละทิ้ง
ผู้เขียน

I'm familiar with development but not sure where to use/write this kind of code, I'm guessing you're overriding the sequence method? I can't find this method in the source code, any help in this regard would be great, thanks!

This method is written by me, you will never find it any of standard module, you call this method in Create method of ur object.

Related Posts ตอบกลับ มุมมอง กิจกรรม
Choose sequence to use in production Lot แก้ไขแล้ว
2
พ.ย. 21
7339
0
พ.ย. 15
4252
Sale Order sequence based on Order type แก้ไขแล้ว
1
มี.ค. 24
9304
0
พ.ค. 21
2142
0
ก.ย. 23
1855