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