I know the discussion has moved on, but this...
Don't you think political parties have a duty to act in accordance with the views of those who voted for them?
... is a worrying assumption, surely? The answer is "no, not at all" . MPs have a duty to represent all their constituents and vote in all their best interests, not just those who voted for them. Isn't that Democracy 101? Obviously their views on how to achieve that may vary according to the political party the MP belongs to (and anything that was in an election manifesto I would expect would be supported/ opposed in Parliament, but that isn't the case here, as the issue of an EU trade deal wasn't in the last SNP manifesto) but people voted for the individual MP and not the party. So you get rebel MPs, independent MPs and so on, and their personal views on any particular issue won't match those of every person who voted for them. If MPs voted based on majority public opinion (or even majority vocalised public opinion), let alone majority opinion only of their voters, you'd end up with all sorts of nasty and unevidenced things, and I'm really glad they are under no obligation to do that.
I'm also glad I don't have to tell my MP my opinion on everything he has to vote on. That would get very tiring for both of us.