В системе есть система с одинарным шрифтом с модулем расписания (самодельным). Как это работает: рабочий пришел - время прибытия написано в расписании - все хорошо. Но есть проблема: сотрудники, ответственные за создание таких записей, используют разные временные форматы: некоторые из них используют стандартный HH: MM (например, 10:30), а некоторые из них используют десятые HH: T (например, 10,5, что означает те же 10:30 или даже 10.125 (10:08)), поэтому мне пришлось сделать функцию конвертации.Обновление табличных полей
Работа выполнена, это работает, но я уверен, что есть способ ее оптимизировать. По крайней мере, последняя его часть.
@api.one
def time_button (self):
def ftohhmm(a):
if a:
a = re.sub(',' , '.' , a)
if (re.search ('^\-?\d+((,|\.)\d+)?$',a) >= 0):
if float(a) <24:
a = float(a) * 60
minutes = a%60
hours = a/60
if int(round(minutes)) < 10:
return str(int(hours))+":0"+str(int(round(minutes)))
else:
return str(int(hours))+":"+str(int(round(minutes)))
return a
if self.format:
for i in self.ids_string:
i.hours1=ftohhmm(i.hours1)
i.hours2=ftohhmm(i.hours2)
i.hours3=ftohhmm(i.hours3)
i.hours4=ftohhmm(i.hours4)
i.hours5=ftohhmm(i.hours5)
i.hours6=ftohhmm(i.hours6)
i.hours7=ftohhmm(i.hours7)
i.hours8=ftohhmm(i.hours8)
i.hours9=ftohhmm(i.hours9)
i.hours10=ftohhmm(i.hours10)
i.hours11=ftohhmm(i.hours11)
i.hours12=ftohhmm(i.hours12)
i.hours13=ftohhmm(i.hours13)
i.hours14=ftohhmm(i.hours14)
i.hours15=ftohhmm(i.hours15)
i.hours16=ftohhmm(i.hours16)
i.hours17=ftohhmm(i.hours17)
i.hours18=ftohhmm(i.hours18)
i.hours19=ftohhmm(i.hours19)
i.hours20=ftohhmm(i.hours20)
i.hours21=ftohhmm(i.hours21)
i.hours22=ftohhmm(i.hours22)
i.hours23=ftohhmm(i.hours23)
i.hours24=ftohhmm(i.hours24)
i.hours25=ftohhmm(i.hours25)
i.hours26=ftohhmm(i.hours26)
i.hours27=ftohhmm(i.hours27)
i.hours28=ftohhmm(i.hours28)
i.hours29=ftohhmm(i.hours29)
i.hours30=ftohhmm(i.hours30)
i.hours31=ftohhmm(i.hours31)
Hours1-31 - это столбцы на каждый день. Строки для рабочих. Клетки на перекрестках содержат точное время, когда пришел работник.
Любой совет, как оптимизировать его, было бы здорово. Благодаря!
Пожалуйста, введите код, удалив проводной '<------>'. – luoluo
Yup, заметил, что сразу после его опубликования. Совершено сейчас. – Scraggesh