Просветите пожалуйста, почему так получается.

1. user1069796 11.12.18 13:04 Сейчас в теме
Хочу сделать что бы при установке флажка и снятии становилось недоступным и доступным две группы на форме.

А оно не хочет.

Всё что получилось это только что бы при изменении флажка становились доступными группы, а вот наоборот не хотят.

Почему так объясните пожалуйста!

Спасибо.

* * *

Так получается только показать "ПриИзменении:

&НаКлиенте
Процедура УстановитьСГПриИзменении(Элемент)
	Если Объект.УстановитьСГ = Истина Тогда
		
	Элементы.Группа1.Доступность = Истина И
	
	Элементы.Группа2.Доступность = Истина;
	
	КонецЕсли;
КонецПроцедуры
Показать


* * *

А так вообще не работает:

&НаКлиенте
Процедура ИзменениеФлажкаДляСрокаГодности ()
	
	     Если Объект.УстановитьСГ = Истина Тогда
		
	Элементы.Группа1.Доступность = Истина И
	
	Элементы.Группа2.Доступность = Истина;
	
	КонецЕсли;
	
КонецПроцедуры
Показать
Прикрепленные файлы:
Найденные решения
2. Stref75 11.12.18 13:09 Сейчас в теме
Я бы сделал реквизит не объекта, а формы

&НаКлиенте
Процедура УстановитьСГПриИзменении(Элемент)
    
         Если УстановитьСГ Тогда
            Элементы.Группа1.Доступность = Истина;
            Элементы.Группа2.Доступность = Истина;
       иначе
            Элементы.Группа1.Доступность = Ложь;
            Элементы.Группа2.Доступность = Ложь;
    
    КонецЕсли;
    
КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. spacecraft 11.12.18 13:10 Сейчас в теме
(1) это булева алгебра, а не присвоение.
Нужно так:
Элементы.Группа1.Доступность = Объект.УстановитьСГ;
Элементы.Группа2.Доступность = Объект.УстановитьСГ;
user774630; Fril; Stref75; +3 Ответить
4. Stref75 11.12.18 13:11 Сейчас в теме
(3) до меня только сейчас дошло, что я всю жизнь херачил лишнего :-)
2. Stref75 11.12.18 13:09 Сейчас в теме
Я бы сделал реквизит не объекта, а формы

&НаКлиенте
Процедура УстановитьСГПриИзменении(Элемент)
    
         Если УстановитьСГ Тогда
            Элементы.Группа1.Доступность = Истина;
            Элементы.Группа2.Доступность = Истина;
       иначе
            Элементы.Группа1.Доступность = Ложь;
            Элементы.Группа2.Доступность = Ложь;
    
    КонецЕсли;
    
КонецПроцедуры
Показать
5. user1069796 11.12.18 13:27 Сейчас в теме
(2)
Если УстановитьСГ Тогда
Элементы.Группа1.Доступность = Истина;
Элементы.Группа2.Доступность = Истина;
иначе
Элементы.Группа1.Доступность = Ложь;
Элементы.Группа2.Доступность = Ложь;

КонецЕсли;


Сработало, только когда
Если УстановитьСГ = Истина
сделал
6. user774630 11.12.18 13:29 Сейчас в теме
(5) ну значит вы УстановитьСГ явно не задаете и оно может быть Неопределено.

А вообще портянки такие рисовать смысла нет.
Проверьте что в коде ЯВНО присваивается значение для УстановитьСГ - истина или ложь.
И потом
Элементы.Группа1.Доступность = УстановитьСГ; 
Элементы.Группа2.Доступность = УстановитьСГ; 
7. spacecraft 11.12.18 15:46 Сейчас в теме
(5) если для УстановитьСГ не всегда установлен булев тип, то можно так:
Элементы.Группа1.Доступность = УстановитьСГ = Истина;
Элементы.Группа2.Доступность = УстановитьСГ = Истина;

Так, на всякий случай: никакой дополнительной проверки конструкцией Если в данном коде не требуется.
Оставьте свое сообщение

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