如何在odoo发票报告上打印页面小计?

时间:2015-11-03 10:13:26

标签: openerp rml qweb

我使用qweb打印我的发票,当报告有很多页面时,我想计算在页面末尾打印它的行总小数之和。 我可以使用生成的报告pdf使用python来完成它,但在QWEB我不能。 任何人都可以提供帮助,即使是RML吗?

1 个答案:

答案 0 :(得分:1)

您只需在将PDF发送到浏览器之前捕获它。 如果您未使用附件修改create_single_pdf()report_sxw.py/usr/lib/python2.7/openerp/report/ return pdf, report_xml.report_typepdf = generateMyPDF(s.getvalue(title(report_xml.name), pdf))之前create_source_pdf(),请return s.getvalue(), results[0][1]pdf = generateMyPDF(report_xml.name, s.getvalue()) 更改最后一个if语句return pdf, results[0][1]应该是 import StringIO from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter from pyPdf import PdfFileReader, PdfFileWriter def generateMyPDF(titles, pdf) if title in titles:#title is used here to check if this is the right document to modify (by default title is the string argument in your report action) input = PdfFileReader(cStringIO.StringIO(pdf)) #calculate your subtotals #parse pages to calculate subtotals, you can use regex to calculate subtotal,because it depend on your modified invoice. for index in range(len(subtotals)): packet = StringIO.StringIO() can = canvas.Canvas(packet, pagesize=letter) #draw your subtotal can.save() packet.seek(index) new_pdf = PdfFileReader(packet) page = input.getPage(index) page.mergePage(new_pdf.getPage(0)) output.addPage(page) output.write(s) return s.getvalue() or pdf, , report_xml.report_type get_pdf

如果您使用的是rml报告:

report.py

如果您使用的是QWEB,我猜您必须使用相同的方法修改addons/report/models/下的Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); String startFormattedDate = sdf.format(date); System.out.println(startFormattedDate); Thread.sleep(10000L); String endFormattedDate = sdf.format(date); System.out.println(endFormattedDate); 中的$("#filename").change

如果您找到QWEB解决方案,请分享。