Имя: Пароль:
1C
1С v8
Буфер обмена БП3
0 MishaD
 
01.07.16
15:40
Пытаюсь получить текст из буфера обмена. использую следующую функцию.

&НаКлиенте
Функция ПолучитьТекстБуфераОбмена() Экспорт
#Если Клиент Тогда
    Об = Новый COMОбъект("htmlfile");
    Возврат Об.ParentWindow.ClipboardData.Getdata("Text");
#КонецЕсли
КонецФункции

Засада в том, что когда смотрю через отладчик, то все работает. А вот без отладчика работать не хочет.
У кого какие идеи есть ?
1 Beretta
 
01.07.16
15:49
ReadyState ждать надо
2 tank68
 
01.07.16
15:50
&НаКлиенте
Функция УстановитьТекстВБуферОбмена(Текст) Экспорт
    
    #Если Клиент Тогда
        БуферОбмена = Новый COMОбъект("htmlfile");
        БуферОбмена.ParentWindow.ClipboardData.Setdata("Text", Текст);
        Возврат Текст;
    #КонецЕсли
    
КонецФункции

&НаКлиенте
Функция ПолучитьТекстБуфераОбмена() Экспорт
    
    #Если Клиент Тогда
        БуферОбмена = Новый COMОбъект("htmlfile");
        Возврат Объект.ParentWindow.ClipboardData.Getdata("Text");
    #КонецЕсли
    
КонецФункции
3 Beretta
 
01.07.16
15:50
&НаКлиенте
#Если Клиент Тогда

Улыбнуло
4 tank68
 
01.07.16
15:51
&НаКлиенте
Функция ПолучитьТекстБуфераОбмена() Экспорт
    
  

        БуферОбмена = Новый COMОбъект("htmlfile");
        Возврат БуферОбмена .ParentWindow.ClipboardData.Getdata("Text");
  
    
КонецФункции
5 tank68
 
01.07.16
15:53
там просто большая процедура для обычного приложения не правильно скопировал и не до конца подчистил
6 MishaD
 
01.07.16
15:54
(5)Подчистил, не помогло.
7 tank68
 
01.07.16
15:55
Как включить отладку приложений 1С на сервере?
Для включения отладки на сервере 1С 8.1 Вам придется перезапускать сервер приложений и лезть в реестр. А именно
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent]
"ImagePath"=
по умолчанию:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv81\server"
а надо:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "C:\Program Files\1cv81\server"

Последовательность действий 1С 8.2:
1. Остановить службу 1C:Enterprise 8.2 Server Agent
2. В реестре в ветке HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.2 Server Agent\ для параметра ImagePath добавляем -debug и сохраняем. Получается что-то вроде такого: «C:\Program Files\1cv82\8.2.10.82\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv82\srvinfo» -debug
3. Записываем и запускаем службу.
8 tank68
 
01.07.16
15:57
Соответственно делаешь все с поправкой на ту версию платформы которая у тебя стоит, только через отладку поймешь что у тебя не так
9 Beretta
 
01.07.16
15:58
(7) Это точно поможет работе с клипбордом на клиенте? =)
10 MishaD
 
01.07.16
16:02
(9) Твоя идея тоже не помогла. Даже после такого маленького цикла не работает.
    Для к = 1 по 10000000 Цикл
    КонецЦикла;
11 MishaD
 
01.07.16
19:23
Грохнул тестовую базу, скопировал вместо нее рабочую. Реально помогло только удалить базу из списка, и затем прописать заново.
12 Fram
 
01.07.16
19:31
Не обсуждение, а набор несвязных постов какой то ))
Скалдывается ощущение, что tank68 бот какой то, который среагировал на слова буферобмена, отладка и выдал все что у него есть на эту тему ))
13 Fram
 
01.07.16
19:31
Автор тоже отжигает - (11) каким боком к (0)?
14 Cyberhawk
 
01.07.16
20:27
Вот все работает: http://goo.gl/HIJm0L
15 NeoVision
 
01.07.16
21:42
В самописке работает
&НаКлиенте
Процедура ПоказатьБО(Команда)
    ОбъектКОМ = Новый COMОбъект("htmlfile");
    Текст = ОбъектКОМ.ParentWindow.ClipboardData.Getdata("Text");
    Если ЗначениеЗаполнено(Текст) Тогда
        Сообщение=Новый СообщениеПользователю();
        Сообщение.Текст=Текст;
        Сообщение.Сообщить();
    КонецЕсли;
КонецПроцедуры