Имя: Пароль:
1C
1C 7.7
v7: Shift+F4
,
0 Chelentana
 
30.08.13
11:28
Уважаемые гуру! Подскажите, срабатывает ли какой-то предопределенный обработчик при нажатии горячей клавиши Shift+F4? Например, в контексте формы объекта документа? Если нет, то каким образом можно прилепить процедурку к этому действию? Заранее спасибо.
1 viktor_vv
 
30.08.13
11:29
Ну так там формула должна отрабатывать в элементе диалога.
2 Chelentana
 
30.08.13
11:30
не-а, в том то и дело что формула не срабатывает
3 Chelentana
 
30.08.13
11:31
при ручном нажатии срабатывает, а shift+f4 обходит её
4 viktor_vv
 
30.08.13
11:33
(3) Не верю.
5 Chelentana
 
30.08.13
11:33
Предопределенное событие ПриНачалеВыбораЗначения() тоже только при интерактивном жмякании...
6 Chelentana
 
30.08.13
11:34
(4) проверял точкой останова? я - да!
7 viktor_vv
 
30.08.13
11:34
(4) Если там уже было пусто, то да, не срабатывает. Если реквизит был заполнен, то при Sfit+F4 все отрабатывает.
8 viktor_vv
 
30.08.13
11:35
(6) Проверял через Сообщить() :).
9 Chelentana
 
30.08.13
11:35
прошу прощения, не прав я. спасибо!
10 Chelentana
 
30.08.13
11:36
на событии поставил точку останова, а на процедуре формулы не проставилась, не сразу заметил :)
11 m-serg74
 
30.08.13
11:54
(10) вроде как очистка выбранного значения
12 Джордж1
 
30.08.13
11:55
(11)+1
13 Chelentana
 
30.08.13
11:56
(11) это что такое? предопределенное событие?
14 m-serg74
 
30.08.13
11:59
(13) нет это "предопределенное" действие... почему именно это сочетание?
15 Chelentana
 
30.08.13
12:02
Волшебное Shift+F4 все равно отрабатывает даже если в процедуре прописать СтатусВозврата(0)
Знает кто красивый выход из ситуации кроме как сохранять переменную при открытии, и переопределять при интерактивной работе пользователя?
16 Ёпрст
 
30.08.13
12:08
(15) а тебе че надо, чтоб не срабатывало ?
17 Ёпрст
 
30.08.13
12:09
штатно - кнопку с хоткеем разместить на форме, и привет..
срабатывать шифт+ф4 не будет.
18 Chelentana
 
30.08.13
12:11
То есть если я хочу чтобы не могли юзеры так очищать - создаю кнопу,делаю её невидимой, присваиваю ей хоткей, в формуле для кнопки пишу статусвозрвата(0) и очищаться поле не будет?
19 Ёпрст
 
30.08.13
12:17
20 Ёпрст
 
30.08.13
12:17
наслаждайся
21 fedoss
 
30.08.13
12:28
(19) но никто не мешает очистить через "Действия-Очистить значение". Так что не совсем "Хрен очистишь" ;)
22 Chelentana
 
30.08.13
12:30
(21) к стати да! но все равно прекланяюсь преклоняюсь перед виртуозностью Епрста! Но мне ж нужно не все поля так запретить, а лишь одно с формы. Решил вопрос по другому - определил переменную при открытии со значением нужного мне поля, и при Shift+F4 туда переприсваиваю это значение. Всем спасибо!
23 fedoss
 
30.08.13
12:37
(22) проблему с запретом всех полей можно легко обойти через Форма.АктивныйЭлемент(), но очистка через Действия все равно остается.
По-моему проще и нагляднее добавить Формулу элементу диалога и в ней уже возвращать старое значение в случае его очистки.
24 Ёпрст
 
30.08.13
12:46
(22) вот это можешь посмотреть, там по Ctrl+Z возвращаются все старые атрибуты формы "по кругу"

http://infostart.ru/public/20038/
25 Chelentana
 
30.08.13
13:04
(23) ага, я так и сделал
26 Chelentana
 
30.08.13
13:05
(24) ух ты! круто! возьму себе на заметку
27 FN
 
30.08.13
14:24
(22) Зачем выводить на форму поле, с которым все равно ничего сделать нельзя????
Упрощай интерфейс, все что лишнее скрывай от пользователя.
28 Torquader
 
30.08.13
21:50
(27) Поле можно выводить, но заблокированным от изменения, чтобы пользователь видел введённое значение, но поменять его не мог.
Скрывать - не хорошо, так как если в форме всё запрещено, то по вашему нужно показывать пустое окно ?
Закон Брукера: Даже маленькая практика стоит большой теории.