+1 for the idea and a patch to better understand the solution.Thanks,
Michael Am 25.01.18 um 12:13 schrieb Taher Alkhateeb:
Hi Nicolas, The concept sounds interesting, but I'm having a bit of difficulty understanding the design from your explanation. Perhaps a JIRA with a PoC patch might help put it in perspective. But overall I like the general idea of allowing overridden PDF templates. On Tue, Jan 23, 2018 at 11:10 PM, Nicolas Malin <[email protected]> wrote:Hi all, Currently, I work on a pdf invoice creation for a personal project and I wish go for this time to improve the printable document configuration (like order pdf, invoice pdf, shipment pdf, and soon) related to the organizational party that at its origin. To realize it I started a POC where a add a new entity PartyAcctgPrefTplDoc (maybe you have a better name) that associate an organizational party (PartyAcctgPreference), a documentType (invoiceType, orderType...) and a content. The content return the screen to use (as blog concept) and the standard document screen return the given screen or call the default screen is empty. With this improvement, you can create your own pdf template document in your custom plugin with associate data and use it without any framework modification. More, if you have a specific case to rendering different document following functional case, you can implement it on your screen. Also, we can have a standard choice to rendering your document from a content, manageable from PartyContent association. The life isn't pretty ? (french expression, if you not understant, just ignore it :) Feel free if you have some remarks, I will create an issue for each document type manageable by this concept to detail more this idea. For example : Content data --------------------- <DataResource dataResourceId="MY_TPL_SALES_INV" dataResourceTypeId="URL_RESOURCE" dataResourceName="My templage sales invoice" mimeTypeId="application/pdf" objectInfo="component://myplugin/widget/AccountingPrintScreens.xml#MyBeautyfullInvoicePDF"/> <Content contentId="MY_TPL_SALES_INV" contentTypeId="DOCUMENT" dataResourceId="MY_TPL_SALES_INV" contentName="My Beautyfull template sales invoice with flowers"/> <ContentPurposeType contentPusposeTypeId="INVOICE_TEMPLATE" description="Content dedicate to rendering invoices"/> <PartyAcctgPrefTplDoc partyId="Company" invoiceTypeId="SALES_INVOICE" contentId="MY_TPL_SALES_INV" fromDate="2000-01-01 00:00:00" /> ---------------------- Standard screen (application/accounting/widget/AccountinPrintScreens.xml) ------------------------- <screen name="InvoicePDF">... <actions><script location="component://accounting/groovyScripts/invoice/GetInvoiceTemplateScreen.groovy"/></actions> <widgets> <include-screen name="${screenName}" location="${screenLocation}"/> </widgets> </screen> <screen name="DefaultInvoicePDF"> <section>..... ------------------------ GetInvoiceTemplateScreen.groovy return DefaultInvoicePDF screen if didn't found any configuration for the invoice.partyIdFrom (for sales) or invoice.partyId (for purchase) Cheers, Nicolas -- logoNrd <https://nereide.fr/> Nicolas Malin The apache way <http://theapacheway.com/> : *Charity* Apache’s mission is providing software for the public good. [email protected] 8 rue des Déportés 37000 TOURS, 02 47 50 30 54 Apache OFBiz <http://ofbiz.apache.org/>|The Apache Way <http://theapacheway.com/>|réseau LE <http://www.libre-entreprise.org/>
smime.p7s
Description: S/MIME Cryptographic Signature
