Odoo začátek vývoje modulu
příklady pro command shell a jak se dostat do odoo v dockeru
připojení do stroje:
docker exec -u 0 -it 6fbf31dba1f2 /bin/bash
připojení do běžící odoo databáze:
odoo shell -d "UGexpHR"
pokud zapisuju data musím na konci použít
self.env.cr.commit()
projekt generování docházky
nastavení: Vybrat který typy práce se mají zahrnout do časového rámce pro výpočet docházky.
import operator
from datetime import datetime
self.env["hr.attendance"].search_read()
Attendance.create_lastmonth_attendance()
check_in_str='18/08/2022 08:00:00'
check_out_str='18/08/2022 12:00:00'
příkaz pro vyhledávání: - tady bude muset přibýt sčítač hodin práce a práce přesčas po dnech a zaměstnancích
práce na projektu id=6
ts=self.env["account.analytic.line"].search_read([('heo_id','>','0'),('odoo_sync_date','>','2022-05-01'),"&",('odoo_sync_date','<','2022-06-01'), ('work_type_id','in',(6,8))])
práce přesčas id=8
přičíst přesčasy k základnímu času timesheetů
ts.sort(key=operator.itemgetter('employee_id','date'))
import pandas
načtení dat z dictionary
table=pandas.DataFrame.from_dict(ts)
groupování
table.groupby(['employee_id','date'], as_index=False)["unit_amount"].sum()
dict=table.to_dict('records')
vypsání záznamů pro založení, ještě je potřeba přidat den v týdnu pro každý záznam
načtení pracovního kalendáře pro zaměstnance: tady musím počítat s podmínkou, že když jeden den přesáhnu určitý počet hodin to co zbyde musím přidat k počáteční hodině. Musí mít čas na spánek.
administrator_id=1
vytvoření pracovních hodin od do:
resource_cal_attendance=self.env['resource.calendar.attendance'].search_read([('calendar_id','=', 'Výchozí')])
vstupní čas a výstupní čas je potřeba upravit o generované číslo vstup do mínusu a výstup do plusu
import random