Skip to main content

We have built-in functionality, that sets items to ‘invalid’ status if that item have some parameters preventing it’s synchronization (i.e. sales order has wrong status in external or internal system, customer is a guest in store settings, etc.). Ideally, we would want to be able to execute those settings on all entities, even those that already synchronized. Unfortunately, currently this restrictions can only be executed on new items, that have not been synchronized to other system.

The current design of the restrictions would cause a problems for an item status resolution if we would allow restricting of items existing in both systems. Since fetch procedure is initiated from internal or external system, for bidirectional entities the same item could go to ‘invalid’ or ‘pending’ status - based on the direction of the fetch procedure. If the item is modified externally, and in external system object has a status preventing sync process, it will go ‘invalid’ and will have an error message. But if the same item is modified locally, and on local side it shouldn’t be restricted, it’s status will be ‘pending’. If it was modified locally and later externally it could still have an error, confusing a user of the reason for such status. Thus, we cannot predict what status an object will have after fetch, which is very ambiguous and bad for synchronization process.

Be the first to reply!

Reply