|
Сменить видимость интерфейса | ☑ | ||
|---|---|---|---|---|
|
0
orcdunaev
19.04.17
✎
11:53
|
Всем привет.
Есть ЗУП 2.5 Хочу пользователю с основным интерфейсом "Интерфейс1" отключить все прочие интерфейсы (вместе с теми, у которых Переключаемый = ложь). Нашел в инете такой код, пишу его в модуле обычного приложения в ПриНачалеРаботыСистемы(): ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь(); Если ПользовательИБ <> Неопределено И ПользовательИБ.ОсновнойИнтерфейс <> Неопределено И ПользовательИБ.ОсновнойИнтерфейс.Имя = "Интерфейс1" Тогда Для каждого ТекИнтерфейс Из ГлавныйИнтерфейс Цикл ТекИнтерфейс.Переключаемый = Ложь; ТекИнтерфейс.Видимость = Ложь; КонецЦикла; //Задействуем интерфейс "Интерфейс1" Интерфейс1 = ГлавныйИнтерфейс.Интерфейс1; Интерфейс1.Переключаемый = Истина; Интерфейс1.Видимость = Истина; КонецЕсли; В отладчике вижу, что при ТекИнтерфейс.Видимость = Ложь и Интерфейс1.Переключаемый = Истина свойства Видимость и Переключаемый не меняют свое значение. Т.е. реальной записи значений в свойства не происходит. В чем может быть проблема? Как убрать пользователю все интерфейсы, кроме Интерфейс1? Ограничение: менять в конфигураторе свойства объектов Интерфейс нельзя, они настроены для других задач. |
|||
|
1
orcdunaev
19.04.17
✎
12:29
|
Нашел решение. Людской логикой это не объяснить, но работает ВОТ ТАК:
ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь(); Если РольДоступна("НужнаяРоль") Тогда Для каждого Интерфейс Из ГлавныйИнтерфейс Цикл Если Интерфейс <> ГлавныйИнтерфейс.Интерфейс1 Тогда Если Интерфейс.Переключаемый = Ложь Тогда //выглядит странно, но так надо. Интерфейс.Переключаемый = Ложь; КонецЕсли; КонецЕсли; КонецЦикла; ГлавныйИнтерфейс.ПереключитьИнтерфейс("Интерфейс1"); КонецЕсли; |
|||
|
2
orcdunaev
19.04.17
✎
12:31
|
Т.е. чтобы установить Переключаемый в значение Истина, надо присвоить ему Ложь.
|
|||
|
3
Волшебник
модератор
19.04.17
✎
12:32
|
(1) чушь какая-то
|
|||
|
4
orcdunaev
19.04.17
✎
12:39
|
(3) Согласен.
Вот здесь, как оказалось, тоже обсуждалось это странное обстоятельство: v8: Програмное изменение свойств интерфейса |
| Форум | Правила | Описание | Секции | Поиск |