Внешняя компонента для копирования изображения в буфер обмена

16.03.21

Разработка - Разработка внешних компонент

Компонента позволяет получить в буфер обмена табличный документ.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Файлы для настройки функционала
.zip 18,48Mb
4
4 Скачать (1 SM) Купить за 1 850 руб.

Поступил запрос на то, чтобы добавить кнопку копирования табличного документа изображением в буфер обмена, чтобы быстренько отправить его в whatsapp - можно отправлять счет на оплату как изображение в ICQ, Телеграм, WHATSAPP. Компонента x32 написана на delphi с использованием бывшей бесплатной библиотеки 1CNativeLib от 2011 года //infostart.ru/public/88060/ и проверена на платформе 1С:Предприятие 8.3 (8.3.10.2580) в обычном режиме.

Решение было сделано "франкенштейном" (но всё делается по одной кнопке):

  1. Сохраняем печатную форму, как pdf
  2. Запускаем командную строку преобразования pdf в jpg (ghostscript и imagemagick)
  3. Компонента копирует файл с Jpeg в буфер обмена

Работает так:

1. Эта процедура подключает возможность: создает в папке временных файлов папку conv и извлекает туда программы для конвертации. Эту процедуру нужно бы запускать при запуске клиентской 1С - в событии ПередНачаломРаботыСистемы или ПриНачалеРаботыСистемы.

Перем глКомпонентаКопированияФайлаJPEGвБуферОбмена;
Перем глПутьКПрограммеКонвертирования;  

Процедура ПодключитьКопированиеВБуферОбмена() Экспорт
	
	// Извлекаем программу конвертирования
	глПутьКПрограммеКонвертирования= КаталогВременныхФайлов() + "conv\";
	МассивПапок = НайтиФайлы(КаталогВременныхФайлов(), "conv");
	Если МассивПапок.Количество() = 0 ИЛИ Не МассивПапок.Получить(0).ЭтоКаталог() Тогда
		СоздатьКаталог(глПутьКПрограммеКонвертирования);
		ДвоичныеДанные = ПолучитьОбщийМакет("ConvertPDFtoPNG");
		ЧтениеZIP = Новый ЧтениеZipФайла(ДвоичныеДанные.ОткрытьПотокДляЧтения());
		ЧтениеZIP.ИзвлечьВсе(глПутьКПрограммеКонвертирования);
		ЧтениеZIP.Закрыть();
	КонецЕсли; 
	
	// Подключаем компоненту копирования в буфер обмена
	Если глКомпонентаКопированияФайлаJPEGвБуферОбмена = Неопределено Тогда
		ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаКопированияФайлаJPEGвБуферОбмена", "CopyFromFileJPEGtoClipboard", ТипВнешнейКомпоненты.Native);
		глКомпонентаКопированияФайлаJPEGвБуферОбмена = Новый("AddIn.CopyFromFileJPEGtoClipboard.JPEGtoClipboard");	
	КонецЕсли; 
	
КонецПроцедуры

2. Эта процедура копирует табличный документ в буфер обмена

Процедура СкопироватьТабличныйДокументВБуферОбмена(ТабДок) Экспорт
	
	ИмяВременногоФайлаPDF = ПолучитьИмяВременногоФайла("pdf");
	ТабДок.Записать(ИмяВременногоФайлаPDF, ТипФайлаТабличногоДокумента.PDF);
	
	
	// Конвертируем
	ИмяВременногоФайлаJPEG = ПолучитьИмяВременногоФайла("jpg");
	КодВозврата = Неопределено;
	ЗапуститьПриложение(глПутьКПрограммеКонвертирования+ "convert.exe -density 150 -depth 8 -quality 80 -trim """ + ИмяВременногоФайлаPDF + """ """ + ИмяВременногоФайлаJPEG + """",, Истина, КодВозврата);
	
	// Копируем в буфер обмена
	глКомпонентаКопированияФайлаJPEGвБуферОбмена.ПоместитьJPEGвБуферОбмена(ИмяВременногоФайлаJPEG);
	
	// Удаляем файлы
	УдалитьФайлы(ИмяВременногоФайлаJPEG);
	УдалитьФайлы(ИмяВременногоФайлаPDF);
	
КонецПроцедуры

3. А это пример, как можно отправлять в буфер обмена только выделенную область табличного документа

	ВыделеннаяОбласть = ЭлементыФормы.ТабличныйДокумент.ТекущаяОбласть;

	ТабДок = Новый ТабличныйДокумент;
	ОбластьПриемник = ТабДок.Область(1, 1, ВыделеннаяОбласть.Низ - ВыделеннаяОбласть.Верх + 1, ВыделеннаяОбласть.Право - ВыделеннаяОбласть.Лево + 1);
	ТабДок.ВставитьОбласть(ВыделеннаяОбласть, ОбластьПриемник);
	Для Счетчик = 1 По ОбластьПриемник.Право - ОбластьПриемник.Лево + 1 Цикл
        ТабДок.Область(1, Счетчик, ОбластьПриемник.Низ, Счетчик).ШиринаКолонки = ЭлементыФормы.ТабличныйДокумент.Область(, ВыделеннаяОбласть.Лево + Счетчик - 1, , ВыделеннаяОбласть.Лево + Счетчик - 1).ШиринаКолонки;
	КонецЦикла;
	
	СкопироватьТабличныйДокументВБуферОбмена(ТабДок);

 

Буфер обмена JPEG внешняя компонента

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18000 руб.

30.05.2017    54123    9    69    

46

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1168    3    4    

3

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    47388    124    66    

67

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3650    3    0    

5

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77559    72    257    

191

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    28764    138    100    

91

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2244    bayselonarrend    14    

46

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    4892    kovalevdmv    26    

75
Оставьте свое сообщение