Hello. I'm a new member here. I'm trying to re-implement a modification that changes the way customer invoices are generated when a modified payment term is selected for invoicing.
Originally, the modification simply adds a few fields to the Payment Terms table, a Boolean to signal my code to take control, and code to generate the split up invoices for each month.
The problem I'm running into is that with extensions, I cannot override the base NAV behavior, afaik, I can only extend it. I can insert a Publisher in any part of the code and hook there, but that won't stop original invoice logic from executing.
So, I've resorted to unapplying (canceling) the invoice. This solution is obviously not very efficient, but I guess this new development pattern of extensions is not supposed to be, at the benefit of upgrade ease. Is there something else that I'm missing? Perhaps I should clone and null out the vars in scope during OnBeforeSalesDocPost, move them into my own vars where they won't be accessed and operate on them there? This would extremely break the base NAV behavior, but I don't see that I have any other option.
Originally, the modification simply adds a few fields to the Payment Terms table, a Boolean to signal my code to take control, and code to generate the split up invoices for each month.
The problem I'm running into is that with extensions, I cannot override the base NAV behavior, afaik, I can only extend it. I can insert a Publisher in any part of the code and hook there, but that won't stop original invoice logic from executing.
So, I've resorted to unapplying (canceling) the invoice. This solution is obviously not very efficient, but I guess this new development pattern of extensions is not supposed to be, at the benefit of upgrade ease. Is there something else that I'm missing? Perhaps I should clone and null out the vars in scope during OnBeforeSalesDocPost, move them into my own vars where they won't be accessed and operate on them there? This would extremely break the base NAV behavior, but I don't see that I have any other option.