Is there some kind of endpoint or get protocol to download a quotation_order printout report without having to use the Odoo GUI?
Thanks
Odoo is the world's easiest all-in-one management software.
 It includes hundreds of business apps:
Is there some kind of endpoint or get protocol to download a quotation_order printout report without having to use the Odoo GUI?
Thanks
Here's my method for generating quotation_order pdf's with Java if anyone finds this in the future:
private void generateOrderReport(final Object internalOdooQuoteId) throws XmlRpcException, IOException {
    logger.info("generating quote report pdf for order #: " + internalOdooQuoteId);
    final Object internalOdooQuoteIds = asList((Object[]) models.execute("execute_kw", asList(
      db, uid, password,
      "sale.order", "search",
      asList(asList(
        asList("id", "=", internalOdooQuoteId)
      )),
      new HashMap() {{
        put("limit", 1);
      }}
    )));
    final XmlRpcClientConfigImpl report_config = new XmlRpcClientConfigImpl();
    report_config.setServerURL(
      new URL(String.format("%s/xmlrpc/2/report", url)));
    final Map<String, Object> result = (Map<String, Object>)models.execute(
      report_config, "render_report", asList(
        db, uid, password,
        "sale.report_saleorder",
        internalOdooQuoteIds));
    final byte[] report_data = DatatypeConverter.parseBase64Binary(
      (String)result.get("result"));
    File file = new File("records/quotation_order.pdf");
    FileUtils.writeByteArrayToFile(file, report_data);
  }
            If you are looking to get the report of a sale, suppose you have to print the Quotation/Order of the sales having the id is 5, then you can get the report from the url as follows :- 0.0.0.0:8014/report/pdf/sale.report_sale_order/5
Do you know how I could do this with the Java example from the docs? sale.report_sale_order doesn't seem to be a model:
final Object[] reportIds = (Object[])models.execute(
"execute_kw", asList(
db, uid, password,
"sale.order", "search",
asList(asList(
))
));
System.out.println(reportIds);
final XmlRpcClientConfigImpl report_config = new XmlRpcClientConfigImpl();
report_config.setServerURL(
new URL(String.format("%s/xmlrpc/2/report", url)));
final Map<String, Object> result = (Map<String, Object>)models.execute(
report_config, "render_report", asList(
db, uid, password,
"sale.report_sale_order",
reportIds));
final byte[] report_data = DatatypeConverter.parseBase64Binary(
(String)result.get("result"));
File file = new File("proposal/odooOutput.pdf");
byte[] bytes = Base64.decodeBase64(report_data);
FileUtils.writeByteArrayToFile(file, report_data);
Try this : 0.0.0.0:8014/report/pdf/sale.report_saleorder/5
Hi,
To get the reports from the code without going to the user interface you can check this, after authenticating you can choose any of this methods explained in it :
https://www.odoo.com/forum/help-1/question/how-to-print-report-from-website-121485
Suppose if you have to print the Quotation/Order in the sale order having the id 5, then from url you can get the report like this : http://0.0.0.0:8014/report/pdf/sale.report_saleorder/5
Thanks
Create an account today to enjoy exclusive features and engage with our awesome community!
Tilmeld dig| Related Posts | Besvarelser | Visninger | Aktivitet | |
|---|---|---|---|---|
|  | 1 jul. 16  | 2704 | ||
|  | 1 dec. 24  | 1239 | ||
|  | 1 feb. 19  | 6816 | ||
|  | 1 maj 25  | 1589 | ||
|  | 1 nov. 24  | 2285 |