Hello,
I am new in odoo. I wanted to generate a report - an excel format. I am looking for a python approach example for these sample data.
This my xml for the qweb in my pdf format:
<tbody class="table_data">
<t t-set="pickings" t-value="o.get_pickings(date_start, date_end)" />
<t t-foreach="pickings" t-as="pick">
<t t-set="line_items" t-value="o.get_line_items(pick)"/>
<t t-foreach="line_items" t-as="line">
<tr>
<td><span t-esc="i"/><t t-set="i" t-value="i+1"/></td>
<td><span t-esc="line.get('partner_name')" /></td>
<td><span t-esc="line.get('si_number')" /></td>
<td><span t-esc="line.get('product_name')" /></td>
<td><span t-esc="line.get('done_qty')" /></td>
<t t-set="qty" t-value="qty + line.get('done_qty')"/>
</tr>
</t>
</t>
<tr class="total">
<td colspan="3"></td>
<td><span>Total:</span></td>
<td><span t-esc="qty" /></td>
</tr>
</tbody>
I tried to display this in excel but got error.
the items:
@api.multi
def get_line_items(self, picking_id):
line_items = picking_id.pack_operation_ids
items = []
for item in line_items:
items.append({"product_name": item.product_id.name, "done_qty": item.qty_done,
"si_number": " ".join([ invoice.name for invoice in picking_id.sale_id.invoice_ids]),
"partner_name": picking_id.partner_id.name })
return items
for excel:
sheet.write(0, 1, "REPORT", header_title)
sheet.write(4, 0, "CUSTOMER NAME")
sheet.write(4, 1, "I.S. #")
sheet.write(4, 2, "PRODUCT NAME")
sheet.write(4, 3, "NO. OF BAGS")
get_line_items = self.get_line_items(picking_id)
for i in get_line_items:
print("get_line_items",i)
error:
get_line_items = self.get_line_items(picking_id) NameError: global name 'picking_id' is not defined