Имя: Пароль:
1C
 
8.2 Какая кнопка нажата?
0 bestuzhev
 
24.02.11
11:24
Есть управляемая форма, на ней 2 кнопки (Кнопка1 и Кнопка2), обе кнопки вызывают одну и ту же команду. Как узнать какая из кнопок была нажата?

8.2 Управляемый режим
1 acsent
 
24.02.11
11:26
никак. нужно делать разные команды
2 Cube
 
24.02.11
11:27
Если ТекущийЭлемент.Имя = "Кнопа1" Тогда...
3 bestuzhev
 
24.02.11
11:28
(1) Проблема в том, что кнопки создаются динамически, в процессе работы, и на них вешается одна команда, а там уже надо отобрать, какая кнопка нажата и выполнить определенную операцию в зависимости от этого.
4 Cube
 
24.02.11
11:29
+(2) но перед этим ещё лучше, на всякий случай, такую проверку вставить:

Если ТипЗнч(ТекущийЭлемент) <> Тип("КнопкаФормы") Тогда
   Возврат;
КонецЕсли;
5 acsent
 
24.02.11
11:29
(3) Открою тайну, команды тоже можно создавать динамически
6 Cube
 
24.02.11
11:30
(1), (5) открою тайну - у меня всё работает...
7 bestuzhev
 
24.02.11
11:30
(5) Видимо только так и остается только.
8 bestuzhev
 
24.02.11
11:31
(2) Это &НаКлиенте?
9 Cube
 
24.02.11
11:32
(8) Да.
10 acsent
 
24.02.11
11:32
(6) Я предложил метод, рекомендованный 1С
11 Киборг
 
24.02.11
11:34
(2) если кнопка нажата не мышкой, то текущий элемент может быть другим
12 Cube
 
24.02.11
11:35
(11) Серьезно? А чем ты кнопку ещё нажмешь?
13 acsent
 
24.02.11
11:36
(12) сочетание клавиш
14 Mitriy
 
24.02.11
11:38
что мешает сделать разные команды? религиозные предпочтения?
15 Cube
 
24.02.11
11:38
(13) Умеешь привязывать сочетания клавиш к кнопке на форме? Ты про 1С вообще говоришь?))
16 Mort
 
24.02.11
11:38
(4) Раз ставишь проверку, значит сам сомневаешься что сработает в 100%. Особенно радует возврат в условии. Мол не нашли, ну и бог с ним, отработаем в другой раз.
17 bestuzhev
 
24.02.11
11:39
(2) Скинь плиз текст всей функции (процедуры) Что-то не работает.
18 Cube
 
24.02.11
11:40
19 acsent
 
24.02.11
11:40
(15) сочетания привязываются к команде
20 Cube
 
24.02.11
11:40
+(18) Ищи процедуру НажатиеНаКнопку()
21 Cube
 
24.02.11
11:41
(19) И как это может нам помочь? Если одна команда привязана к двум кнопкам, то никак.
22 acsent
 
24.02.11
11:42
(21) Поэтому и не надо делать, как ты говоришь
23 Mitriy
 
24.02.11
11:43
мда... легких путей не ищем...
24 Mort
 
24.02.11
11:44
(21) Вам уже ничем не помочь.
25 Cube
 
24.02.11
11:45
(21) Обоснуй.
26 Cube
 
24.02.11
11:45
(25) к (22)
27 Cube
 
24.02.11
11:46
(24) Ещё один...
28 acsent
 
24.02.11
11:46
(25) Есть такое понятие "Рекомендация 1С", но тебе наверное никогда им не следуешь
29 Cube
 
24.02.11
11:49
(28) 1). Ссылку в студию. Языком молотить все умеют.
2). На днях от 1С поступила рекомендация для каждой организации заводить отдельный склад в УПП. Примешь к действию? Ты же у нас всё на веру берешь.
30 Mitriy
 
