Имя: Пароль:
1C
1С v8
Упр. формы. Как методически правильно.
0 ilpar
 
02.02.12
08:40
Сижу тут, туплю.
Пока идеи мне не нравятся.

Есть поле флажка на форме.

Как при нажатии на флажок узнать его значение ?
Имя поля формы и значение реквизита объекта к примеру разные .
1 ilpar
 
02.02.12
08:41
это на клиенте смотрел.
Возможно уйти на сервер и через путь данных что-то достать - сейчас посмотрю
2 cw014
 
02.02.12
08:44
А поточнее можешь? По моему можно через "Объект.<имяреквизитаобъекта>", если оно в объекте или "<имяреквизитаформы>" если оно на форме
3 ilpar
 
02.02.12
08:50
у меня куча флажков в форме.
Надо узнать значение элемента на кот. щелкнул

Как ты доберешься до "Объект.<имяреквизитаобъекта>"

Название поля на форме и название реквизита объекта к примеру разные

Пока добрался до ЭтаФорма.ТекущийЭлемент.ПутьКДанным="Объект.НазваниеНужногоРеквизита";

Дальше х.з. пока что делать
4 ilpar
 
02.02.12
08:51
на сервере
5 Defender aka LINN
 
02.02.12
08:51
(3) У тебя на всех флажках один обработчик навешен?
6 ilpar
 
02.02.12
08:52
да
7 ilpar
 
02.02.12
08:52
в смысле много обработчиков вызывают один общий
8 cw014
 
02.02.12
08:54
А ты и не доберешься. Разве что значение этого реквизита можешь получить. Но только значение, а не его имя. ПутьКДанным у тебя будет закрыт для чтения
9 ilpar
 
02.02.12
08:56
как значение получить ?
10 Defender aka LINN
 
02.02.12
08:57
(6) Есть мнение, что в обработчик передается элемент управления
11 marvak
 
02.02.12
08:58
а что, с упр. формами всегда такой гемор?
простая задача, а решения нет
12 Defender aka LINN
 
02.02.12
08:59
(11) Какая задача? Хочешь сказать, что ты ее тут где-то упомянул?
13 ilpar
 
02.02.12
09:00
Решение есть, но неправильное.

Называть элементы формы как реквизиты объектов
14 ilpar
 
02.02.12
09:01
(12)
задача - тупо запоминать время нажатия галочек
15 marvak
 
02.02.12
09:02
(12)
насколько я понял задача "Как при нажатии на флажок узнать его значение", в (0) так написано
16 ilpar
 
02.02.12
09:02
что визуально время сразу видно было. Так себе. Сложностей никому по этому пункту не нужно
17 ilpar
 
02.02.12
09:04
у меня есть 2 или три решения - но мне нужно правильное.

На будущее, методически правильное.
18 Defender aka LINN
 
02.02.12
09:17
(15) Это уже следствие. Непонятно, для нахрена иметь 100500 флагов на форме, да еще и имена им выбирать случайным образом.
Но если у аффтара уже есть путь к данным, я не понимаю, чего ему еще надо.
19 ilpar
 
02.02.12
09:19
как по пути к данным достать значение ?
я достал, но не нравится. СтрЗаменить использовал

_ПутьКДанным=СтрЗаменить(ЭтаФорма.ТекущийЭлемент.ПутьКДанным,"Объект.","");
Значение=Объект[_ПутьКДанным];
20 Defender aka LINN
 
02.02.12
09:22
(19) Ну используй "Найти" если тебе так больше нравится
21 cw014
 
02.02.12
09:24
(19) РеквизитФормыВЗначение
22 ilpar
 
02.02.12
09:25
(21) че мне это даст
я весь объект дерну
23 cw014
 
02.02.12
09:26
(22) Тады курить надо на рабочем варианте
24 ilpar
 
02.02.12
09:30
ладно, положим разобрались.

Чет другой методический возник вопрос.

Мне чтоб реквизит у объекта простейшего типа изменить надо дергать объект
РеквизитФормыВЗначение и обратно или покатит изменение реквизита объекта Объект.НазваниеРеквизита ?
25 ilpar
 
02.02.12
09:31
и так и так работает, на при РеквизитФормыВЗначение дергается объект туда и обратно
26 cw014
 
02.02.12
09:32
(24) Объект.<реквизит> - если обычный реквизит
РеквизитФормыВЗначение - если всякие данные формы (сам объект формы, данныеформыСтруктура и т.д.)
27 ilpar
 
02.02.12
09:39
(26)не понял
Реквизит формы Объект - тип Док.Док1
Реквизит документа - Реквизит1 строка

Изменить его в форме на сервере надо
Объект.Реквизит1

или

_Объект=РеквизитФормыВЗначение("Объект");
_Объект.Реквизит1="1";
ЗначениеВРеквизитФормы("_Объект",Объект);
28 ilpar
 
02.02.12
09:40
вернее
ЗначениеВРеквизитФормы(_Объект,"Объект");
Основная теорема систематики: Новые системы плодят новые проблемы.