Если я правильно понял текущую проблему, то она возникает в случае, если в таблице SUG_LedgerTransDimentionsDetails аналитики 1 и 3 непустые, а 2-я пустая. Тогда в указанном выше коде при обработке 2-й аналитики цикл не выполняется и, соответственно, до 3-й аналитики не доходит. Так?
Попробуйте в цикле присваивать локальной булевой переменной true, а после цикла проверять ее. Если она false, значит, цикл не выполнился и тогда вызывать метод SelDimens с пустым 4-м параметром:
X++:
this.SelDimens(qr.query(), h, sysDimGroup, "", i);