24.02.11
11:50
(25) данная ветка - уже вполне достаточное обоснование...
31 Cube
 
24.02.11
11:52
(30) Обоснование чего? Что сказать-то хотел?
32 Киборг
 
24.02.11
11:54
(12) нажми кнопку по умолчанию с помощью Ctrl+Enter и проверь текущий элемент
33 Mitriy
 
24.02.11
11:54
(31) я уже все сказал... а вот из-за чего ты слюнями брызжешь, совершенно непонятно...
34 Cube
 
24.02.11
11:59
(32) ответ в (21)
35 Киборг
 
24.02.11
12:02
(34) кнопка по умолчанию может быть только одна
36 Cube
 
24.02.11
12:05
(35) Я в курсе. А к команде, которой привязана кнопка по-умолчанию, могут быть привязаны и другие кнопки... Прикинь?
37 Киборг
 
24.02.11
12:09
(36) эээ...
Если нажать кнопку по умолчанию с помощью Ctrl+Enter, когда текущим элементом является не эта кнопка, то текущим элементом будет не эта кнопка. Так понятно?
38 Cube
 
24.02.11
12:14
(37) Понятно. Но если привязывать хоткеи, то тогда это нужно решать другими методами, а не (2). Понятно?

Я ж не говорю, что мой метод универсален, но под решение конкретной задачи он подходит.
39 acsent
 
24.02.11
12:18
(38) Как может универсальный метод кудато не подходить?
40 Cube
 
24.02.11
12:21
(39) Где написано, что он универсальный?
41 Киборг
 
24.02.11
12:27
(38) Свойство "кнопка по умолчанию" может назначить пользователь.

И в 8.1, 8.0 надо было пользоваться проверкой не
Если ТекущийЭлемент.Имя = "Кнопа1" Тогда...
а
Если Кнопка.Имя = "Кнопа1" Тогда...
где Кнопка - параметр события нажатия
42 Cube
 
24.02.11
12:33
(41) Атлична. Пример обработки в (18). Сможешь реализовать по-другому (в смысле не через ТекущийЭлемент)?
43 Mitriy
 
24.02.11
12:37
(42) $1000
44 Cube
 
24.02.11
12:38
(43) Зачем платить за то, что и так работает? Причем работает как надо.
45 Киборг
 
24.02.11
12:46
(42) Даже не смотря, увернно говорю, что могу :)
И ты тоже можешь. :)
А зачем?
46 Cube
 
24.02.11
12:48
(45) Вот и я о том же)) А зачем делать через команды, когда можно и даже проще сделать через ТекущийЭлемент?
47 Киборг
 
24.02.11
12:53
(46) надежней
48 Cube
 
24.02.11
13:08
(47) Ну что надежнее, ещё под вопросом...
Ну так что, кто сможет сделать (42)? :)))
Или все только языком молотить умеют?)
49 Mitriy
 
24.02.11
13:10
(48) ищи студентов...
50 Aprobator
 
24.02.11
13:11
а нафига одно и тоже к двум разным кнопкам прикручивать?
51 Cube
 
24.02.11
13:12
(49) Один сдулся. Следующий!))
52 Cube
 
24.02.11
13:13
(50) Смотри в (18).
53 acsent
 
24.02.11
13:16
(50) Одно и тоже может быть, например, кнопка и кнопка контекстного меню
54 Aprobator
 
24.02.11
13:20
(52) а фигней страдаем. Тоже дело.
55 Mitriy
 
24.02.11
13:23
(52) перечисли указанную сумму, будет разговор... а так сдулся ты...
56 Aprobator
 
24.02.11
13:24
(53) ну и? Из команды не сделать вызов нужной процедуры? Надо все обязательно внутри команды делать?
57 Cube
 
24.02.11
13:24
(54) Все с чего-то начинали изучать УФ. Я начал с (18) - и изучил УФ и удовольствие получил.
58 Cube
 
24.02.11
13:27
(55) Давай-давай... Ты всегда, когда споришь, просишь у собеседника денег?)) Я никакой выгоды от того, что ты безуспешно попытаешься сделать (42) не получу, зачем мне нести издержки?
59 Aprobator
 
24.02.11
13:28
(57) я предпочитаю изучать с реальных задач. А не с реализации сферического коня в вакууме. Затраты меньше и отдача больше.
60 Aprobator
 
24.02.11
13:28
(58) а получение знаний не есть выгода?
61 Mitriy
 
24.02.11
13:29
(58) вот блин... я тебе уже показал направление... осталось мозгами пошевелить совсем чуть-чуть, но ты и этого не хочешь сделать, продолжаешь играть в упрямого барана...
62 Cube
 
24.02.11
13:33
(60) Смотря каких знаний...
63 Aprobator
 
24.02.11
13:34
(61) да он там какой то калькулятор на 1С пишет и хочет, чтобы все кнопки в одну процедуру смотрели сразу, а она уже смотрела какая это кнопка, ну и т.д..
64 Aprobator
 
24.02.11
13:34
(62) применяемых на практике, а не фиг знает нужных ли вообще.
65 Mitriy
 
24.02.11
13:36
(63) я видел скрин... и в общем-то вполне даже поддерживаю такие вещи... и тоже считаю, что они очень даже полезны...
66 Cube
 
24.02.11
13:36
(61) Да из нас баран-то это как раз ты - не видишь способов решения моей задачи по-другому и продолжаешь гнуть своё...
67 Mitriy
 
24.02.11
13:37
(66) ладно, я ушел... можешь успокоиться...
68 Cube
 
24.02.11
13:39
(63) А твоя какая печаль чем я занимаюсь в свободное время?
69 Cube
 
24.02.11
13:39
(67) Иди иди... Подумай.
70 5 Элемент
 
24.02.11
13:41
Можно и так и так.
В чем собственно проблема?
71 Cube
 
24.02.11
13:44
(70) Да фиг знает, набросились на меня со всех сторон... :)
Хотя я просто предложил альтернативный вариант.
72 Киборг
 
24.02.11
13:52
(71) Остынь и попробуй понять, что это только твоя субъективная точка зрения. Однобокая.
А точек зрения больше, как и решений почти любой задачи. :) И каждое решение обладает своими особенностями, преимуществами и недостатками. Например, надежностью, трудоемкостью, простотой, условиями применения...
73 Cube
 
24.02.11
13:53
"каждое решение обладает своими особенностями, преимуществами и недостатками. Например, надежностью, трудоемкостью, простотой, условиями применения..."
+100500
74 Cube
 
24.02.11
13:56
"Остынь и попробуй понять, что это только твоя субъективная точка зрения"
-100500

Я спокоен, просто умничать не надо. Я предложил вариант ничем не хуже других и не кричал, что он единственно правильный, в отличие от других участников беседы. Так что тут я с тобой не солидарен.
75 Киборг
 
24.02.11
14:16
(74) Ты не согласен, что твой вариант имеет дополнительные ограничения к условиям применения? (если кнопкам назначить одну команду, то им нельзя задать горячие клавиши, а если назначить разные команды, то нажатие горячей клавиши приведет к ошибкам в программе, если текущим элементом является не эта кнопка)
76 Cube
 
24.02.11
14:22
(75) Я совершенно с этим согласен. Но со всеми этими ограничениями, он прекрасно себя проявляет в (18).
Мой вариант имеет право на существование или ты не согласен, как и другие участники беседы?
77 Киборг
 
24.02.11
14:30
(76) Посмотрел твою обработку, в ней совершенно нет смысла навешивать горячие клавиши на кнопки. Поэтому в ней твой подход является нормальным.

Но не могу сказать того же про ситуацию в (0). А вариант пожелания пользователя оптимизировать ввод данных только с клавиатуры нельзя скидывать со счетов.