Really struggling with this complex form, looking for a better approach.
I have a stock management tool. It allows my customers to edit details of individual stock items across all their branches. They can do this on a product-by-product basis, or they can 'bulk edit' many products at once. A customer could have 1 branch or as many as 50.
I'm currently designing a screen to allow bulk editing of 'stock levels' which is actually three fields, 'min', 'max' and 'order lot'. (Don't worry about the meaning of these labels, that's a separate issue!).
I'm struggling to create a usable screen to manage the three fields across all locations (branches). Specifically:
- Is it useful/important to automatically populate a field if the values are the same for this field across every product? iTunes does this - if you go to edit more than one song at once, any field with an identical value will auto-populate, any other fields will be completely empty.
- How should I differentiate between a field where the values are different vs all empty? iTunes don't bother to do this.
- It's possible that none of the selected products are available at one or more of the branches (note branch availability is manages elsewhere). I'm not sure whether it's useful to say e.g. 'no availability at this branch'. I suspect it is useful, as it stops them wasting their time setting values in that row.
download bmml source – Wireframes created with Balsamiq Mockups
UPDATE:
I have a version which I'm much happier with. I've answered a few of my own questions here...
- It's not that useful to auto-populate fields where I know all values are itentical (a la itunes). The primary purpose of the screen it to set new values, not so see what values you already have. I also think populating a few fields and not others would look confusing.
- I don't need checkboxes. If you put a value in the field, I'll save it. Otherwise I'll ignore it.
Any other suggested improvements greatly appreciated :)