I have a set shopping day every week and go prepared - throw a couple of muesli bars in my handbag and make sure DD2 takes her water bottle (DD1 goes to daycare, it's too much of a hassle to take them both!) so we don't even get to the stage of umming and ahhing over whether to open a snack before we get to the checkout. I usually stop for a coffee at Donut King before hitting Woolies anyway, so DD2 gets a plain donut to keep her amused.
That being said, there are times when I've had both kids with me, or the pantry's been bare and I haven't had snacks at home to pack for the outing, but I've drilled into the kids that they simply have to wait until we've paid before they can open an item. They're bad for grabbing chocolate bars etc and tearing them open straight away, which is the main reason I try to push the point so strongly - I don't need an extra $10 on my weekly grocery shop because the kids are being piglets and won't take 'no' for an answer! They already know that if they open something, I'll let them have it and be forced to pay for it, but they know by now that doing so gets them in big trouble
I have had occasions when they've opened something before getting to the checkout, and dropped the wrapper or thrown it in the trolley and I've totally forgotten about it. I'd really hate to have a criminal record for a slip in my (admittedly poor) memory, so to save myself the heartache of wondering where that bloody Kinder Surprise wrapper or empty Breaka carton went, or forgetting it even got consumed and ending up charged with theft, I've just pushed that we can't eat it until we've paid for it. Works for us, I don't *disagree* with people opening and consuming items in the supermarket (provided they intend to AND follow through with paying for the item), it's just something I try to avoid with my kids as they tend to be 'give an inch, take a mile' kind of children