|
1c 8.3 и буфер обмена | ☑ | ||
---|---|---|---|---|
0
Alex unde
08.11.16
✎
14:23
|
Привет. Задача следующая:
Обрезать символы при вставке из буфера обмена :) При копировании данных из Excel методом Ctrl+C (ячейки) всегда скопированная строка содержит в конце символ переноса строки. Хочу при активации окна 1С обрабатывать буфер обмена и удалять конечный символ переноса строки и/или таб/пробел. Варианты которые пришли в голову: -Обработать форму поиска - не докопался до нее -Обработать Ctrl+V - без каких-то dll-ок думаю не получится (по крайней мере, у меня не получилось и обработать, и не перебить саму вставку из буфера в нужное место) -Обработать событие активации самой 1-ски. Может есть решение у кого-то или идеи - подскажите :) Спасибо! |
|||
1
LevelUP
08.11.16
✎
14:29
|
(0) может проще обрабатывать уже приОкончРедактирования в поле 1С?
|
|||
2
Alex unde
08.11.16
✎
14:32
|
(1) Для примера, может быть поиск по номеру документа в форме списка (в одной из over дофига).
То есть в Excel скопировали номер - в 1С нажали Ctrl+F и Ctrl+V. То есть Никакого "При окончании редактирования" думаю не получится сделать.. |
|||
3
Alex unde
08.11.16
✎
14:33
|
(0) согласен даже dll-ки навешать, но только грамотные, потому как сам их писать не шарю :(
Если есть проверенные - скиньте, пожалуйста, буду очень благодарен! |
|||
4
DrShad
08.11.16
✎
14:33
|
||||
5
Alex unde
08.11.16
✎
14:36
|
(4) это понятно, вставить то его куда?)
|
|||
6
LevelUP
08.11.16
✎
14:36
|
(1) ну если в поиске то да, не получится. Можно простенькое приложение на любом известном вам языке, пусть себе висит в автозагрузке и режет.
|
|||
7
TormozIT
гуру
08.11.16
✎
14:39
|
Autohotkey поможет.
Простенький скрипт, написанный на Autohotkey. Следит за изменениями буфера обмена и собирает текст, о чём выводит TrayTip. При нажатии Win+Ctrl+V и Win+Shift+Insert записывает в буфер обмена всё, что насобирал, «отправляет» активному приложению Ctrl+V или Shift+Insert в соответствии с тем, что было нажато, и выходит. #Persistent SendMode InputThenPlay ;#NoTrayIcon #SingleInstance force #MaxThreadsPerHotkey 1 ;Mouse required to hook WinKey #Hotstring NoMouse #KeyHistory 0 ;Script Performance #NoEnv SetBatchLines, -1 ListLines Off ;SetFormat, IntegerFast, Hex paste=+{Ins} ClipboardType0=empty ClipboardType1=text ClipboardType2=non-text ClipboardCaptureOn = 1 ClipboardsCaptured = 0 ;ClipAcc = Exit #^v:: paste=^v #+Ins:: ClipboardCaptureOn = 0 Clipboard := ClipAcc Send, %paste% TrayTip, Paste, Capture buffer cleared ExitApp OnClipboardChange: ; MsgBox clipboard:`n`n%clipboard% If ( A_EventInfo == 1 and ClipboardCaptureOn) { Critical 50 If ClipboardsCaptured ClipAcc = %ClipAcc%`n%clipboard% Else ClipAcc = %clipboard% ClipboardsCaptured++ Critical Off } TrayTip, Clipboard changed, % "ClipboardsCaptured: " . ClipboardsCaptured . "`nType:" . ClipboardType%A_EventInfo% . (A_EventInfo==1 ? "`nContents:`n " . clipboard : "") , 1, 1 ; ToolTip % "" ClipboardsCaptured . ": Clipboard changed`nType: " . ClipboardType%A_EventInfo% . "`nContents added: " . clipboard, ; SetTimer, RemoveToolTip, 750 return RemoveToolTip: SetTimer, RemoveToolTip, Off ToolTip return |
|||
8
Alex unde
08.11.16
✎
15:10
|
(7) Спасибо.
Но я бы еще попросил, если есть идеи как без установки левого софта сделать??? максимум длл готов поставить( |
|||
9
TormozIT
гуру
08.11.16
✎
15:19
|
(8) Это невозможно при текущих возможностях платформы и известных мне планируемых.
|
|||
10
Alex unde
08.11.16
✎
15:52
|
Больше нет идеи? Думаю оптимально было бы перехватить активацию окна 1С.
Пожалуйста!:( |
|||
11
MaxS
08.11.16
✎
16:18
|
Попытка
КОбъект = Новый COMОбъект("htmlfile"); ДанныеБуфера = КОбъект.ParentWindow.ClipboardData.Getdata("Text"); Исключение ДанныеБуфера = ""; КонецПопытки; |
|||
12
Alex unde
08.11.16
✎
16:20
|
(11) Куда это вклеить?
|
|||
13
MaxS
08.11.16
✎
16:48
|
(12) Это идея как в 1С получить буфер обмена. А куда вклеить - нужно думать. ))
|
|||
14
Alex unde
08.11.16
✎
16:51
|
(13) буфер обработать не проблема, куча инфы по этому поводу. Проблема в инициации события обработки буфера
|
|||
15
TormozIT
гуру
08.11.16
✎
18:14
|
(14) Не мучайся. Кроме (7) врядли что то сделаешь малыми затратами.
|
|||
16
Alex unde
08.11.16
✎
18:17
|
(15) это прискорбно :(
|
|||
17
LevelUP
08.11.16
✎
19:35
|
(16) может обработчик ожидания с кодом по изменению строки в буфере. Только конфу тогда снимать с замка.
|
|||
18
romix
08.11.16
✎
20:35
|
Имхо нужно просить 1С чтобы отрезали конечный перевод строки при поиске по номеру, коду и так далее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |