0
- 16.10.2012 - 14:16
|
Нужно сделать кнопку, по которой нужно получить значение текущего элемента (неважно откуда - из ТЧ, из табдока или формы), и далее делать с этим значением всякие действия. Решил пойти путем использования буфера обмена. Сделал кнопку на общей панели, назначил ей обработку: &НаКлиенте Процедура ПриОткрытии(Отказ) Отказ=Истина; // передаем Ctrl-C wsh=Новый COMОбъект("WScript.Shell"); wsh.SendKeys("^c"); // пытаемся получить содержимое буфера h = Новый COMОбъект("htmlfile"); СодержимоеБуфера = h.ParentWindow .ClipboardData.Getdata("Text"); Сообщить(СодержимоеБуфера); КонецПроцедуры Проблема в том, что "^c" срабатывает только после окончания работы процедуры, и правильное содержимое буфера я получаю только при повторном вызове, что не есть хорошо. Есть ли у уважаемых форумчан мысли, как бы это обойти? | |
1
- 16.10.2012 - 14:21
| В униврсальной обработке обмена в формате XML, в форме настройки отладки есть кнопка "скопировать в буфер обмена". Можно там поглядеть. | |
2
- 16.10.2012 - 14:48
| dynawrap.dll в помощь | |
3
- 16.10.2012 - 15:46
| Весь кайф ^c в том, что он тупо копирует в буфер текущий элемент. Если пользоваться методом, используемым в "обмене XML", то надо сначала каким-то хитрым образом получить значение этого текущего элемента. А поскольку текущим элементом может быть что угодно, я, честно говоря, в затруднении. | |
4
- 17.10.2012 - 03:36
| может все-таки не копировать "что угодно"? наверное у данной задачи есть какой то здравый смысл? | |
5
- 17.10.2012 - 13:45
| ok, тогда как можно выяснить какое окно 1С активно, и какой элемент в этом окне активен? | |
6
- 19.10.2012 - 09:21
| всё, не актуально, сам всё сделал через фоновые задания | |
| Интернет-форум Краснодарского края и Краснодара |