Для демонстрации механизма создал обработку. На форму добавил кнопку и событие "ПриВставкеИзБуфераОбмена"
При нажатии на кнопку выполняется асинхронная процедура "КартинкаИзБуфера", в которой с помощью свойства глобального контекста "СредстваБуфераОбмена" получим картинку, содержащуюся в буфере.
&НаКлиенте
Асинх Процедура КартинкаИзБуфера(Команда)
Картинка = Ждать ПриВставкеИзБуфераОбменаКартинки();
ВставитьКартинкуИзБуфера(Картинка);
КонецПроцедуры
&НаКлиенте
Асинх Функция ПриВставкеИзБуфераОбменаКартинки()
Если СредстваБуфераОбмена.ИспользованиеДоступно() Тогда
ФорматДанных = СтандартныйФорматДанныхБуфераОбмена.Картинка;
Если Ждать СредстваБуфераОбмена.ПоддерживаетсяФорматДанных(ФорматДанных) Тогда
Возврат Ждать СредстваБуфераОбмена.ПолучитьДанныеАсинх(ФорматДанных);
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
КонецФункции
&НаКлиенте
Процедура ВставитьКартинкуИзБуфера(Картинка)
Если ТипЗнч(Картинка) = Тип("Картинка") Тогда
ПутьККартинке = КаталогВременныхФайлов()+"screen.jpg";
Картинка.Записать(ПутьККартинке);
ДвоичныеДанные = Новый ДвоичныеДанные(ПутьККартинке);
Скриншот = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
Обрабатываю событие ctrl + v
&НаКлиенте
Процедура ПриВставкеИзБуфераОбмена(Значение, СтандартнаяОбработка)
ВставитьКартинкуИзБуфера(Значение);
КонецПроцедуры
&НаКлиенте
Процедура ВставитьКартинкуИзБуфера(Картинка)
Если ТипЗнч(Картинка) = Тип("Картинка") Тогда
ПутьККартинке = КаталогВременныхФайлов()+"screen.jpg";
Картинка.Записать(ПутьККартинке);
ДвоичныеДанные = Новый ДвоичныеДанные(ПутьККартинке);
Скриншот = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
Тестировал:
- Платформа 1С:Предприятие 8.3 (8.3.24.1342)