Those situations are tough. Wine especially, because it lowers your inhibitions and makes you more likely to give in to food choices that you otherwise wouldn't.
Maybe you could consider calorie cycling, or zig zagging. Here's a website you can use to figure out your calories;
Calorie Calculator - Daily Caloric Needs click on the 7-day calorie cycle tab. On days you know you're going out or having a special meal, you can make that one of your higher calorie days and then end up compensating for it the rest of the week.
Everyone is different, but this worked a lot better for me than sitting there cranky because I was eating something I didn't really want, watching someone else have what I would like to have ordered. It's not a license to go overboard, but it does let you loosen the reins a little on any given day.
Maybe you could suggest another activity instead of eating out, or suggest a place where you know you can get a meal you would enjoy that is within your plan, as well.