How to explain the structure of "将在外，军令有所不受。"
This is classical Chinese, not modern Chinese.
Normally in Classical Chinese 所 stands for an omitted object of a verb.  所 + Verb means ‘Verb 的东西 (the thing that is verb-ed), which is equivalent to a kind of relative clause marker (RM) in English ‘what/that is Verb-ed’. It makes the sentence passive.
The 有 just means 有.
In modern Chinese I would write it as: 如果将军在外面大战，朝廷的命令有可以不被将军接受的。
On Baidu I found this explanation:

原义为：将军出征在外，由于敌情复杂，战场情况瞬息万变，所以可以依据实际情况对皇帝的命令适当的随机应变，不一定生搬硬套。
释义为：作事情应掌握实际情况，根据现实作出适当的判断和行动。

(If you are reading these texts, your Chinese should be good enough to understand the explanation :-) ).