Имя: Пароль:
1C
1С v8
Заблокировать все элементы на форме кроме одного
0 Простенький вопросик
 
29.08.13
14:12
Как проще Заблокировать все элементы на форме кроме одного. Чтобы не все перебирать...
1 timurhv
 
29.08.13
14:16
(0) Только перебор циклом:
СписокДоступныхЭлементов = Новый СписокЗначений;
СписокДоступныхЭлементов.Добавить("Комментарий");

        Для Сч = 0 По ЭтаФорма.ЭлементыФормы.Количество()-1 Цикл
            ЭлементФормы = ЭтаФорма.ЭлементыФормы.Получить(Сч);
            Если СписокДоступныхЭлементов.НайтиПоЗначению(ЭлементФормы.Имя) = Неопределено Тогда
                ЭлементФормы.Доступность = Ложь;
            КонецЕсли;
        КонецЦикла;
2 Поросенок Петр
 
29.08.13
14:18
Кнопку "записать" тоже? А что будет делать этот один открытый?
3 sixis
 
29.08.13
14:18
(0) Помести все элементы кроме одного в группу и заблокируй ее))
4 timurhv
 
29.08.13
14:22
(2)
СписокДоступныхЭлементов.Добавить("ОсновныеДействияФормы");
5 Простенький вопросик
 
29.08.13
14:27
(1)
да, так вроде работает. только нужный реквизит на другой закладке, чем по умолчанию. Как программно закладку переключить?
6 mikecool
 
29.08.13
14:28
(5) ТекущаяСтраница = нужнаястраница
7 Простенький вопросик
 
29.08.13
14:34
(6)
чето не работает
8 Maxus43
 
29.08.13
14:36
какая разница на какой закладке? В ЭлементыФормы перечислены все
9 Простенький вопросик
 
29.08.13
14:39
(8)
ну чтобы юзер открыл документ, а ему только один реквизит можно было изменить
10 Поросенок Петр
 
29.08.13
14:40
ТолькоПросмотр надо менять. Тогда и с закладками не будет проблем.
11 Maxus43
 
29.08.13
14:44
ЭтаФорма.ТолькоПросмотр = истина;
ЭтаФорма.ЭлементыФормы.ТвойЭлемент....
12 Простенький вопросик
 
29.08.13
15:01
(11)
это не подходит, надо чтобы юзер реквизит менял.
13 timurhv
 
29.08.13
15:37
(12) Добавь в список значений название панели с закладками:
СписокДоступныхЭлементов.Добавить("Панель1");
14 Поросенок Петр
 
29.08.13
15:42
(13) Закрывать доступ к заполненным ссылочным полям это троллить пользователя. Зачем отбирать возможность открыть выбранный элемент?
15 FIXXXL
 
29.08.13
15:45
(0) нарисуй обработку для изменения этого реквизита
16 timurhv
 
29.08.13
15:46
(14) епт, сам написал заблокировать))) Исправь на только просмотр и радуйся жизни.
17 Простенький вопросик
 
29.08.13
15:58
Вот смотрите, у меня сейчас такой код. Страница открывается. Но в конце нужный реквизит не разблокируется. почему?

    Если рольдоступна("РеализацияСтатус") тогда
        ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница=ЭлементыФормы.ОсновнаяПанель.Страницы.Печать;

        Для Сч = 0 По ЭтаФорма.ЭлементыФормы.Количество()-1 Цикл
            Элементы = ЭтаФорма.ЭлементыФормы.Получить(Сч);
            
                Элементы.доступность= ложь;
          
        КонецЦикла;

        этаформа.ЭлементыФормы._СтатусДокумента.Доступность=Истина;
        конецесли;
18 timurhv
 
29.08.13
16:25
(17) смотри 13
19 Простенький вопросик
 
29.08.13
16:35
(18)
да, ты прав, спасибо