Имя: Пароль:
1C
1С v8
Небольшое, но приятное ускорение работы в 1С
,
0 DSblizzard
 
11.10.11
09:44
Я тут в другой теме уже немного попиарил свою программу, предназначенную для более быстрого набора текста и ускорения вызова глубоко запрятанных в меню окон. Видели эти сообщения, наверное, немногие, поэтому повторю еще раз.
https://github.com/DSblizzard/rep_it
Для тех, кому лень ходить по ссылкам, выкладываю readme.

"
rep_it - программа для записи и воспроизведения клавиатурных макросов с помощью горячих клавиш

Предварительные условия: должны быть установлены Python 2.6 и PyWin32, затем нужно скопировать папку pyHook и файл pyHook.pth в <PythonDir>\Lib\site-packages.

Макросы находятся в файле macros.txt и вводятся двумя способами: либо редактированием этого файла вручную, либо с использованием горячих клавиш:
1. Нажимаете ctrl+alt+F1
2. Нажимаете горячие клавиши для вызова макроса, например alt+h
3. Нажимаете ctrl+alt+F1
4. Нажимаете клавиши "тела" макроса, например "Hello, world!"
5. Нажимаете ctrl+alt+F3.
В результате в macros.txt добавится определение макроса следующего вида:

<Name>
<Shortcut>alt+h
<Events>" H e l l o , space w o r l d ! "

Тэги <Name>, <Shortcut> и <Events> обязательны во всех макросах. При редактировании macros.txt вручную все клавиши, кроме букв, пишутся в нижнем регистре.

Более сложный пример макросов:
<Name>double quotes
<Shortcut>alt+2
<Events>sl en " " left rl

<Name>
<Comment>Called by sequece of two keys, executes 10 times
<Count>10
<Shortcut>a b
<Events>s1 double_quotes sleep 0.2 <r+>Abc<r-> D e f

<r+> - "сырой" режим ввода, когда можно вводить только отображаемые клавиши.
<r-> - "обычный" режим (по умолчанию), когда можно вводить все клавиши, но с пробелами между ними.

Названия некоторых клавиш:
клавиша контекстного меню - apps
backspace - back
caps lock - caps
escape - esc
insert - ins
num lock - num
цифры на цифровой клавиатуре - numpad0 .. numpad9
page down - pgdn
page up - pgup
pause/break - pause
print screen - prtsc
scroll lock - scroll
space bar - space
win key - win
арифм. операции на цифровой клавиатуре - add, sub, mul, div
точка на цифровой клавиатуре - decimal

Задержка: sleep <N1> или s<N2>, где <N1> - кол-во секунд, <N2> - кол-во десятичных долей секунды

en - переключение на латинскую раскладку
ru - переключение на русскую раскладку
sl (save language) - запоминание текущего языка
rl (restore language) - восстановление языка, запомненного последней командой sl
Эти команды используют alt+shift для переключения раскладки

Предопределенные горячие клавиши:
ctrl+alt+F1 уже рассмотрели.
ctrl+alt+F2 - то же, что и ctrl+alt+F1, только горячие клавиши для вызова макроса отображаются при вводе.
ctrl+alt+F4 - отключение всех горячих клавиш (режим ожидания).
ctrl+alt+F3 - в режиме записи макроса заканчивает запись, в режиме ожидания выходит из него (включает горячие клавиши), в обычном режиме читает заново macros.txt.
ctrl+alt+e - открытие macros.txt на редактирование.

В теле макроса можно использовать название другого макроса, в котором пробелы заменены на знаки подчеркивания. Осторожнее с рекурсией!
Макрос можно вызвать как по сочетанию клавиш (alt+t), так и по их последовательности (ctrl+x 7 alt+b).
При записи макроса можно использовать следующие последовательности клавиш:
pause <цифра> . <цифра> или pause . <цифра>
В результате в тело макроса будет добавлена задержка (в секундах): sleep <цифра>.<цифра>
"


На моем домашнем компе программа работает идеально, на рабочем с чем-то конфликтует, поэтому не могу гарантировать нормальную работу у вас.

Вот дополнительные макросы, которые можно использовать при работе в 1С:
<Name>soobschit
<Shortcut>с б щ
<Events>back back <r+>ообщить<r-> ( cl " shift+ins : space " space + space shift+ins ) ; cl

<Name>Esli
<Shortcut>е и т
<Events>back back back <r+>Если  Тогда<r-> enter enter back <r+>КонецЕсли<r-> shift+4 up up end ctrl+left left

<Name>Funkciya
<Shortcut>ф ц я
<Events>back back back <r+>Функция<r-> space ( ) enter enter back <r+>КонецФункции<r-> up up end left left

<Name>Procedura
<Shortcut>п р ц
<Events>back back back <r+>Процедура<r-> space ( ) enter enter back <r+>КонецПроцедуры<r-> up up end left left

<Name>run 1C
<Shortcut>alt+r
<Events>f10 sleep 0.2 down right right right sleep 0.5 down down sleep 0.3 enter esc sleep 2.5 f5 sleep 1 enter

<Name>info (1C)
<Shortcut>alt+ctrl+b
<Events>и н ф о alt+shift ( " ctrl+v " , space ctrl+v ) ; alt+shift

<Name>soobschit (1C)
<Shortcut>alt+ctrl+s
<Events><r+>сообщить<r-> alt+shift ( " ctrl+v : space " space + space ctrl+v ) ; alt+shift
1 Mort
 
11.10.11
09:47
Программист пишет код максимум 10% времени, остальное время он его читает и просто думает. Экономить на подобной копипасте - лучше быстро научиться печатать. И код писать понятно.
2 mikecool
 
11.10.11
09:50
(0) это под линух чтоле?
3 DSblizzard
 
11.10.11
09:50
(2) Нет, под винду
4 mikecool
 
11.10.11
09:51
(3) а чо тогда так сложно? тут думать же надо ((
5 DSblizzard
 
11.10.11
09:53
(4) Форма с кнопками в плане разработки. Думать не надо будет, только кнопки нажимать. Получатся не клавиатурные сокращения, а мышечные :)
6 ZOMI
 
11.10.11
09:54
Какое заковыристое хэллоуворлд
7 Юрий Лазаренко
 
11.10.11
09:59
(0) Интересно, развивай идею!
8 Vovan1975
 
11.10.11
10:02
и в чем принципиальное отличие вашей поделки от возможности создавать собственные шаблоны в 1С?
9 Web00001
 
11.10.11
10:02
Пишем на питоне, молодчег и красавчег! Все хорошо, все очень интересно. Но чем не устроили шаблоны? Они не такие гибкие, но покрывают 80% всех потребностей.
10 0xFFFFFF
 
11.10.11
10:03
(8), (9) тссссс.
11 DSblizzard
 
11.10.11
10:05
(8) Принципиальное - в том, что она в ОС живет, а не в 1С, т. е. более универсальная. К тому же свою прогу использую в основном для лазания по меню (1С тормозит, поэтому нужно не забывать вставлять sleep)
12 Web00001
 
11.10.11
10:05
(10) Намекаешь, что ТС не в курсе про шаблоны? :)
13 DSblizzard
 
11.10.11
10:05
(12) В курсе.
14 Reset
 
11.10.11
10:06
(9) Шаблоном ты не сможешь написать двадцать четыре раза подряд "hello, world" одним нажатием.
15 PR
 
11.10.11
10:06
(13) Тогда зачем (0)?
16 DSblizzard
 
11.10.11
10:07
(15) см. (11)
17 PR
 
11.10.11
10:08
(11) Универсальность в данном случае не в кассу, как мне кажется.
А меню, да, может быть интересным.
IMHO
18 DSblizzard
 
11.10.11
10:08
+(13) Кстати, про шаблоны. Меня бесит в них куча пробельных строк. Можно, конечно исправить.
19 Web00001
 
11.10.11
10:09
(11) PuntoSwitcher не смотрел? Где то видел подборку таких прог, их как минимум штук 6 и платные и бесплатные с гуями и галочками.
20 Maxus43
 
11.10.11
10:09
что привязавлись? автор креативный человек, любящий питон и испытывающий неприязнь глубокую к 1с...
v8: Компилятор из Python в 1С
v8: Придираются ли на экзамене 1С:Специалист к стилю кода?

и т.д.
21 IamAlexy
 
11.10.11
10:10
тыщи таких.. да тот же хоткейбоардпро.. там текстовые макросы можно делать - закачаешся...

другое дело что это нафиг не нужно.. просто тупо не помнишь все их..

чтобы нажимать..
22 DSblizzard
 
11.10.11
10:10
(19) Уже несколько лет пользуюсь. К моей проге гораздо ближе другие macro recorder, но у них нет редактирования текст. файла
23 Reset
 
11.10.11
10:11
(20) Устыдился, заткнулся. Может даже запущу творение при наличии св времени. Навряд хотя
24 DSblizzard
 
11.10.11
10:12
(21) Платный, наверное?
25 Господин ПЖ
 
11.10.11
10:12
херь какая-то... шаблоны 1с + расширенный буфер обмена
26 Web00001
 
11.10.11
10:13
(20) Я и говорю, красавчег и молодчег, сам люблю питон, но как то не выходит им заниматься.
27 0xFFFFFF
 
11.10.11
10:13
Печатать учитесь лучше десятипальцевым методом. Скорость от 300 знаков в минуту спасет отца русской демократии.
28 Юрий Лазаренко
 
11.10.11
10:14
(8) Насколько я понял, она не только в конфигураторе будет работать, но и в режиме приложения.
(0) или я неправ?
29 DSblizzard
 
11.10.11
10:14
(27) Давным-давно научился, причем на двух раскладках
30 IamAlexy
 
11.10.11
10:14
(24) стыдно жать бабло на инструменты посредством которых зарабатываешь деньги...

да - платный.
но - нафиг не нужный.. очень, очень мощный и прикольный - но в 1С ненужный.. ибо снегопат рулит.. а остальное шлак...
31 acsent
 
11.10.11
10:15
До снегопата конечно как до луны пешком
32 DSblizzard
 
11.10.11
10:15
(28) Конечно, правы. И даже alt+tab может делать, с этим у некоторых программ проблемы
33 picom
 
11.10.11
10:17
Елы палы
3 минуты в ветке ничего не понимаю что делает прога
34 Web00001
 
11.10.11
10:18
(33) Внимательно (0) прочитай да и все
35 acsent
 
11.10.11
10:19
Программа - yet another менеджер шорткатов
36 DSblizzard
 
11.10.11
10:20
(33) нажимаете комбинацию клавиш
программа сама нажимает несколько других клавиш, которые вы заранее задали
37 DSblizzard
 
11.10.11
10:22
+(0) Кстати, если кто решит использовать для открытия меню, учтите, что 1С по-разному открывает в первый и последующие разы. Поэтому после первого нажатия f10 нужно сразу нажать down, чтобы открыть меню, т. е. сделать поведение одинаковым.
38 Gluk
 
11.10.11
10:22
(0) и All, подскажите, как из Delphi можно нажимать кнопки 8-ки в режиме предприятия, через SendMessage не получается
39 DSblizzard
 
11.10.11
10:25
(38) Не знаю, я использовал другие функции и работали они по другому - не с помощью "общения" приложений, а с помощью нажатия виртуальной клавиши, т.е. при открытом окне программыо-приемника (8-ки)
40 DSblizzard
 
11.10.11
10:26
(38) Или у тебя также?
41 Gluk
 
11.10.11
10:34
(40) мне нужно нажать кнопку, например "Да/Нет", "Ок" и т.д. и вызвать некоторые команды из меню, например "Опрации - Проведение документов"
42 DSblizzard
 
11.10.11
10:36
Вы нажимаете кнопку, когда окно приложения открыто или не обязательно?
43 Dirk Diggler
 
11.10.11
10:38
(0) открой для себя autoit....
44 DSblizzard
 
11.10.11
10:41
(43) Открывал. Почему-то не впечатлило.
45 Escander
 
11.10.11
10:43
Где-то тут какую-то похожую помогалку уже демонстрировали... вроде другую...
46 Gluk
 
11.10.11
10:44
(42) да, только когда приложение запущено
47 rutony
 
11.10.11
10:45
Macro Scheduler 11 - наше все. Зачем грабли, если есть Ламборджини.
48 DSblizzard
 
11.10.11
10:48
(46) Уточню: не запущено, а именно открыто на часть экрана или полный экран и с фокусом на нем? Тогда смотрите на keybd_event.
49 Gluk
 
11.10.11
11:08
(48) ок, понял попробую
50 Elf1k
 
11.10.11
11:37
Чето я не понял, а с помощью этого можно скажем на сочитание клавишь открывать списки документов ?
51 Dirk Diggler
 
11.10.11
15:46
(44) еще раз открой
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший