1С 8.3 Вставить текст в буфер обмена средствами 1С
Данные > Примеры кода 1С > 1С 8.3 Строка, текст, буквы
Перейти в раздел примеры кода 1С 8.3:
Платформа 1С 8.3 позволяет работать с буфером обмена с помощью внешней компоненты COMОбъект("HtmlFile") или напрямую через интерфейс, в котором находятся элементы из буфера обмена. Однако из-за параметров безопасности современных операционных систем рекомендую использовать первый вариант.
Также если используете БСП, то есть интересный параметр сеанса "БуферОбмена" - тип "ФиксированнаяСтруктура". В него с помощью процедуры "СкопироватьВБуферОбмена" можно помещать необходимые значения, а после в нужном месте извлекать их с помощью функции "СтрокиИзБуфераОбмена". Интересное и простое решение от БСП. 👍
Вставить текст в буфер обмена с помощью внешней компоненты в 1С 8.3:
Функция Вставить_текст_В_буфер_обмена_с_ВК(ТекстДляВставки) Экспорт // Безопасно (рекомендуется)
#Если Клиент Тогда
COM_Объект = Новый COMОбъект("htmlfile");
COM_Объект.ParentWindow.ClipboardData.Setdata("Text", ТекстДляВставки);
Возврат ТекстДляВставки;
#КонецЕсли
КонецФункции
#Если Клиент Тогда
COM_Объект = Новый COMОбъект("htmlfile");
COM_Объект.ParentWindow.ClipboardData.Setdata("Text", ТекстДляВставки);
Возврат ТекстДляВставки;
#КонецЕсли
КонецФункции
Вставить текст в буфер обмена встроенными средствами в 1С 8.3:
// Не безопасно (ПолеHTMLДокумента не всегда срабатывает, например на Windows 10)
Функция Вставить_текст_В_буфер_обмена(ТекстДляВставки) Экспорт // средствами 1С
Элементы.Добавить(Тип("ПолеHTMLДокумента"), "Поле_HTML", Ложь);
ParentWindow = Элементы.Поле_HTML.Документ.ParentWindow;
ParentWindow.ClipboardData.SetData("Text", ТекстДляВставки);
// Чистим:
ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("Поле_HTML")));
Возврат ТекстДляВставки;
КонецФункции
Функция Вставить_текст_В_буфер_обмена(ТекстДляВставки) Экспорт // средствами 1С
Элементы.Добавить(Тип("ПолеHTMLДокумента"), "Поле_HTML", Ложь);
ParentWindow = Элементы.Поле_HTML.Документ.ParentWindow;
ParentWindow.ClipboardData.SetData("Text", ТекстДляВставки);
// Чистим:
ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("Поле_HTML")));
Возврат ТекстДляВставки;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник