Вы не туда смотрите
Вас должен интересовать метод buildImplicitReplacementsFromTable() класса SysQueryForm
X++:
if(dictField && !dictField.isSystem() && dictField.isSurrogateForeignKey() && dictField.visible() && !dictField.isDimensionField()
&& securityRights.fieldAccessRight(dictTable.name(),dictField.name()) != AccessRight::NoAccess
)
Обратите внимание на условие dictField.isSurrogateForeignKey()
А так же, стоит посмотреть на права доступа