В общем случае Query может содержать несколько последовательных запросов. Не связанных друг с другом и не подчинённых друг к другу. Т.е. просто независимые друг от друга запросы разной структуры, которые queryRun обрабатывает последовательно.
Даже если брать за основу не весь Query, а QueryBuildDataSource, то и тут есть нюансы. Например, я себе не представляю, как можно реализовать одним SQL запросом QueryBuildDataSource, содержащий QueryFetchMode::One2Many.
Понятно что все эти "экзотические" возможности недоступны для пользователя через функциональность расширенного фильтра. Но ведь для системы нет никакой разницы - Query полученный от пользователя и Query созданный программно это одна и таже сущность. Поэтому я сомневаюсь в том что в системе есть какой-то стандартный инструмент, который сможет превратить в чесный SQL-текст любой Query/QueryBuildDataSource. Всё-таки наличие у аксаптовского Query таких "экзотических" возможностей, делает его гораздо более сложным объектом, нежели просто SQL-запрос.
Если говорить даже просто о преобразовании значения range, в некоторое логическое условие, то и тут не вижу никакаих надежд на наличие стандартных инструментов

. Стандартный метод Global::inRange() реализуется через запрос к временной таблице. Если бы существовал транслятор, доступный из X++, стали бы они так делать?
Хотя... всё может быть

Также не исключаю возможность существования самописных трансляторов. Но они ли вам нужны?