![]() |
|
Заблокировать команду, повешенную на кнопку клавиатуры | ☑ | ||
---|---|---|---|---|
0
LienXo
29.11.19
✎
11:37
|
Очередной вопрос из серии "А оно тебе надо?" - но надо.
И так: на форме есть кнопки команд - калькулятор - подвешенные на кнопки клавиатуры. И есть таблица с цифровым полем - сумма (теоретически ее можно редактировать). Если пытаемся зайти в поле сумма и ввести туда свое число - нажатие на кнопку перехватывается и отрабатывает калькулятор, а редактирование поля прекращается. Если при начале редактирования поля в обработчике указать "Калькулятор.Видимость = Ложь" - отрабатывает почти как надо, но в поле нужно стучатся дважды - при изменении видимости 1С сбрасывает редактирование поля. На изменение "Калькулятор.Доступность = Ложь" реагирует оригинальнее - команда кнопки не отрабатывает, но редактирование поля все равно прекращается. Варианты: открыть отдельное окошко для ввода суммы или ввести сумму с самого калькулятора - возможны, но хочется пока так как описано. Может есть предложения? |
|||
1
Ёпрст
гуру
29.11.19
✎
11:38
|
имеет кнопку выбора убрать у поля, не вариант ?
|
|||
2
Ёпрст
гуру
29.11.19
✎
11:40
|
а понял, ты на кнопки свои команды повешал и хочешь их блокировать при редактировании поля ? Доступность при начале активизации поля суммы меняй им
|
|||
3
Ёпрст
гуру
29.11.19
✎
11:42
|
ну и.. команды на какие цифры, на доп клавиатуру тоже ? Или только на цифры сверху клавы ?
|
|||
4
LienXo
29.11.19
✎
11:42
|
(2) Пробовал - не помагает. Команда не отрабатывает но сбрасывается редактирование поля
|
|||
5
Ёпрст
гуру
29.11.19
✎
11:49
|
(4) на какое событие вешал доступность ?
|
|||
6
LienXo
29.11.19
✎
11:50
|
(5) ПриНачалеРедактирования
Для проверки просто в конфигураторе повесил Доступность=Ложь. Тоже самое. |
|||
7
pechkin
29.11.19
✎
11:52
|
при активизации поля - нет такого события к сожалению
|
|||
8
LienXo
29.11.19
✎
11:56
|
(7) есть активизация строки - откуда можно вытащить активное поле. Не помогло. Больше проблем.
|
|||
9
LienXo
29.11.19
✎
11:58
|
+(8) даже не строки - ячейки. Все равно - надо проверить, начали ли редактировать, вешать обработчик ожидания - результат, все равно сброс редактирования поля
|
|||
10
pechkin
29.11.19
✎
12:00
|
можено еще сдалать при обработке команды проверять а может редактирование
|
|||
11
LienXo
29.11.19
✎
12:06
|
(10) к моменту обработки поле уже не активно. Понятно, что вбить туда значение последней нажатой клавиши я могу, но редактирования поля уже нет.
|
|||
12
LienXo
29.11.19
✎
12:07
|
Сброс сочетания клавиш при начале редактирования тоже не помог - серверный вызов - точно так же как и с видимостью, приходится дважды в ячейку стучать
|
|||
13
LienXo
29.11.19
✎
12:21
|
Взял в качестве решения пока так (с видимостью не отрабатывает)
&НаСервере Процедура ТоварыСбросить() Команды.Найти("калк1").СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.Нет); Команды.Найти("калк_п1").СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.Нет); КонецПроцедуры &НаКлиенте Процедура ТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) Если НЕ ИдетРедактированиеСуммы Тогда ТоварыСбросить(); //Элементы.пмКалькулятор.Видимость = Ложь; ИдетРедактированиеСуммы = Истина; Элементы.Товары.ИзменитьСтроку(); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |