Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как получить значение формы

v7: Как получить значение формы
Я
   gugolovski
 
22.10.19 - 04:57
В справочнике есть три реквизита: Телефон1, Телефон2, Телефон3.


Как получить в открытой форме значение реквизита по имени?
Например,

Процедура ЗначениеДай()
имяРеквизита = Форма.АктивныйЭлемент();
Сообщить(Форма.ПолучитьАтрибут(имяРеквизита )); //выдает: "НеизвестныйОбъект"
КонецПроцедуры
 
 
   GreyK
 
1 - 22.10.19 - 05:06
Не надо делать ссылку на форму, просто ПолучитьАтрибут(имяРеквизита ).
   gugolovski
 
2 - 22.10.19 - 05:08
(1) Спасибо. Целый час туплю))
   SleepyHead
 
3 - 22.10.19 - 05:14
(2) Про синтаксис-помощник что-нибудь знаете?
   gugolovski
 
4 - 22.10.19 - 05:31
(3) пытаюсь его использовать. Например там про метод ПолучитьАтрибут() написано:
Синтаксис:
Форма.ПолучитьАтрибут(ИмяРеквизита)

Потому и пытался воткнуть слово "форма"
   SleepyHead
 
5 - 22.10.19 - 05:37
(4) Нужно учитывать контекст модуля, в котором используешь методы формы. В модуле формы достаточно указать имя атрибута формы или метода формы.
   gugolovski
 
6 - 22.10.19 - 05:41
(5) А можно сделать обратную операцию, и по имени реквизита, установить значение формы?
   SleepyHead
 
7 - 22.10.19 - 05:48
(7) Давно я с 77 не работал.. Как-то можно, через шаблон и немного магии ))

http://1c-pro.ru/threads/ustanovit-znachenie-ehlementa-formy-cherez-peredachu-konteksta.13741/
   SleepyHead
 
8 - 22.10.19 - 06:25
Еше прочитал, через недокументированную возможность может получиться (а может и нет).

Функция ВзятьКонтекст(Конт)
   Возврат Конт
КонецФункции


// далее где-то в глубине модуля формы

Конт = ВзятьКонтекст(Контекст);
Конт.УстановитьАтрибут(Имя, Значение);
   gugolovski
 
9 - 22.10.19 - 06:45
(8) магия)) - это работает
   SleepyHead
 
10 - 22.10.19 - 07:09
(9) Ну здесь как раз никакой магии нет. В этом контексте срабатывает метод УстановитьАтрибут или справочника. или документа, ты просто контекст указываешь явно.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.