0
サービスオーダーに関連する注文番号を取得する必要があります。各サービスオーダーには多くのベンチオーダーがあります。例:サービス指図番号が223の場合、それに関連するベンチオーダーは223-1,223-2,223-3 ... SO数が553の場合、ベンチオーダー番号は553-1,553-2,553でなければなりません-3などodooの既存のフィールドを持つシーケンスを取得する10
私はいくつかの方法で試してみましたが、失敗しました。私を助けてください。私はそれを行うためにOdooシーケンスを使用しましたが、私が望むように出力を出すことはありませんでした。コードは次のとおりです(例:223は労働許可番号を意味します)。
class MyDepots_so(models.Model):
_name = 'my_depots_so'
so_parts_ids = fields.One2many('tiq_so_parts', 'so_p_id', string='Add Part Details', invisible='1')
so_bo_ids = fields.One2many('my_depots.so_bo',
so_work_authorization = fields.Integer("Work Authorization#")
class SO_Parts(models.Model):
_name = 'tiq_so_parts'
so_p_id = fields.Many2one('my_depots_so',string='Add Service Order Part', invisible='1')
@api.model
def create(self, vals):
sequence = self.env['ir.sequence'].next_by_code('so.benchorder') or '/'
str_sequence = str(sequence)
query = """SELECT so_work_authorization FROM my_depots_so WHERE id=%d """ % (so_p_id)
self.env.cr.execute(query)
result = self.env.cr.fetchall()
result_number = json.dumps(result, ensure_ascii=False)
strip_number = result_number.strip('\' \" [] ')
work_auth_no = str(strip_number)
work_auth_no += "-"
work_auth_no += str_sequence
私の答えはあなたの質問を解決しましたか? – forvas