Имя: Пароль:
1C
1С v8
Установка доступности полю Тч
, ,
0 falselight
 
20.10.16
09:19
Необходимо задавать доступность полю табличной части управляемой формы.
Если выбрано в одном из полей нужное значение перечисления то поле доступно, иначе нет. Делаю процедуру при изменении, в этом поле с типом перечисления. Как задать доступность для другого поля???

&НаКлиенте
Процедура РасшифровкаПриИзменении(Элемент)
    Если Элемент.ТекущиеДанные.Способ = Перечисления.СпособыРасшифровки.Формула Тогда
        
    КонецЕсли;
КонецПроцедуры
1 Lexey_
 
20.10.16
09:29
(0) Элементы.Имя.Доступность
2 Lexey_
 
20.10.16
09:31
или через УО
3 FIXXXL
 
20.10.16
09:40
(2) +1 в условном оформлении пропиши условие и выстави ТолькоПросмотр
4 FIXXXL
 
20.10.16
09:40
(3) + ну и область применения не забудь
5 pavelul73
 
20.10.16
09:41
Свойства Формы - Условное оформление.
Зачем делать велосипед, если все уже реализовано за нас?
6 falselight
 
20.10.16
09:45
(1) так Элементы.Имя - это же имя табличной части? Доступность нужно на поле табличной части ставить.
7 falselight
 
20.10.16
09:45
(5) ну вот, разбирать сейчас буду как это сделать через ОУ
8 Lexey_
 
20.10.16
09:48
(6) "так Элементы.Имя - это же имя табличной части?" чье имя напишешь, то и будет
9 falselight
 
20.10.16
09:51
(8) Ну вот доступность то задается на табличную часть а не на поле. На поле как задать доступность не нащел.
10 falselight
 
20.10.16
09:51
(5) пробую что то там задать, не знаю получится нет
11 Lexey_
 
20.10.16
09:53
(9) " На поле как задать доступность не нащел" я ж тебе в (1) написал
12 falselight
 
20.10.16
09:55
(11) Элементы.
потом имя табличной части
Элементы.ИмяТч
потом доступность
Элементы.ИмяТч.Доступность - это доступность на всю же тч???

или так сработает

Элементы.ИмяТч.ИмяКолонки.Доступность? - нет веть
13 Lexey_
 
20.10.16
09:56
(12) Элементы.ИмяТчИмяКолонки.Доступность
14 falselight
 
20.10.16
09:58
(4) а область применения это где?

(13) сейчас попробую
15 falselight
 
20.10.16
10:17
Почему ругается на текущие данные? как правильно нужно?

&НаКлиенте
Процедура РасшифровкаПриИзменении(Элемент)
    Если ЭтоФормула(Элементы.ТекущиеДанные.Способ) = 1 Тогда
        Элементы.РасшифровкаФормула.Доступность = Истина;
    Иначе
        Элементы.РасшифровкаФормула.Доступность = Истина;
    КонецЕсли;
КонецПроцедуры
// <-
&НаСервере
Функция ЭтоФормула(Перечисление)
    Если Перечисление = Перечисления.СпособыРасшифровки.Формула Тогда
        Возврат 1;
    КонецЕсли;
Возврат 0;
КонецФункции
16 falselight
 
20.10.16
10:23
опечатка, вот так работает, пойдет так?

&НаКлиенте
Процедура РасшифровкаПриИзменении(Элемент)
    Если ЭтоФормула(Элемент.ТекущиеДанные.Способ) = 1 Тогда
        Элементы.РасшифровкаФормула.Доступность = Истина;
    Иначе
        Элементы.РасшифровкаФормула.Доступность = Истина;
    КонецЕсли;
КонецПроцедуры
// <-

&НаСервере
Функция ЭтоФормула(Перечисление)
    Если Перечисление = Перечисления.СпособыРасшифровки.Формула Тогда
        Возврат 1;
    КонецЕсли;
Возврат 0;
КонецФункции
17 Lexey_
 
20.10.16
10:37
(16) в твоем случае, пойдет, а вообще, код можно сократить до одной строки, а еще лучше - использовать УО
18 falselight
 
20.10.16
10:53
(17) я пробовал, задал условие что только просмотр, если перечисление равно такому то значению в условие, и оформляемое поле равно такому то полю табличной части

не знаю как это работало бы, в принципе это и сейчас задано, но что такое область применения? о чем советовали в (4)
19 falselight
 
22.10.16
15:23
(17) сделал с использованием ОУ, работает, буду тестировать далее, Но о чем говорили в (4), про какую область применения???
20 FIXXXL
 
24.10.16
09:09
(18) Оформляемые поля это называется, там укажи свою колонку