Okay, so I have 2 main objectives I need to happen with our customer masking.
1. Certain customers have their own unique products.
2. Certain customers have unique pricing or a global discount
3. One customer mask in particular has unique pricing for almost every product in the store.
Problem - getting all of these situations to work together.
1. Unique Products
From what I've seen in the system, you can show/hide a product by the assigned mask by setting the AppConfig Param "FilterProductsByCustomerLevel" to TRUE.
I have done this and tested it, and it works great with the custom products - they need to be seen only by the customer, and it's "Public Version" of the same product (if any) is then hidden from view. (By default, we were leaving the products intended to be seen by everyone unchecked - this does not work if you need an extended price set to the product)
2. Global discount + Unique products.
This is not a problem as I just apply the global discount to the mask, and then adjust the variant price of the custom products to over-ride the discount.
3. The unique prices for nearly ALL products, PLUS allowing the other masks to have their unique products.
Here's the thing. You can assign a mask to a product for the unique prices, I get that. But when the AppConfig Param "FilterProductsByCustomerLevel" is set to TRUE, that product is now hidden by everyone else.
*First guess - check ALL of the current masks on all products so they're always visible, and set the special prices for that one unique customer group.
Problem: When a new mask is added (and they will be at the rate of ~1 per month), someone has to go through all 1000+ products and add the new mask to the "all-checked" list to make sure that new customer sees the products. It turns into a logistical nightmare.
*Second guess - Set the AppConfig Param "FilterProductsByCustomerLevel" to FALSE, and try to work around that.
Problem: Breaks the custom products that need to be a part of the other masks. We can't have them seen by the public, so we NEED to keep that param set to TRUE.
*Third guess - Set the unique pricing group to an average % off to even out to what they're paying now.
Problem: Shot down by boss- we'd likely lose those accounts if they saw that happen.
So, I'm back to how I can make my first guess work.
I'm stumped, and need some more tech-savvy brains to help think about possibilities.
Possibly an SQL query I can run to set a newly added mask to CHECKED (show product) on the non-special products in the database??
Halp. D:
PS: using ASPDNSF ML 8.x, have source, and a dev that can customize if ABSOLUTELY needed, but would rather not.