Crmgo Blog

1C and the Clipboard

1C and the Clipboard

Copy from 1C to clipboard (without VK): Code 1C v 8.x Paste into 1C from clipboard: Code 1C v 8.x Under certain security policy settings, the method with ПолеHTMLДокумента does not work, use: Code 1C v 8.x For 7.7: Code…

1C and the Clipboard

Copy from 1C to clipboard (without VK):

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

Paste into 1C from clipboard:

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

With certain security policy settings, the method using ПолеHTMLДокумента does NOT work; use:

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

For 7.7:

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

Using WSH:

1C Code v 8.x
 // через 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}


Source: http://www.vdgb.ru/tehpodderzhka-1s/faq/rabota-s-buferom-obmena-sredstvami-1s/

Note: This post may be AI-assisted and then human-edited. Editorial responsibility: Dmytro Lomaka, Kaltenkirchen.

Categories: 1C