Crmgo Блог

1С и буфер обмена

1С и буфер обмена

Копировать из 1С в буфер обмена (без ВК): Код 1C v 8.х Вставить в 1С из буфера обмена: Код 1C v 8.х При определенных настройках политики безопасности, способ с ПолеHTMLДокумента НЕ работает, используйте: Код 1C v 8.х Для 7.7: Код…

1С и буфер обмена

Копировать из 1С в буфер обмена (без ВК):

Код 1C v 8.х
 ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "Поле_HTML_Документа_acb123", Ложь); 
      
     Окно = ЭлементыФормы.Поле_HTML_Документа_acb123.Документ.ParentWindow; 
      
     Окно.ClipboardData.SetData("Text", ТекстПисьма); 
      
     ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("Поле_HTML_Документа_acb123"))); 

Вставить в 1С из буфера обмена:

Код 1C v 8.х
 ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "Поле_HTML_Документа_acb123", Ложь); 
      
     Окно = ЭлементыФормы.Поле_HTML_Документа_acb123.Документ.ParentWindow; 
      
     СодержимоеБуфера = Окно.ClipboardData.GetData("Text"); 
      
     ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("Поле_HTML_Документа_acb123"))); 
      
     ТекстПисьма = ТекстПисьма + СодержимоеБуфера; 

При определенных настройках политики безопасности, способ с ПолеHTMLДокумента НЕ работает, используйте:

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

Для 7.7:

Код 1C v 7.x
 Set objHTM = CreateObject("htmlfile"); 
      
     Текст = "Помощь в 1С"; 
      
     objHTM.ParentWindow.ClipboardData.Setdata("Text", Текст); 
      
     Текст = objHTM.ParentWindow.ClipboardData.GetData("text");

Используя WSH:

Код 1C v 8.х
 // через SendKeys передаем Ctrl-C и Ctrl-V 
      
     wsh=Новый COMОбъект("WScript.Shell"); 
      
     // Скопировать текст 
      
     wsh.SendKeys("^c"); 
      
     // Вставить текст 
      
     wsh.SendKeys("^v"); 
Key Special Character
SHIFT +
CTRL ^
ALT %
Key Argument
BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}


Источник: http://www.vdgb.ru/tehpodderzhka-1s/faq/rabota-s-buferom-obmena-sredstvami-1s/

Примечание: материал мог быть создан с помощью ИИ и затем отредактирован человеком. Ответственный: Dmytro Lomaka, Kaltenkirchen.

Рубрики: 1C