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


&НаКлиенте
Процедура ДисциплинаПриИзменении(Элемент)

	Если Объект.Группа = Неопределено Или Объект.Дисциплина = Неопределено Тогда
		Возврат;
	КонецЕсли;

	Преподаватель = ПолучитьПреподавателяПоГруппеИДисциплине(Объект.Группа, Объект.Дисциплина);

	Если Преподаватель <> Неопределено Тогда
		Объект.Преподаватель = Преподаватель;
	Иначе
		Сообщить("Для выбранной группы и дисциплины преподаватель не закреплен.");
	КонецЕсли;

Конец процедуры

&НаСервере
Функция ПолучитьПреподавателяПоГруппеИДисциплине(Группа, Дисциплина)

	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Закрепление.Преподаватель КАК Преподаватель
	|ИЗ
	|	Справочник.ЗакреплениеПреподавателей КАК Закрепление
	|ГДЕ
	|	Закрепление.Группа = &Группа
	|	И Закрепление.Дисциплина = &Дисциплина";

	Запрос.УстановитьПараметр("Группа", Группа);
	Запрос.УстановитьПараметр("Дисциплина", Дисциплина);

	Выборка = Запрос.Выполнить().Выбрать();

	Если Выборка.Следующий() Тогда
		Возврат Выборка.Преподаватель;
	КонецЕсли;

	Возврат Неопределено;

КонецФункции