Вставляем картинку из буфера обмена (платформа 1С 8.3.24)
Разработка - Универсальные функции
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Для демонстрации механизма создал обработку. На форму добавил кнопку и событие "ПриВставкеИзБуфераОбмена"

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