過去の時間を設定すれば過去形

○「昨日友人と会いました。去年その友人と会いました
       met           met
○「昨日友人と会いました。その友人と会ったことがありました
       met          had met
☓「昨日友人と会いました。去年彼女と会ったことがありました」

「昨日会いました」と「去年会いました」は、「昨日」と「去年」で時間の違いを表しているので、同じ動詞を使います。
「昨日会いました」と「会ったことがありました」は、「会いました」と「会ったことがありました」で動詞(時制)の違いが明らかなので2つの時間を使えません。

・「私は~をした」 *過去の時間(いつ)が必要
“I did ~ (yesterday).”

・「私は~をしたことがある(あった)」 *過去の時間(いつ)をつけない
“I have (had) done ~ .”

・「私は~をすでにした」 *過去の時間(いつ)が必要
“I already did (yesterday).”

・「私は~をすでにしている(いた)」 *過去の時間をつけない
“I have (had) already done.”