Имя: Пароль:
1C
1С v8
Как запретить изменение элемента формы при открытии документа (управляемые формы)
,
0 Редкостная Редиска
 
14.11.19
17:25
Коллеги, добрый день! Подскажите, пож-та, как можно заблокировать документ"Реализация" при открытии кроме ввода отдельных реквизитов, возможность проведения тоже сохранить
1 Редкостная Редиска
 
14.11.19
17:27
Блокировать форму знаю как, а вот как оставить отдельные реквизиты доступными, не получается
2 Редкостная Редиска
 
14.11.19
17:27
Форма.Элементы.Реквизит.Доступность = Ложь     - не помогает
3 Fish
 
14.11.19
17:28
Обходишь элементы формы в цикле и ставишь им только просмотр или доступность=ложь. Те, которые не надо блокировать - пропускаешь.
4 Капитан Джек Воробей
 
14.11.19
17:28
(2) а так?
ЭтаФорма.Элементы.ПорядокРасчетов.Доступность = Ложь;
5 prostoya
 
14.11.19
17:29
Форма.Элементы.Реквизит.Доступность = Ложь     - не помогает

может поставить ИСТИНА? чтобы доступен реквизит был.
6 mmmarat
 
14.11.19
17:30
(0) В БСП есть подсистема блокирования редактирования реквизитов. Если банальные доступность и толькопросмотр не устраивают.
7 Fish
 
14.11.19
17:32
Не надо форму.
Для элементов типа поле ввода пишешь
Элементы.Реквизит.ТолькоПросмотр = Истина;
Для кнопок и чего-то ещё (навскидку не помню) - Элементы.Реквизит.Доступность = Ложь;
8 Редкостная Редиска
 
14.11.19
17:41
В модуле формы в конце процедуры ПриОткрытии прописан следующий код:
    Попытка
        Если РольКладовщик() Тогда
            Для каждого Элемент из ЭтаФорма.Элементы Цикл
                Элемент.Доступность=Ложь;        
            КонецЦикла;
            //ЭтаФорма.Доступность=Ложь;
            ЭтаФорма.Элементы.ДатаОтгрузки.Доступность=Истина;
        КонецЕсли;
    Исключение
Доступность НЕ меняется.
Если раскомментировать закомментированный участок, то блокируется вся форма
9 Капитан Джек Воробей
 
14.11.19
17:49
(8) Пойдем длинным путем поставь точку останова на строке: ЭтаФорма.Элементы.ДатаОтгрузки.Доступность=Истина;
.. и посмотри что ты присвоил в цикле... а когда увидишь, то поймешь)
10 prostoya
 
14.11.19
19:16
Возможно ДатаОтгрузки входит в группу, которая Доступность = Ложь..., в цикле для всех элементов ведь устанавливаете, в том числе и для групп элементов. Может попробовать в цикле Доступность = Ложь устанавливать только для элементов у которых нет подчиненных элементов..., чтобы группы остались свободными, а так все что в группе тоже блокируется вместе с содержимым.
11 prostoya
 
14.11.19
19:29
или как то по свойству "Вид" определять, что это группа или страница и не блочить…, вариантов много... суть - не блокировать группу в которую входит элемент, который следует оставить свободным