David, reading MInvoice.voidIt I see it
was developed intentionally that way.
Void calls reverseCorrectIt and if it founds the period is closed
then it calls reverseAccrualIt
I guess the thinking was like -> user asked to void a document
- so let's void it by any means possible.
But I see your point, I think for better usability and more fine
grainy control on Document Action Role Access would be better to
just show the options that are valid for the specific status and
point in time of the document.
I attached a possible patch (for r2.1) on the ticket you opened
https://idempiere.atlassian.net/browse/IDEMPIERE-2687
Question for community:
The proposed patch:
* shows Void just for non-completed documents
* shows ReverseCorrect just for completed documents in open
periods
Is there any value showing Void to the user and executing
ReverseCorrect instead?
I think we can give a user permission to Void (drafted documents)
but not to ReverseCorrect (completed documents) - that's not
possible at this moment - as Void behaves like ReverseCorrect - so
I see value adding this validation - but maybe there is a value
used by others showing Void option even on complete documents (I
remember there was a recent discussion about Void from Eduardo and
Alejandro).
WDYT?
Regards,
Carlos Ruiz