Имя: Пароль:
1C
1С v8
доступ к отдельным реквизитам табличной части
0 pups777
 
10.06.19
13:00
всем добрый день
пытаюсь таким образом достучатся к закрытому на редактирование заказа но ничего не выходит

    Если        РольДоступна("Менеджер")=Истина Тогда
        Если Стадия=Перечисления.Стадия.Завершен Тогда
            Для каждого Элемент Из ЭтаФорма.ЭлементыФормы.Товары.Колонки цикл
                    Имя_ = Элемент.Имя;
                    Если имя_="Цена" ИЛИ
                        имя_="Товары" ИЛИ
                        Элемент.Доступность= Истина;
                        КонецЕсли;
                КонецЦикла;    
        КонецЕсли;    
    КонецЕсли;
1 RomanYS
 
10.06.19
13:01
(0) логично. Если у формы ТолькоПросмотр, то игра с доступностью элементов бесполезна
2 pups777
 
10.06.19
13:10
спасибо
3 pups777
 
10.06.19
13:25
сделал так ТЧ стала доступна но все равно не активны две колонки
Если        РольДоступна("Менеджер")=Истина Тогда
        Если Стадия=Перечисления.Стадия.Завершен Тогда
            ЭтаФорма.ТолькоПросмотр = Ложь;
            Для каждого Элемент Из ЭтаФорма.ЭлементыФормы цикл
                Имя = Элемент.Имя;
                Если имя="Товары"  ИЛИ
                    имя="ОсновнаяПанель" Тогда
                    Элемент.Доступность= Истина;
                    
                    Для каждого Элемент Из ЭтаФорма.ЭлементыФормы.Товары.Колонки цикл
                        Имя_ = Элемент.Имя;
                        Если имя_="Цена" ИЛИ
                            имя_="Оплата" Тогда
                            Элемент.Доступность= Истина;
                        КонецЕсли;
                    КонецЦикла;    
                    
                Иначе
                    Элемент.Доступность= Ложь;     
                КонецЕсли;
            КонецЦикла;
4 RomanYS
 
10.06.19
13:31
(3) Зачем искать элементы в цикле, если ты их заранее знаешь?

У тебя одинаковый итератор в двух циклах:
Для каждого Элемент Из
5 pups777
 
10.06.19
13:37
(4) так тоже на пашет
    Если        РольДоступна("Менеджер")=Истина Тогда
        Если Стадия=Перечисления.Стадия.Завершен Тогда
            ЭтаФорма.ТолькоПросмотр = Ложь;
            Для каждого Элемент Из ЭтаФорма.ЭлементыФормы цикл
                Имя = Элемент.Имя;
                Если имя="Товары"  ИЛИ
                    имя="ОсновнаяПанель" Тогда
                    Элемент.Доступность= Истина;
                    
                    Если имя_="Товары" Тогда
                        Для каждого Элемент2 Из ЭтаФорма.ЭлементыФормы.Товары.Колонки цикл
                            Имя_2 = Элемент2.Имя;
                            Если Имя_2="Цена" ИЛИ
                                Имя_2="Оплата" Тогда
                                Элемент2.Доступность= Истина;
                                                            КонецЕсли;
                        КонецЦикла;    
                    КонецЕсли;
                    
                Иначе
                    Элемент.Доступность= Ложь;     
                КонецЕсли;
            КонецЦикла;    
            
        КонецЕсли;    
    КонецЕсли;
6 pups777
 
10.06.19
15:17
подниму
7 RomanYS
 
10.06.19
15:20
(6) отладчик лучше подними
8 hhhh
 
10.06.19
22:27
(6) ну так может

ЭлементыФормы.Товары.Колонки.Цена.Доступность= Истина;
ЭлементыФормы.Товары.Колонки.Оплата.Доступность= Истина;

а всю эту твою лабуду выкинуть?
Основная теорема систематики: Новые системы плодят новые проблемы.