Загрузка данных


&НаСервереБезКонтекста
Функция ПолучитьСтудентовГруппы(ВыбраннаяГруппа)
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Студенты.Ссылка КАК Студент
		|ИЗ
		|	Справочник.Студенты КАК Студенты
		|ГДЕ
		|	Студенты.Группа = &Группа
		|	И Студенты.Активен = ИСТИНА";
	
	Запрос.УстановитьПараметр("Группа", ВыбраннаяГруппа);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	// Создаем простой массив, который без проблем передается на клиент
	МассивСтудентов = Новый Массив;
	
	Если Не РезультатЗапроса.Пустой() Тогда
		Выборка = РезультатЗапроса.Выбрать();
		Пока Выборка.Следующий() Цикл
			МассивСтудентов.Добавить(Выборка.Студент);
		КонецЦикла;
	КонецЕсли;
	
	Возврат МассивСтудентов;
	
КонецФункции

&НаКлиенте
Процедура ЗаполнительЖурнала(Команда)
	
	// Проверяем, выбрал ли препод группу
	Если Не ЗначениеЗаполнено(Объект.Группа) Тогда
		ПоказатьПредупреждение(, "Сначала выберите группу в шапке журнала!");
		Возврат;
	КонецЕсли;
	
	// Теперь сюда возвращается обычный массив ссылок
	МассивСтудентов = ПолучитьСтудентовГруппы(Объект.Группа);
	
	// Очищаем старую сетку
	Объект.СеткаЖурнала.Очистить(); 
	
	// Заполняем новые строки на экране
	Для Каждого ЭлементМассива Из МассивСтудентов Цикл
		НоваяСтрока = Объект.СеткаЖурнала.Добавить();
		НоваяСтрока.Студент = ЭлементМассива;
		
		// По умолчанию ставим статус "Присутствовал"
		НоваяСтрока.Посещаемость = ПредопределенноеЗначение("Перечисление.ВидыПосещаемости.Присутствовал");
	КонецЦикла;
	
КонецПроцедуры