I have had dinner If you are invited to dinner, you say I have
Different situations have different answers. For example, when you visit someone, he happens to be having dinner and invite you to eat together. If you have eaten and don't want to eat, you can directly say, "no, thanks!"