(0) Плохо:
ЛЕВОЕ СОЕДИНЕНИЕ Документ.АнкетаАбитуриента.КонтактнаяИнформация КАК АнкетаАбитуриентаКонтактнаяИнформация
ПО (ДвижениеКонтингентаСрезПоследних.Студент.ФизЛицо = АнкетаАбитуриентаКонтактнаяИнформация.Ссылка.ФизЛицо)
Надо добавить что-то вроде:
И АнкетаАбитуриентаКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.EMailАбитуриента)
Как минимум. И сейчас еще и история контактной информации может учитываться.
(4) Кажется, на втором курсе изучают основы SQL и Left Outer Join.
У вас либо два адреса, либо две записи истории изменения этого адреса. Выведите поле Вид из контактной информации. Выведите все поля, в конце концов, и станет все понятно.
(4) Весь код в топку. Всю базу в топку. Всё снести и переписать.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший