(0)
1) Откройте любую печатную форму у себя в конфигурации (можно искать по "ВывестиГоризонтальныйРазделительСтраниц()" и посмотрите как сделано там.
2) ИМХО должно быть вот так
Возврат ТабДок;
КонецФункции
Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "АКТПечатьВнешняя") Тогда
ТабДок = ПечатьВнешнейПечатнойФормы(МассивОбъектовНазначения, ОбъектыПечати, "");
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "АКТПечатьВнешняя", "АКТ (внешний)", ТабДок);
КонецЕсли;
КонецПроцедуры
3) Чудесным образом это работает. Но только потому что выборка.Следующий() окончится на первой итерации "Для Каждого СсылкаНаОбъект из МассивОбъектов Цикл"
Суть "Для Каждого СсылкаНаОбъект из МассивОбъектов Цикл" -- в данном контекст нахрен не нужен
Для Каждого СсылкаНаОбъект из МассивОбъектов Цикл
Пока Выборка.Следующий() Цикл
4) Сортировка в запросе "как бог пошлёт" ?
1С обычно сортирует "красиво", но "не никто не гарантирует".