Управляемая форма. Проверить заполнен ли реквизит

1. Zixxx 01.10.14 20:25 Сейчас в теме
Что-то не могу сообразить как проверить на управляемой форме имеет ли реквизит значение?

Обхожу подчиненные элементы страницы, если тип = поле формы, тогда нужно проверить заполнено ли он. Как это сделать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 01.10.14 20:55 Сейчас в теме
(1) Zixxx, а зачем форму то обходить ? Почему бы сразу реквизиты и не проверять ? )))
а так, у элементов формы есть связка с реквизитами, путь к данным кажись.
3. Zixxx 01.10.14 21:15 Сейчас в теме
(2) Boneman, Нужно именно обходить определенную страницу формы и проверять на ней реквизиты, так как проверяется много страниц и функция для этого всего одна
4. Zixxx 01.10.14 21:15 Сейчас в теме
(2) Boneman, Путь к данным есть, но как по нему обратиться?
13. FilatovRA 169 02.07.18 12:25 Сейчас в теме
(1) НаКлиенте
Сообщить(ЗначениеЗаполнено(Объект.ИмяРеквизита));
NicolasCage; magic1s; EvgeniyOlxovskiy; +3 Ответить
15. DesertPunk 12.10.23 18:25 Сейчас в теме
(1)
 Если ТвоеУсловиеПоВидуНоменклатуры И ЗначениеЗаполнено(ТвоеЗначение) Тогда
          ТвоеТогда
КонецЕсли
5. Захаров_Николай 11 01.10.14 21:29 Сейчас в теме
Допустим есть реквизит формы с типом СправочникСсылка.Номенклатура.
Проверка на клиенте будет выглядеть так.
Если Реквизит3 = ПредопределенноеЗначение("Справочники.Номенклатура.ПустаяСсылка()") Тогда

Но это все равно серверный вызов. Так что это все равно что написать:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Если Реквизит3 = ПроверитьРеквизит() Тогда
		//Значит значение не заполнено
	КонецЕсли;
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПроверитьРеквизит()
	Возврат Справочники.Номенклатура.ПустаяСсылка();
КонецФункции
Показать
6. Zixxx 01.10.14 21:38 Сейчас в теме
(5) Захаров_Николай, Нет. Я же обхожу реквизиты, т.е. у меня либо реквизит это тип "ПолеФормы" либо ПутьКДанным
12. IvanBoychuk123 10 02.10.14 11:13 Сейчас в теме
(5) Захаров_Николай
Лучше использовать
Реквизит3.Пустая()
,
или
ЗначениеЗаполнено(Реквизит3)
EvgeniyOlxovskiy; asupigor; smikeeeee; olololeg; Elucidator; +5 Ответить
7. Захаров_Николай 11 01.10.14 21:49 Сейчас в теме
Покажи код, как ты обходишь реквизиты.
8. Zixxx 01.10.14 21:51 Сейчас в теме
(7) Захаров_Николай,

Функция ПроверитьЗаполненныеРеквизиты()
	
	Отказ = Ложь;
	
	ТекущаяСтраница		= Элементы.ГруппаСтраницы.ТекущаяСтраница.Имя;
	ЭлементыСтраницы	= Элементы[ТекущаяСтраница].ПодчиненныеЭлементы;
	
	Для Каждого ПодчиненныйЭлемент Из ЭлементыСтраницы Цикл
		
		Если ТипЗнч(ПодчиненныйЭлемент) <> Тип("ПолеФормы") Тогда
			Продолжить;
		КонецЕсли;
		
		Если Не ПодчиненныйЭлемент.АвтоОтметкаНезаполненного Тогда
			Продолжить;
		КонецЕсли;
		
	КонецЦикла;
	
	Возврат Отказ;
	
КонецФункции
Показать
9. Захаров_Николай 11 01.10.14 21:52 Сейчас в теме
НаКлиенте обращение к реквизитам формы происходит так:
ЭтаФорма.Реквизит1
.
В твоем случае, ощущение такое, что ты перебираешь элементы:
Элементы.Реквизит1
.
10. Захаров_Николай 11 01.10.14 22:07 Сейчас в теме
Не знаю для каких целей подобное может понадобиться.
Но если создать процедуру на сервере, можно сделать так:
 Для Каждого ПодчиненныйЭлемент Из ЭлементыСтраницы Цикл
Если ЭтаФорма[ПодчиненныйЭлемент.ПутьКДанным] = Справочники.Номенклатура.ПустаяСсылка() Тогда

Это к вопросу о проверке на пустое значение.
11. P_enemy 30 01.10.14 23:38 Сейчас в теме
Глобальный контекст (Global context)
ЗначениеЗаполнено (ValueIsFilled)
Синтаксис:

ЗначениеЗаполнено(<Значение>)
Параметры:

<Значение> (обязательный)

Тип: Произвольный.
Значение для проверки.
Возвращаемое значение:

Тип: Булево.
Для значений типа Булево всегда возвращается Истина.
Для значений типа Строка возвращается Истина, если в строке есть непробельные символы.
Для массивов и коллекций возвращается Истина, если в них есть хотя бы 1 элемент.
Для Неопределено и Null всегда возвращается Ложь.
Описание:

Функция проверяет, отличается ли переданное значение от значения по умолчанию того же типа.
Не работает с мутабельными значениями. При передаче мутабельного значения функция вызывает исключение.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание:

Источники данных не проверяются, значение считается заполненным всегда.
DesertPunk; EvgeniyOlxovskiy; +2 Ответить
14. ssn5810 79 18.11.21 16:29 Сейчас в теме
16. roln 8 20.04.24 20:47 Сейчас в теме
Ошибка: Проверка мутабельных значений на заполненность не поддерживается.

Неверный код (обращение к мутабельным элементам формы):

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Если ЗначениеЗаполнено(Элементы.Агент) Тогда

Элементы.Контрагент.Видимость = Истина;

КонецЕсли;

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

////////////////////////////////////////////////////////////­////////////////////////////////////////////////

Верный код (обращение к реквизитам объекта):

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Если НЕ Объект.Агент.Пустая() Тогда

Элементы.Контрагент.Видимость = Истина;

КонецЕсли;

КонецПроцедуры
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот