Gastos_anuales_Odoo_TI
This commit is contained in:
commit
d0ccfb7f82
64
Gastos_anuales_Odoo_TI.py
Normal file
64
Gastos_anuales_Odoo_TI.py
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
|
||||||
|
|
||||||
|
import xmlrpc.client
|
||||||
|
import xlsxwriter
|
||||||
|
|
||||||
|
workbook = xlsxwriter.Workbook('query.xlsx')
|
||||||
|
worksheet = workbook.add_worksheet()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
query = """
|
||||||
|
SELECT
|
||||||
|
COALESCE(hb.name, 'No Warehouse') AS warehouse_name,
|
||||||
|
COALESCE(prt.name, 'No Type') AS type_name,
|
||||||
|
COALESCE(pt.name, 'No product') AS product,
|
||||||
|
COALESCE(pol.name, 'No Name') AS line_name,
|
||||||
|
COALESCE(rp.name, 'No Partner') AS partner_name,
|
||||||
|
COALESCE(po.name, 'No Order') AS order_name,
|
||||||
|
COALESCE(pol.price_unit, 0) AS price_unit,
|
||||||
|
COALESCE(pol.product_qty, 0) AS product_qty,
|
||||||
|
COALESCE(pr.ordering_date, '2000-01-01') AS ordering_date,
|
||||||
|
COALESCE(pol.price_subtotal, 0) AS price_subtotal
|
||||||
|
FROM purchase_requisition pr
|
||||||
|
INNER JOIN purchase_requisition_type prt ON pr.type_id = prt.id
|
||||||
|
INNER JOIN purchase_order po ON po.origin = pr.name
|
||||||
|
INNER JOIN purchase_order_line pol ON pol.order_id = po.id
|
||||||
|
LEFT JOIN account_move am ON po.name = am.invoice_origin
|
||||||
|
LEFT JOIN account_move_line aml ON am.id = aml.move_id
|
||||||
|
INNER JOIN product_product pp ON pol.product_id = pp.id
|
||||||
|
INNER JOIN product_template pt ON pp.product_tmpl_id = pt.id
|
||||||
|
LEFT JOIN res_partner rp ON po.partner_id = rp.id
|
||||||
|
LEFT JOIN stock_warehouse sw ON pr.warehouse_id = sw.id
|
||||||
|
INNER JOIN res_partner rpw ON sw.partner_id = rpw.id
|
||||||
|
INNER JOIN hr_branch hb ON rpw.id = hb.partner_id
|
||||||
|
WHERE
|
||||||
|
pr.user_id in (274,901,13,1823)
|
||||||
|
and pr.ordering_date >= '2024-01-01'
|
||||||
|
and pr.ordering_date <= '2024-12-31'
|
||||||
|
and am.state = 'posted'
|
||||||
|
and am.invoice_type_code = '01'
|
||||||
|
group by
|
||||||
|
pol.name,po.name,hb.name,prt.name,pt.name,rp.name,pol.price_unit,pol.product_qty,pr.ordering_date,pol.price_subtotal
|
||||||
|
order by
|
||||||
|
pr.ordering_date;
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
print("Query:", query)
|
||||||
|
|
||||||
|
result = models.execute_kw(db, uid, password, 'res.company', 'query_dictfetchall', [1, query])
|
||||||
|
|
||||||
|
print(len(result))
|
||||||
|
|
||||||
|
column_headers = ['Destino','Categoria','product','Descripción','Proovedor','Factura','Costo','Cantidad','Fecha','Total']
|
||||||
|
for col_num, header in enumerate(column_headers):
|
||||||
|
worksheet.write(0, col_num, header)
|
||||||
|
#
|
||||||
|
#
|
||||||
|
for i, value in enumerate(result):
|
||||||
|
for j, key in enumerate(value.keys()):
|
||||||
|
worksheet.write(i+1, j, value[key])
|
||||||
|
# print(value[key])
|
||||||
|
workbook.close()
|
||||||
|
print('Done!')
|
||||||
Loading…
Reference in New Issue
Block a user