Add support for temporary product replacements on deliveries

Description

When a delivery is processed, the existing product - supplier relationship is updated if there is a match on:
1. reorder code
2. package size & units
3. size
4. zero package size (i.e. there is a relationship with a package size of zero)

in that order.

Sometimes, a supplier will be out of stock for the requested product, and substitute another product with the same package size and units, but a different reorder code. This will replace the existing product - supplier relationship as per (2) above.

If subsequent orders should use the original re-order code, this information is no longer available.

To avoid this always create a new product-supplier relationship if the existing product - supplier relationships have a reorder code, but that reorder code does not match the delivery. The new relationship should have preferred = true if there is no other preferred relationship for the supplier, otherwise it should be false.

Note that this means that users will need to manually remove any product - supplier relationship where the reorder code has changed but the package size/units are the same

Environment

None

Status

Assignee

Tim Anderson

Reporter

Tim Anderson

Labels

None

Components

Affects versions

Priority

Minor
Configure