We're doing a Commerce implementation with multiple warehouses, and we've created a custom IFulfillmentWarehouseProcessor as per the suggestions in this article: https://support.episerver.com/hc/en-us/articles/115003636971-Commerce-CheckMultiWarehouse-implementation
This works fine on the website, with cart validation etc. through the API.
However, in Commerce Manager, I get the error "Multiple fulfillment centers without custom fulfillment process." when I try to change and save the order.
I've tried registering the custom IFulfillmentWarehouseProcessor in the Commerce Manager project both with the ServiceConfiguration attribute and by creating a Commerce InitalizationModule and registering it in the ConfigureContainer-method, as such: context.Services.AddSingleton();
When debugging, the custom implementation never gets invoked, although I can verify that the InitializationModule runs as expected. Commerce Manager just uses the default implementation. Am I missing something here?
Commerce Manager is still using workflows to manage order, so to get rid of that error message, you would have to override this method
protected virtual IWarehouse CheckMultiWarehouse()
One simple way is to download the workflow project from https://world.episerver.com/download2 and modify OrderGroupActivityBase as you wish
Thanks Quan, you're then man!
BTW, the documentation for multi-warehouse implementations is confusing at best, an example-project would do wonders :)
Yes, we are aware that not every documentation we have is the perfect, and we are working on improving them, one by one - but that will take time. If you have suggestion on how to improve a specific documentation, please add comments to that page and we will work on them. Thanks!
Quick follow up, Quan - I did as you suggested and downloaded (and modified) the workflow project, which as suspected took care of the error.
The problem now is that "Release shipment" is disabled even though the order status is "Inventory assigned" and everything otherwise looks correct. Do you have any suggestions?
One possible cause is that the order was not paid - i.e. there was no payment, or if the payment total does not match the order total. Is that the case?
Thanks for the quick reply - there is a payment registred on the order for the exact amount of the order total, so that shouldn't be the problem.
Any suggestions for other things to check? Or if you know where I can find the code that handles this, I can take a look myself.
The button is only enabled if one and every lineitem in the shipment has enough quantity in stock, and the order has been paid. Can you check? Also is that only disabaled on a specific order, or on all orders?
I've checked that the line items have stock on the warehouse associated with the shipment and that the order has a processed payment (and the amount matches the order total).
It's disabled for every order, but that's not saying much, as the site is still in development.
It seems this has to do with the shipping method, we're just testing with the built in ones and it works if I change it to "Fixed Shipping Rate" (from "Ground Shipping"). No clue why, though :)