|
8.3 получить значение реквизита формы в событии при измении | ☑ | ||
---|---|---|---|---|
0
Alex87r
10.04.19
✎
13:45
|
Всем хаюшки!
у меня на форме документа есть реквизит. Это реквизит формы, не объекта. Повесил обработчик при измении. Теперь не пойму, как получить значение реквизита. Отладкой нашел только так, но мне кажется это не совсем правильно) Элемент.Имя - это название реквизита на форме. Я его программно добавил. Значение = Элементы[Элемент.Имя].ТекстРедактирования |
|||
1
1Сергей
10.04.19
✎
13:48
|
Посмотри на форме в свойствах элемента ПутьКДанным
|
|||
2
Darych
10.04.19
✎
13:53
|
(1) Я его программно добавил.)))
|
|||
3
Alex87r
10.04.19
✎
13:54
|
Я нашел))
ЭтаФорма[Элемент.Имя] |
|||
4
Darych
10.04.19
✎
13:55
|
а просто Имя?
|
|||
5
DrWatson
10.04.19
✎
13:56
|
В редакторе формы сверху слева - элементы, сверху справа - реквизиты. Элементы доступны через Элементы.Имя. Реквизиты доступны через ЭтотОбъект.Имя, ЭтаФорма.Имя или просто Имя.
|
|||
6
DrWatson
10.04.19
✎
13:56
|
ЭтаФорма, кстати, считается устаревшим вариантом.
|
|||
7
1Сергей
10.04.19
✎
13:57
|
(6) нет. Это считается что у автора обычные формы
|
|||
8
Alex87r
10.04.19
✎
14:13
|
(7) управляемые. Мои методы устарели))
(6) А как лучше обратиться? |
|||
9
Darych
10.04.19
✎
14:14
|
(8) Имя?
|
|||
10
DrWatson
10.04.19
✎
14:18
|
(8) Да, просто по имени реквизита
|
|||
11
Cyberhawk
10.04.19
✎
14:18
|
Универсального способа получить путь к данным элемента формы нет.
Проще говоря, ты в обработчике события сам должен знать, откуда брать значение, отображаемое этим элементом. |
|||
12
Cyberhawk
10.04.19
✎
14:19
|
(без похода на сервер)
|
|||
13
Darych
10.04.19
✎
14:26
|
(12) у него контекст формы есть... а скорее всего вообще все это на клиенте
+ он рекв программно создал) |
|||
14
Alex87r
10.04.19
✎
14:33
|
Да, у меня все на клиенте.
Я программно создаю элементы на форме, поэтому не могу обратиться напрямую к ним. Я не знаю, какой именно пользователь изменяет реквизит. У меня на все элементы формы повешан обработчик "при изменении". Элемент.Имя - это название реквизита и элемента формы. Если я просто напишу Элемент.Имя я не обращусь к реквизиту формы. Если напишу ЭтотОбъект[Элемент.Имя] или ЭтаФорма[Элемент.Имя], то получаю значение реквизита формы. |
|||
15
Darych
10.04.19
✎
14:34
|
просто имя
|
|||
16
Alex87r
10.04.19
✎
14:37
|
(15) Т.е. просто имя?
Вот моя процедура, куда здесь просто имя вставить?)) &НаКлиенте Процедура ПриИзмененииПараметра(Элемент) Экспорт МасИзменить = ТаблицаПараметров.НайтиСтроки(Новый Структура ("Идентификатор", Элемент.Имя)); Если МасИзменить.Количество() Тогда МасИзменить[0].ДанныеИзменены = Истина; МасИзменить[0].Значение = ЭтотОбъект[Элемент.Имя]; КонецЕсли; КонецПроцедуры |
|||
17
Cyberhawk
10.04.19
✎
14:38
|
(13) Хорошо что есть, но без похода на сервер (т.е. с клиента) ты путь к данным элемента формы не узнаешь
|
|||
18
Cyberhawk
10.04.19
✎
14:39
|
(14) "программно создаю элементы на форме, поэтому не могу обратиться напрямую к ним" // Что мешает? ЭтотОбъект[ИмяРеквизитаХотьПрограммногоХотьНепрограммного]
|
|||
19
Cyberhawk
10.04.19
✎
14:40
|
ПолучитьРеквизиты метод формы
|
|||
20
Alex87r
10.04.19
✎
14:43
|
(18) Ну да, я так и обратился. Спасибо)
Просто мне писали напиши имя, я написал, что не могу имя написать)) |
|||
21
Darych
10.04.19
✎
14:45
|
вот до этого ни слова не было про
|
|||
22
Darych
10.04.19
✎
14:45
|
МасИзменить = ТаблицаПараметров.НайтиСтроки(Новый Структура ("Идентификатор", Элемент.Имя));
|
|||
23
Alex87r
10.04.19
✎
14:53
|
(22) А что здесь?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |