Python 奥多设定条件或
在自定义模块中,我遇到以下情况:Python 奥多设定条件或,python,module,odoo,Python,Module,Odoo,在自定义模块中,我遇到以下情况: @api.onchange('barcode') def barcode_scanning(self): """Barcode decode.""" if self.barcode: scan_barcode = self.barcode barcode = scan_barcode qty_position = scan_barcode.find("
@api.onchange('barcode')
def barcode_scanning(self):
"""Barcode decode."""
if self.barcode:
scan_barcode = self.barcode
barcode = scan_barcode
qty_position = scan_barcode.find("'")
price_position = scan_barcode.find('/')
if price_position > 0:
price = scan_barcode[:price_position].replace(',','.')
barcode = scan_barcode[price_position + 1:]
else:
price = 0
if qty_position > 0:
qty = scan_barcode[price_position + 1:qty_position].replace(',','.')
barcode = scan_barcode[qty_position + 1:]
else:
if float(price) > 0:
qty = 0
else:
qty = 1
我需要:数量位置=扫描条形码。查找(“”)
命令查找“'”或“”。
有谁能帮我写修改过的代码来查找“'”或“。
我不是开发人员,但我是用户,我不知道如何编辑此代码。
感谢为了保持简单,我添加了一个if语句,检查前面的
find
函数是否找到了qty\u position=scan\u条码。find(“”)如果没有找到它,那么find
如果存在qty\u position=scan\u条码。find(“”
请看下面的代码。如果这有帮助的话
def barcode_scanning(self):
"""Barcode decode."""
if self.barcode:
scan_barcode = self.barcode
barcode = scan_barcode
qty_position = scan_barcode.find("'")
if qty_position < 0:
qty_position = scan_barcode.find("")
price_position = scan_barcode.find('/')
if price_position > 0:
price = scan_barcode[:price_position].replace(',','.')
barcode = scan_barcode[price_position + 1:]
else:
price = 0
if qty_position > 0:
qty = scan_barcode[price_position + 1:qty_position].replace(',','.')
barcode = scan_barcode[qty_position + 1:]
else:
if float(price) > 0:
qty = 0
else:
qty = 1
def条码扫描(自):
“”“条形码解码。”“”
如果是自助条形码:
扫描\条形码=自身条形码
条形码=扫描条形码
数量位置=扫描条形码。查找(“”)
如果数量位置<0:
数量\位置=扫描\条形码。查找(“”)
价格\位置=扫描\条形码。查找('/'))
如果价格位置>0:
price=扫描条形码[:price\u position]。替换('、'、'。)
条形码=扫描条形码[价格位置+1:]
其他:
价格=0
如果数量位置>0:
数量=扫描条形码[价格位置+1:数量位置]。替换(',','。)
条形码=扫描条形码[数量位置+1:]
其他:
如果浮动(价格)>0:
数量=0
其他:
数量=1
您能提供更多信息吗,比如条形码的外观。您好,Shibu Tewar,代码已更新,谢谢