Имя: Пароль:
1C
1C 7.7
v7: Вызов отчета по сочетанию клавиш.
0 Eeakie
 
27.11.13
15:04
Добрый день. Хочу прикрутить в справочнике по "ctrl+f" вызов отчета. Как реализовать? Туплю, похоже.
1 Стрелок
 
27.11.13
15:06
у кнопок есть есть хоткей

или невилдимая кнопка за пределами формы
или перехват клавы
2 Ёпрст
 
27.11.13
15:08
достаточно просто невидимой кнопки или хоткей на меню в панели управления.
3 Ёпрст
 
27.11.13
15:17
на вот, скопиряешь кнопочку к себе в форму списка справочника..
http://rusfolder.com/38948705
4 Eeakie
 
27.11.13
15:19
Глобальный перехват клавы отлично подходит. Но что-то не могу поймать "ctrl+f". Поэтому и туплю...

Если (Контрол = 1) И (КодКлавиши = "70") Тогда
   ФСО = 0;
   ***
КонецЕсли;

Не заходит :) Что за...
5 Стрелок
 
27.11.13
15:20
ну может формекс не загружена?
6 Стрелок
 
27.11.13
15:20
раскладка опять же
7 Eeakie
 
27.11.13
15:23
(3) Кааааак? Ну, как это работает, *****?! :)
8 Ёпрст
 
27.11.13
15:25
(4) нужно, как минимум, использовать локальный перехват клавиши в нужной форме, а не в глоб. модуле.
9 Eeakie
 
27.11.13
15:25
(5) Формекс загружен. Раскладки обе проверил.
10 Ёпрст
 
27.11.13
15:25
(7) в (1) же ответ - хоткей на кнопку повешан..
11 Ёпрст
 
27.11.13
15:25
(9) полный текст процы
12 Ёпрст
 
27.11.13
15:26
если че, то у ПриНажатииКнопкиКлавиатуры
разные параметры в глобальном и локальном контексте.
13 Eeakie
 
27.11.13
15:26
Процедура ПриНажатииКнопкиКлавиатуры(Конт, КодКлавиши, Альт, Шифт, Контрол, Символ, ФСО) Экспорт
    Если (Контрол = 1) И (КодКлавиши = "70") Тогда
        ФСО = 0;
        Если ТипЗначенияСтр(Конт) = "Справочник" Тогда
            Если (Конт.Вид() = "Товары") или (Конт.Вид() = "Прайс_лист") Тогда
                глНайтиВСправочникеПоСимволам(Конт);
            ИначеЕсли Конт.Вид() = "Клиенты" Тогда
                ОткрытьФорму("Отчет", Контекст, КаталогИБ() + "ExtForms\ПоискКлиента.ert");        
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
14 Ёпрст
 
27.11.13
15:34
(13) и где этот код написан ?
Если в глобальнике, то там надо ПерехватКлавиатуры через сервис установить еще
15 Ёпрст
 
27.11.13
15:35
Но лучше его не делать, а прописать ПриНажатииКнопкиКлавиатуры
в модуле формы списка справочника.
16 Eeakie
 
27.11.13
15:40
(15) Локально прописал. Ноль реакции.
Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши, Альт, Шифт, Контрол, Символ, ФСО)
    Если (Контрол = 1) И (КодКлавиши = "70") Тогда
        ФСО = 0;
        глНайтиВСправочникеПоСимволам(Контекст);
    КонецЕсли;
КонецПроцедуры // ПриНажатииКнопкиКлавиатуры
17 Стрелок
 
27.11.13
15:42
ам давно код клавиши стал строкой?
18 Стрелок
 
27.11.13
15:43
Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши,Алт,Шифт,Ктрл,Символ,ФСО)
    ФСО=0;  
    Если (КодКлавиши>=48) и (КодКлавиши<=57) Тогда
        ВведеноЧисло(Символ);
    ИначеЕсли (КодКлавиши>=96) и (КодКлавиши<=105) Тогда  
        ВведеноЧисло(Символ);
    ИначеЕсли КодКлавиши=27 Тогда
        Очистить();
    ИначеЕсли КодКлавиши=13 Тогда
        Форма.Закрыть();
    Иначе
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;  
КонецПроцедуры
19 Eeakie
 
27.11.13
15:43
Бл...
20 Eeakie
 
27.11.13
15:43
Заработало. Спасибо.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн