Имя: Пароль:
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
Заработало, видимо там не всплывают подсказки когда точку после названия кнопки пишешь. Спасибо большое, буду знать что далеко не всегда подсказки высплывают
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн