|   |   | 
| 
 | v7: Работа с буфером обмена Windows | ☑ | ||
|---|---|---|---|---|
| 0
    
        AL CAPONE 18.05.17✎ 16:25 | 
        Задача: скопировать некоторый набор данных из документа 1с в буфер обмена Windows.
 Прошаривание форумов дало следующие результаты: метод №1: objHTM = CreateObject("htmlfile"); Текст = "Помощь в 1С"; Сообщить("= " + Текст); objHTM.ParentWindow.ClipboardData.Setdata("Text",Текст); Текст = objHTM.ParentWindow.ClipboardData.GetData("Text"); Сообщить("= " + Текст); результат: не работает, присваивает переменной пустую строку метод №2: WshExtra = СоздатьОбъект("WshExtra.Clipboard"); WshExtra.Copy("Запись в буфер обмена"); Текст = WshExtra.Paste(); Сообщить("= " + Текст); результат: работает, но только в буфере самой 1с-ки, вставляет скопированный текст и в окно поиска 1с, и в новый текстовый документ 1с. Но когда пытаешь вставить к примеру в блокнот, то вставка произойдёт только в том случае, если ранее в буфере обмена Windows ничего не было. Если буфер был не пуст, то в блокнот вставится то, что было в буфере до 1с-ки. метод №3: wsh=СоздатьОбъект("WScript.Shell"); //Скопировать текст wsh.SendKeys("^c"); // или так: wsh.SendKeys("^(C)"); //Вставить текст wsh.SendKeys("^v"); // или так: wsh.SendKeys("^(V)"); результат: непонятно, как применить, т.к. тут надо как-то умудриться заранее выделить копируемый текст, а он состоит из различных реквизитов документа с различными свободными добавками своего текста. Может у кого-нибудь получалось корректно работать с буфером обмена Windows через 1с ? | |||
| 1
    
        Масянька 18.05.17✎ 16:30 | 
        ClipBrd = СоздатьОбъект("HtmlFile"); 
 ClipBrd.ParentWindow.ClipBoardData.SetData("Text", СокрЛП(Номенклатура.АртикулПрайс)); Правда, копируется одно поле. | |||
| 2
    
        Ёпрст гуру 18.05.17✎ 16:33 | ||||
| 3
    
        AL CAPONE 18.05.17✎ 17:05 | 
        (2)
 у нас как раз релиз 2.5.0.5 но БуферОбмена - это его как какой объект создавать нужно ? Буфер = СоздатьОбъект("БуферОбмена"); не понимает | |||
| 4
    
        AL CAPONE 18.05.17✎ 17:06 | 
        (1)
 SetData может и работает, но GetData ничего не возвращала у меня | |||
| 5
    
        Масянька 18.05.17✎ 17:08 | 
        (4) А ты проверь не в эске, а в ворде, например.     | |||
| 6
    
        Ёпрст гуру 18.05.17✎ 17:08 | 
        (3) 3.2.4.3 поставь и не мучайся     | |||
| 7
    
        Масянька 18.05.17✎ 17:10 | 
        + (5) Буфер-то зачем?     | |||
| 8
    
        AL CAPONE 19.05.17✎ 11:23 | 
        (5)
 не работает всё равно, в буфере обмена Windows только то, что было там до выполнения метода Setdata. Ни в блокноте, ни в ворде также ничего нового. | |||
| 9
    
        AL CAPONE 19.05.17✎ 11:26 | 
        (6)
 так всё таки, как правильно создать объект БуферОбмена ? Буфер = СоздатьОбъект("БуферОбмена") 1c не понимает. | |||
| 10
    
        AL CAPONE 23.05.17✎ 11:08 | 
        Вопрос актуален.     | |||
| 11
    
        Ёпрст гуру 23.05.17✎ 11:09 | 
        (9) Обновить 1cpp.
 Там всё работает | |||
| 12
    
        AL CAPONE 23.05.17✎ 15:42 | 
        (11)
 По ссылке написано - метод работает на релизе 2.5 и позже. У нас релиз 2.5.0.5. В чём смысл обновления ? Нужно всего-то правильное название создаваемого объекта. | |||
| 13
    
        Ёпрст гуру 23.05.17✎ 15:44 | 
        (12) На заборе еще и не то написано, 2.5 - древнее г.. мамонта.     | |||
| 14
    
        Ёпрст гуру 23.05.17✎ 15:45 | 
        Зачем вы её используете, не ясно.
 Она вам вообще, зачем ? | |||
| 15
    
        Mikhail Volkov 23.05.17✎ 16:07 | 
        А в 8-ке как? Текст извлеченный из HTML-файла нужно сунуть в буфер обмена, и сразу же извлечь из него. Чтобы тексте уже не было всякой хрени форматирования HTML, один текст остался.     | |||
| 16
    
        AL CAPONE 26.05.17✎ 14:33 | 
        (2)
 установил 2.5.0.7 вместо 2.5.0.5. Буфер обмена отлично создаётся и работает. (6) а подскажите, установка 3.2.4.3 содержит в себе прошлые методы из 2.5.0.5 или придётся пересматривать весь код, юзающий 1cpp ? | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |