|
какую выбрать процедуру для изменения доступности на УФ документа
| ☑ |
0
Филипп Остырко
27.03.19
✎
11:09
|
я хотел заблокировать реквизит2 табл части при заполнении значения реквизита1 . работает,но когда я удаляю значение реквизита1, то реквизит 2 всё равно не доступен. как сделать, что он ставал доступным?
&НаКлиенте
Процедура Реквизит1ПриИзменении(Элемент)
Если Не ПустаяСтрока(Элементы.Реквизит1) Тогда
Элементы.Реквизит2.Доступность = Ложь;
Иначе
Элементы.Реквизит2.Доступность = Истина;
КонецЕсли;
КонецПроцедуры
КонецПроцедуры
|
|
1
ДенисЧ
27.03.19
✎
11:12
|
А условие-то срабатывает? Может, там не строка? Может, Проверить ЗначениеЗаполнено() ?
|
|
2
Филипп Остырко
27.03.19
✎
11:16
|
(1) Сначала делал так, но вышла ошибка :Проверка мутабельных значений на заполненность не поддерживается
|
|
3
palsergeich
27.03.19
✎
11:18
|
Элементы.табличнаячасть.подчиненныеэлементы.найти(имяреквизмта).толькопросмотр
|
|
4
vdss
27.03.19
✎
11:19
|
Ошибка тут: ПустаяСтрока(Элементы.Реквизит1)
Проверять на пустую строку надо не элемент формы, а значение реквизита ТЧ.
|
|
5
palsergeich
27.03.19
✎
11:20
|
Хотя не, это немного про другое, приношу извинения
|
|
6
palsergeich
27.03.19
✎
11:21
|
Какого типа значения возможны в этом реквизите ТЧ?
|
|
7
vdss
27.03.19
✎
11:24
|
Причем у тебя может быть в первой строке реквизит1 заполнен (реквизит2 должен быть недоступен), а во второй строке реквизит1 пустой (реквизит2 должен быть доступен). Таким образом, доступность должна определяться не только при изменении реквизита1, но и при активизации строки (при переключении между строками ТЧ).
ТекущиеДанные = Элементы.ИмяТЧ.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Элементы.Реквизит2.Доступность = ЗначениеЗаполнено(ТекущиеДанные.Реквизит1);
КонецЕсли;
Этот код поместить в отдельную процедуру и вызывать ее при изменении, и при активизации строки
|
|
8
Филипп Остырко
27.03.19
✎
11:25
|
(6) тип реквизита СправочникСсылка.Справочник
|
|
9
Филипп Остырко
27.03.19
✎
11:25
|
(7) Попробую.Спасибо
|
|