Hi,
I've met one issue with the plugin for handling exchange rates. So it is possible to override the exchange rate used for calculation of base currency fields. To do this you need create a custom plugin that handles RetrieveExchangeRate message and sets ExchangeRate output parameter.
This works fine when action is initiated by user. But if create or update is initiated by another plugin (thus we have plugin execution context depth equals 2 or more) the exchange rate plugin is even not executed. I've tried register it at different stages but still no success.
In the tracing logs there is some odd message:
MessageProcessorCacheLoader.LoadCacheData(): MainOperation Stage not added for SdkMessage:[RetrieveExchangeRate], SdkFilter:[FilterId: {BB434168-894C-430F-9B40-60E4035C2D1D}, IsSystem: [True]], PrimaryOTC:[9105]. MainOperation Stage stepIds from Db:[]
I'm not sure what is wrong here. I've checked some database tables, what I can see there are two records for RetrieveExchangeRate in SdkMessageProcessingStep table and both are created for 10 stage. Of course this is not main stage which number is 30, but again is it possible to do something here?
So if anyone has good idea, please welcome.
Regards