Имя: Пароль:
1C
1С v8
Командная панель. Как убрать доступность только некоторым кнопкам
,
0 Михаил 1С
 
24.10.12
14:28
Здравствуйте!
Я хочу убрать доступность нескольким кнопкам командной панели (обычные формы), как это сделать?
Я могу управлять только всей командной панелью сразу - если у нее стоит Доступность = Ложь, то никак не получается поставить отдельной кнопке Доступность = Истина. Код-то написать получается, но он не работает.
Может быть кто-то знает как заставить выборочно управлять доступностью?
1 Aprobator
 
24.10.12
14:30
у командной панели свойство кнопки потерялось?
2 Aprobator
 
24.10.12
14:36
а код пишется, но не работает. Чудно. Обновить() не пробовал, после установки свойства?
3 Aprobator
 
24.10.12
14:37
может у командной панели Автозаполнение- мешает?
4 Михаил 1С
 
24.10.12
14:40
Сейчас подробно тестирую вариант, где нет Автозаполнения.
5 Starhan
 
24.10.12
14:46
Кнопки =  ФормаДокумента.ЭлементыФормы.ДействияФормы.Кнопки;
       Для Каждого Кнопка Из Кнопки Цикл
           Если НЕ Кнопка.Имя = "РезультатПроведения" Тогда
               Кнопка.Доступность = Ложь;
           КонецЕсли;        
       КонецЦикла;
6 Михаил 1С
 
24.10.12
14:48
Итог тестов такой - получается управлять, но не всеми кнопками:
Подменю "Перейти", "Действия" и "Вид Операции" остаются с неизмененной доступностю (с Истина).

Это вариант, где нет Автозаполнения у Командной панели.

Для каждого Эл из Форма.ЭлементыФормы.ДействияФормы.Кнопки Цикл
       Если Эл.Имя <> "Подменю2" Тогда //кнопка ВводНаОсновании
           Эл.Доступность = Ложь;
       КонецЕсли;
   КонецЦикла;
7 Михаил 1С
 
24.10.12
14:49
Даже отладчик показывает - прохожу строку Эл.Доступность = Ложь, а после нее все-равно это значение оставется рано Истина.
8 Starhan
 
24.10.12
14:50
странно у меня ВидОперации точно закрывается
9 spu79
 
24.10.12
14:53
Посмотри ГДЕ ты это делаешь. После твоего кода ни какие типовые стандартные процедуры/функции не вызаваются?
10 Михаил 1С
 
24.10.12
14:54
Делю я это в процедуре Общего модуля, эта процедура вызывается в самом конце УправленияВидимостиДоступности() моей формы.
11 Starhan
 
24.10.12
14:56
Если у тебя вид операции как подменю (у мя в БП 2.0. нет так) то скорей всего ндао еще проходить отдельно кнопки у подменю.
12 Starhan
 
24.10.12
14:57
вру как подменю и закрывается
13 Михаил 1С
 
24.10.12
14:57
(11) Да, у меня "Вид операции" типа "произвольное подменю".
Правда, подменю "Действия" у меня из разряда стандартных - Действия.
14 Starhan
 
24.10.12
14:58
хм посмотрел в отладчике. )) и првда у Видоперации остается истина.
15 Михаил 1С
 
24.10.12
14:59
Ладно, если не получится - я просто удалю эти кнопки программно. Это у меня получается.
:))
16 Starhan
 
24.10.12
15:01
ФормаДокумента.ТолькоПросмотр

вот это значение у тебя какое?
17 Михаил 1С
 
24.10.12
15:06
(16) ТолькоПросмотр = Ложь
18 Starhan
 
24.10.12
15:08
а у меня у этой роли доступа только просмотр в правах.

хотя емнип я как раз пытался закрыть лишние кнопки этим кодом
кроме просомтра проводок.
19 Starhan
 
24.10.12
15:10
ну точно открыл права и кнопка доступна стала.
20 Starhan
 
24.10.12
15:12
теперь не попадет в эту процедуру. :)
21 Starhan
 
24.10.12
15:22
КнопкаКоманднойПанели (CommandBarButton)

Доступность (Enabled)
Использование:

Чтение и запись.
Описание:

Тип: Булево.
Содержит признак доступности кнопки командной панели.
Истина - доступна.
Может использоваться для кнопок с типом Действие.
Если кнопка панели запрещена системой, значение свойства игнорируется.
-----------------------------------
значит надо запрещать кнопки подменю.
Либо вправах ставить только просмотр на документе.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший