|
Работа с буфером обмена | ☑ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
PR третий
06.07.15
✎
11:04
|
Искал искал, так и не нашел, как работать с буфером обмена в восьмерке. Ну то есть нужно в html вставить картинку из буфера обмена в тонком клиенте 8.3 по Ctrl + V или хотя бы по нажатию кнопки.
При следующих условиях: — Нужно получать из буфера обмена картинку. — Требуется асинхронный режим работы, если это работа через компоненту, то есть http://v8.1c.ru/o7/201412async/index.htm, то есть компонента из Документооборота не подойдет. — Хотелось бы, но не принципиально, чтобы работало в веб-клиенте. С этой точки зрения нашел прикольную статейку http://habrahabr.ru/sandbox/53689/, в http://pasteboard.co/ демонстрация работы. — Хотелось бы, но не принципиально, чтобы работало без регистрации компоненты, то есть без компоненты вообще. — Хотелось бы, но не принципиально, чтобы кроме получения картинки можно было ловить событие вставки, то есть не только Ctrl + V, но и Shift + Insert и контекстное меню мыши и команду меню. |
||||||||||||||||
1
Сниф
06.07.15
✎
11:36
|
(0) >Хотелось бы, но не принципиально, чтобы работало в веб-клиенте
я знаю вариант реализации, где есть примерно то, что вам нужно, включая контекстное меню мыши + передача картинки в 1С. Но есть ограничения: - только веб-клиент, только под FireFox и только при установленном плагине iMacros. |
||||||||||||||||
2
Fish
06.07.15
✎
11:42
|
(0) А почему документооборот не пойдёт? Емнип, в последних релизах уже всё на асинхронных вызовах сделано.
|
||||||||||||||||
3
Stim
06.07.15
✎
11:47
|
на вебе у меня не взлетело. а в тонком - без проблем
|
||||||||||||||||
4
Armando
06.07.15
✎
11:52
|
|||||||||||||||||
5
Stim
06.07.15
✎
11:54
|
хтмл=Новый COMОбъект("htmlfile");
СтрокаБуфера = хтмл.parentWindow.clipboardData.getData("text"); |
||||||||||||||||
6
Живой Ископаемый
06.07.15
✎
11:57
|
Функция ПолучитьТекстБуфераОбмена() Экспорт
#Если Клиент Тогда Объект = Новый COMОбъект("htmlfile"); Возврат Объект.ParentWindow.ClipboardData.Getdata("Text"); #КонецЕсли КонецФункции Функция УстановитьТекстВБуферОбмена(Текст) Экспорт #Если Клиент Тогда Объект = Новый COMОбъект("htmlfile"); Объект.ParentWindow.ClipboardData.Setdata("Text", Текст); Возврат Текст; #КонецЕсли КонецФункции оптимизировать ну и не только на клиенте на самом деле |
||||||||||||||||
7
SoulPower
06.07.15
✎
12:07
|
Не знаю, что там внутри, но в ДО, картинки из буфера вставлять можно.
http://i69.fastpic.ru/big/2015/0706/b1/7aab20c6bbe0c05473d42a0b2b261ab1.png |
||||||||||||||||
8
PR третий
06.07.15
✎
12:22
|
(2) Гон
|
||||||||||||||||
9
PR третий
06.07.15
✎
12:23
|
(1) Вообще не в кассу. Главное - тонкий клиент 1С.
|
||||||||||||||||
10
PR третий
06.07.15
✎
12:23
|
(3) Что взлетело?
|
||||||||||||||||
11
PR третий
06.07.15
✎
12:24
|
(5) Я даже не сомневался, что кто-нибудь это напишет.
|
||||||||||||||||
12
PR третий
06.07.15
✎
12:25
|
(6) И ты тоже молодец, да
|
||||||||||||||||
13
PR третий
06.07.15
✎
12:38
|
(7) Ну вот от тебя-то не ждал.
В Документообороте разрешены синхронные вызовы. Спроси там у своих, когда они перепишут компоненту под асинхронные методы? |
||||||||||||||||
14
PR третий
06.07.15
✎
12:38
|
(4) Хм. Еще бы как-нить качнуть с ИС
|
||||||||||||||||
15
SoulPower
06.07.15
✎
12:43
|
(13) Я тебе показал, что в ДО можно вставлять картинки из буфера.
И я не понял, где тут вообще нужна асинхронность? При выполнении длительных операций нужна, а тут, нажал "вставить из буфера", и через полсекунды выполнение закончилось. |
||||||||||||||||
16
SoulPower
06.07.15
✎
12:45
|
+ (15) Или типа у тебя большущий файл и он в форму у тебя грузится долго?
|
||||||||||||||||
17
PR третий
06.07.15
✎
12:48
|
(15) Спасибо, конечно, но я же вроде как написал в (0) "Требуется асинхронный режим работы, если это работа через компоненту, то есть компонента из Документооборота не подойдет.". Что как бэ предполагает, что я Документооборот попробовал :))
Асинхронность там нужна при вызове метода обработки, помещающего картинку из буфера в файл и возвращающего путь к картинке из буфера. |
||||||||||||||||
18
SoulPower
06.07.15
✎
12:55
|
(17) Сколько времени у тебя занимает эта операция?
|
||||||||||||||||
19
PR третий
06.07.15
✎
13:12
|
(18) Да мало, очень мало. Не в этом дело.
Включи в ДО запрет асинхронных операций или разрешение с предупреждением, перепиши три процедуры общего модуля под асинхронные вызовы и посмотри, что вызов метода самой компоненты ругается. |
||||||||||||||||
20
PR третий
06.07.15
✎
18:53
|
(4) Вай вай вай, работает :))
Можешь выйти на скайп/аську/телефон/почту? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |