I have a rather unusual problem but please bear with me.
My form initially has two choices. Proceed as a club card holder or proceed as a non-card holder.
If you do the latter you have to purchase a club card before you are allowed to progress and in doing so you will receive a £15 discount on certain specific events (not all). If you already have a card however the events are the same but discount does not apply. All of this works fine with the given logic capabilities of the form.
Once you purchase the card a dialogue opens to allow you to sign up for various events and if you choose one of the specific events that attract the discount a dialogue appears informing you that the discount has been applied and the payment logic is set up so that minus £15 is applied to the total at that point. This can only happen once. So far so good.
Unfortunately the flaw in the system is that if you then go back to the initial two choices (to have card or not to have card), and select the field that states that you already have a card, using logic the old system with the discount items is replaced with a duplicate set of choices which do not trigger the discount dialogue but unfortunately if the discount bar has already been triggered it remains on screen and the discount is still applied. Presumably this is because Machform appears to continue to apply the logic even to hidden items. So even if my choices are replaced by fresh, non-discounted ones, the system reads the relevant selected items from the now hidden ones, keeps the discount bar running on screen and therefore makes the deduction on the form.
This is a great flaw in the system I feel. I have poured over this at length but cannot find a way to remove the discount bar once it has appeared, without unticking the relevant items. The logic system does not allow for a form item to be referenced more than once in a logic argument so I cannot state, for instance, that the box should appear when any of the relevant items are ticked but should disappear if the choice of card-or- no-card is changed back to no-card after discount has been applied.
If any of you brilliant folk out there can see how this could be done I would be very grateful. In the meantime, the only thing I can come up with is to make a multi-page form with separate pages for card holders and non-card holders. That should work, shouldn't it?