Currently the invoiceId resolve process is define on PartyAcctgPreference by a enumeration. The service getNextInvoiceId analyse enumeration to active code correponding to enumeration.
I propose pass enumeration to CustumMethod that permit to add more easier a new resolve process. Just define a new CusthomMethod and associate to PartyAcctgPreference. It's possible to add this by hot-deploy compenents without change accounting code or add many unreadable function.
The patch contains :
- Entity modiication : pass enumeration to deprecated and add custumMethod attribute/relation
- Add service enforced ans restart define previously by enumeration
- Implement getNextSeqId service by origin call service to permet analyse and resolve new id by all information present in context
- Add error message if PartyAcctgPreference not define.
- Apply on invoice, quote an order
To test just ant clean-all && ant run-install and create quote, order and invoice
Thanks to Leila Mekika for the help