The truce is onesided. Once you force someone to break an alliance, you have a truce with them that lasts exactly the time during which they can't really. So either you declare on the day they are out of truce so that they can't really, or you force the other state to break the alliance, to be able to attack your real target.
If you are A, force B to break alliance with C, you have a oneside truce on B but not with C. You see what I mean? So if you want to attack B, see if you can't instead force C to break alliance with B. If you can't, wait the end of the truce and attack the exact same day.
Without these limitations, this would be far too easy to be a GP.