Имя: Пароль:
1C
 
Как сделать не активной 2 кнопки на форме
0 Илья1С
 
25.02.25
15:30
Есть форма документа "Приходная накладная" нужна на панеле управления (то есть на на самой форме) сделать не активными для одной роли две кнопки "бу и "офу". Написал код, но после БУ или ОФУ далее путь "Видимость" или "Доступность" нет. Подскажите почему так и как правильно?
Если РольДоступна("ОператорТорговогоОбъединения") Тогда
	
		  ЭлементыФормы.ДействияФормы.Кнопки.БУ = Ложь;
		  ЭлементыФормы.ДействияФормы.Кнопки.ОФУ = Ложь;
	КонецЕсли;
1 Илья1С
 
25.02.25
15:28
Управляемые формы версия 8.3.22
2 Волшебник
 
25.02.25
15:29
ЭлементыФормы.ДействияФормы.Кнопки.Удалить(ЭлементыФормы.ДействияФормы.Кнопки.БУ);
3 Илья1С
 
25.02.25
15:32
Спасибо вам огромнейшее<з
4 Волшебник
 
25.02.25
15:35
Убедитесь, что эта строчка вызывается однократно, потому что второй раз удалять уже будет нечего.

Лучше так:
кнБУ = ЭлементыФормы.ДействияФормы.Кнопки.Найти("БУ");
Если кнБУ <> Неопределено Тогда
   ЭлементыФормы.ДействияФормы.Кнопки.Удалить(кнБУ);
КонецЕсли;
5 Ёпрст
 
25.02.25
15:44
(4) Не очень вариант.
Лучше ИмяКоманды  прибить, будет как раз "недоступная".
6 Волшебник
 
25.02.25
15:50
(5) Грязновато...
7 Волшебник
 
25.02.25
15:51
А может завести функциональную опцию в привязке к пользователю? сработает?
8 Мультук
 
гуру
25.02.25
15:53
P.S.
Только меня смутило

"Управляемые формы" и  "ЭлементыФормы" ?

Всегда считал

УФ = Элементы
ОФ = ЭлементыФормы
9 Волшебник
 
25.02.25
15:55
(8) бот, наверное
10 Илья1С
 
26.02.25
08:49
А если мне нужно не чтоб удалялись кнопки. а были не доступны именно, как это сделать не подскажите? И да, я не бот, просто очень начинающий 1сник
11 Ёпрст
 
26.02.25
09:01
(10) см. (5)
12 Александр111
 
26.02.25
09:11
?
Элементы.БУ.Доступность=Ложь
13 Илья1С
 
26.02.25
10:13
А что означает прибить ИмяКоманды
Что то типо того?
Если РольДоступна("ОператорТорговогоОбъединения") Тогда
    
          ЭлементыФормы.ДействияФормы.Видимость = Ложь(ЭлементыФормы.ДействияФормы.Кнопки.Бу;
          ЭлементыФормы.ДействияФормы.Видимость = Ложь(ЭлементыФормы.ДействияФормы.Кнопки.ОФУ;
    КонецЕсли;
14 Илья1С
 
26.02.25
10:39
(12) так нельзя, т.к. у меня в элементах формы строка Действия формы и на ней кнопки уже в которых эти бу и офу. черех просто Элементы не работает. Хотя возможно надо не в модуле формы документа делать а в модуле менеджера пн самой
15 Илья1С
 
26.02.25
10:46
(5) Вот подскажите пожалуйста как это в коде выглядит. потому что я не знаю такого термина "прибить"
Лучше ИмяКоманды  прибить, будет как раз "недоступная"
16 Мультук
 
гуру
26.02.25
10:46
(14)

Если РольДоступна("ОператорТорговогоОбъединения") Тогда
  ЭлементыФормы.ДействияФормы.Кнопки.БУ.Доступность = Ложь;
  ЭлементыФормы.ДействияФормы.Кнопки.ОФУ.Доступность = Ложь;
КонецЕсли;


Если так НЕ заработает, то пишем текст ошибки, название конфигурации и версию конфигурации
17 Somebody
 
26.02.25
10:50
(14) в модуле менеджера форма недоступна
18 Илья1С
 
26.02.25
10:58
Заработало, видимо там не всплывают подсказки когда точку после названия кнопки пишешь. Спасибо большое, буду знать что далеко не всегда подсказки высплывают