Как проверить заполненность полей ввода в группе на форме?
&НаКлиенте
Процедура *****()
Если ПроверкаНастроекДляТаблицы()=1 Тогда
Возврат;
КонецЕсли;
КонецПроцедуры
//Эта функция не универсальна. Но необходима, т.к. из процедуры нельзя передать элемент формы.
//Функция запускается первый раз для группа2, если 0, запускает для группа1, и возвращает 1 или 0
Функция ПроверкаНастроекДляТаблицы()
Возврат(?(ОбходРеквизитов(Элементы.Группа2.ПодчиненныеЭлементы)=0,?(ОбходРеквизитов(Элементы.Группа1.ПодчиненныеЭлементы)=0,0,1),1));
КонецФункции
//А эта функция обходит подчиненные элементы группы (в данном случае поле ввода) и проверяет заполнено ли значение или нет.
//можно проверить и так ЗначениеЗаполнено(элм), но он всегда выдаст Истина для числовых полей, т.к. они содержат 0
//ЭтотОбъект[элм.ПутьКДанным] - возвращает значение переменной которая привязана к элементу формы
Функция ОбходРеквизитов(Группа)
ЗначВозвр=0;
Для каждого элм из Группа цикл
Если НЕ ЗначениеЗаполнено(ЭтотОбъект[элм.ПутьКДанным]) Тогда
Сообщить("Незаполнено поле "+элм.Имя);
ЗначВозвр=1;
Возврат(ЗначВозвр);
Прервать;
КонецЕсли;
КонецЦикла;
Возврат(ЗначВозвр);
КонецФункции
Комментариев нет:
Отправить комментарий