Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 10:28

Как поле сделать скрытым?

Автор EvgeniyaJ, 12 мар 2019, 06:17

0 Пользователей и 1 гость просматривают эту тему.

EvgeniyaJ

На одном поле у меня есть перечисление "да" "нет". Поле фактический адрес должно быть сначала скрытым. Если выбирается "да", то поле так и остается скрытым. Если "нет", то появляется и его можно заполнить. Как это реализовать? Если можно, пожалуйста, код целиком, а то я еще совсем новичок :dfbsdfbsdf:

Vit1501

У поля с перечислением "да" "нет" пропишите обработчик события "ПриИзменении" и в нем проверяйте, если Да - устанавливайте свойство "видиимость" поля "адрес" в значение истина - иначе в значение ложь

Каримдат

Процедура ПриОткрытии
Объект.ФактическийАдрес.Видимость = Ложь;
КонецПроцедуры


На поле Регистрация совпадает с фактическим адресом присвоить событие ПриИзменении, и там вписать код:

Процедура ЛюбоеНазваниеПроцедурыВашей
Если РегФактАдрес Тогда
Объект.ФактическийАдрес.Видимость = Истина;
Иначе
Объект.ФактическийАдрес.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры


Примерно так)

EvgeniyaJ

Цитата: Vit1501 от 12 мар 2019, 08:46
У поля с перечислением "да" "нет" пропишите обработчик события "ПриИзменении" и в нем проверяйте, если Да - устанавливайте свойство "видиимость" поля "адрес" в значение истина - иначе в значение ложь

&НаКлиенте
Функция УстановитьВидимость()
ЭтоДа = Объект.РегистрацияСовпадаетСФактическимАдресом =  ПредопределенноеЗначение("Перечисление.Адрес.Да") ;   
   ЭтаФорма.Элементы.ФактическийАдрес.Видимость = НЕ ЭтоДа ;
   
  КонецФункции


&НаКлиенте
Процедура РегистрацияСовпадаетСФактическимАдресомПриИзменении(Элемент)
УстановитьВидимость();
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
        УстановитьВидимость();
       
КонецПроцедуры


Вот так заработало, только поле фактический адрес, его видно при открытии. Как сделать так, чтобы при открытии оно было скрыто с самого начала?

antoneus

Потому что поле при открытии не заполнено и условие возвращает Ложь.

&НаКлиенте
Функция УстановитьВидимость()
    ЭтоДа = Объект.РегистрацияСовпадаетСФактическимАдресом =  ПредопределенноеЗначение("Перечисление.Адрес.Да") или не ЗначениеЗаполнено(Объект.РегистрацияСовпадаетСФактическимАдресом);   
   Элементы.ФактическийАдрес.Видимость = НЕ ЭтоДа ;
   
КонецФункции

DmitriyF

Цитата: EvgeniyaJ от 12 мар 2019, 10:20
Цитата: Vit1501 от 12 мар 2019, 08:46
У поля с перечислением "да" "нет" пропишите обработчик события "ПриИзменении" и в нем проверяйте, если Да - устанавливайте свойство "видиимость" поля "адрес" в значение истина - иначе в значение ложь

&НаКлиенте
Функция УстановитьВидимость()
ЭтоДа = Объект.РегистрацияСовпадаетСФактическимАдресом =  ПредопределенноеЗначение("Перечисление.Адрес.Да") ;   
   ЭтаФорма.Элементы.ФактическийАдрес.Видимость = НЕ ЭтоДа ;
   
  КонецФункции


&НаКлиенте
Процедура РегистрацияСовпадаетСФактическимАдресомПриИзменении(Элемент)
УстановитьВидимость();
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
        УстановитьВидимость();
       
КонецПроцедуры


Вот так заработало, только поле фактический адрес, его видно при открытии. Как сделать так, чтобы при открытии оно было скрыто с самого начала?
Если с у вас объект уже создан то прочитайте какое значение принимает ваше поле "Да" или  "Нет". Если "Да" то в УстановитьВидимость() Установите значение видимости в Ложь.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск