|
v7: Как получить значение формы
| ☑ |
0
gugolovski
22.10.19
✎
04:57
|
В справочнике есть три реквизита: Телефон1, Телефон2, Телефон3.
Как получить в открытой форме значение реквизита по имени?
Например,
Процедура ЗначениеДай()
имяРеквизита = Форма.АктивныйЭлемент();
Сообщить(Форма.ПолучитьАтрибут(имяРеквизита )); //выдает: "НеизвестныйОбъект"
КонецПроцедуры
|
|
1
GreyK
22.10.19
✎
05:06
|
Не надо делать ссылку на форму, просто ПолучитьАтрибут(имяРеквизита ).
|
|
2
gugolovski
22.10.19
✎
05:08
|
(1) Спасибо. Целый час туплю))
|
|
3
SleepyHead
гуру
22.10.19
✎
05:14
|
(2) Про синтаксис-помощник что-нибудь знаете?
|
|
4
gugolovski
22.10.19
✎
05:31
|
(3) пытаюсь его использовать. Например там про метод ПолучитьАтрибут() написано:
Синтаксис:
Форма.ПолучитьАтрибут(ИмяРеквизита)
Потому и пытался воткнуть слово "форма"
|
|
5
SleepyHead
гуру
22.10.19
✎
05:37
|
(4) Нужно учитывать контекст модуля, в котором используешь методы формы. В модуле формы достаточно указать имя атрибута формы или метода формы.
|
|
6
gugolovski
22.10.19
✎
05:41
|
(5) А можно сделать обратную операцию, и по имени реквизита, установить значение формы?
|
|
7
SleepyHead
гуру
22.10.19
✎
05:48
|
(7) Давно я с 77 не работал.. Как-то можно, через шаблон и немного магии ))
|
|
8
SleepyHead
гуру
22.10.19
✎
06:25
|
Еше прочитал, через недокументированную возможность может получиться (а может и нет).
Функция ВзятьКонтекст(Конт)
Возврат Конт
КонецФункции
// далее где-то в глубине модуля формы
Конт = ВзятьКонтекст(Контекст);
Конт.УстановитьАтрибут(Имя, Значение);
|
|
9
gugolovski
22.10.19
✎
06:45
|
(8) магия)) - это работает
|
|
10
SleepyHead
гуру
22.10.19
✎
07:09
|
(9) Ну здесь как раз никакой магии нет. В этом контексте срабатывает метод УстановитьАтрибут или справочника. или документа, ты просто контекст указываешь явно.
|
|