&НаКлиенте
Процедура СписокСтудентовИтоговаяОценкаПриИзменении(Элемент)
ТекущаяСтрока = Элементы.СписокСтудентов.ТекущиеДанные;
Если ТекущаяСтрока <> Неопределено Тогда
// Переводим ввод в нижний регистр и убираем лишние пробелы
ЗначениеОценки = НРег(СокрЛП(ТекущаяСтрока.ИтоговаяОценка));
// Если это не зачет и не незачет, проверяем цифру от 1 до 5
Если ЗначениеОценки <> "зачет" И ЗначениеОценки <> "незачет" Тогда
// Переменная пишется слитно, без пробелов!
ЧисловаяОценка = 0;
Попытка
ЧисловаяОценка = Число(ЗначениеОценки);
Исключение
ЧисловаяОценка = 0;
КонецПопытки;
// Проверяем вхождение в рамки оценок
Если ЧисловаяОценка < 1 Или ЧисловаяОценка > 5 Тогда
ТекущаяСтрока.ИтоговаяОценка = "";
ПоказатьПредупреждение(, "Допустимые значения: цифры от 1 до 5, либо слова 'Зачет', 'Незачет'!");
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокСтудентовПосещаемостьПриИзменении(Элемент)
ТекущаяСтрока = Элементы.СписокСтудентов.ТекущиеДанные;
Если ТекущаяСтрока <> Неопределено Тогда
// Если студент отсутствовал — сбрасываем оценку
Если ТекущаяСтрока.Посещаемость = ПредопределенноеЗначение("Перечисление.ВидыПосещаемости.Отсутствовал") Тогда
Если ЗначениеЗаполнено(ТекущаяСтрока.ИтоговаяОценка) Тогда
ТекущаяСтрока.ИтоговаяОценка = "";
ПоказатьОповещениеПользователя("Внимание", , "Оценка сброшена, так как студент отсутствовал на экзамене!");
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры