Еще про буфер обмена

04.05.09

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

Еще раз про буфер обмена. Понадобилось вставлять скриншот в справочник...

Скачать файл

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

Наименование По подписке [?] Купить один файл
ТестБуферОбмена.epf
.1241458646 5,93Kb
294
294 Скачать (1 SM) Купить за 1 850 руб.
clipboard.dll
.1241458688 511,00Kb
279
279 Скачать (1 SM) Купить за 1 850 руб.
Исходники (D7) clpsources.zip
.1241458725 13,16Kb
185
185 Скачать (1 SM) Купить за 1 850 руб.

Компонента предназначена для вставки в элементы типа Картинка картинки из буфера обмена.
Картинка из буфера автоматически преобразуется в формат jpeg встроенным компонентом Delphi и выдается в 1С в виде Base64 строки.
Это показалось удобным при вставке в справочник скриншотов (в программе управления проектами).
Пример работы прилагается, ничего сложного в работе нет.
Пример предназначен для 1С Предприятие 8.1.
Перед началом работы положить dll в папку bin каталога исполняемых файлов 1с.
Если хотите добавить что-то свое, исходники (Delphi 7) приложены.
Тестировалось под Vista Home premium.
Для преобразования картинки в строку Base64 использована бесплатная библиотека DIMime от Delphi Inspiration (http://www.yunqa.de).
Приложенные исходники библиотеки DIMime содержат исправление фичи, найденной мной (поток данных  не устанавливался в начало перед чтением из него).

См. также

Разработка внешних компонент 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    54122    9    69    

46

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

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

2400 руб.

25.06.2024    1164    3    4    

3

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

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

2400 руб.

04.05.2018    47382    124    66    

67

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

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

4600 руб.

27.06.2023    3646    3    0    

5

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

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

3600 руб.

02.09.2010    77555    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    28758    138    100    

91

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

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

14.01.2025    2233    bayselonarrend    14    

46

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

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

04.12.2024    4886    kovalevdmv    26    

75
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Anything 92 05.05.09 03:49 Сейчас в теме
(0) Спасибо. А я вот все искал, как бы сделать скриншот из 1С без использования дополнительных библиотек, но так и не нашел...
2. vip 05.05.09 03:53 Сейчас в теме
(1) Угу. Здесь дополнительная библиотека совсем не используется :))
3. dimensh 06.05.09 14:40 Сейчас в теме
попробую для вставки скрина ошибки в письмо
4. Поручик 4661 06.05.09 17:48 Сейчас в теме
Для клиент-серверной получается надо каждому ставить библиотеку и под админом регать.
5. gudun_ku 62 06.05.09 17:54 Сейчас в теме
(4). Да, это проблема. Для 7.7 решается, для 8 к сожалению решения по
регистрации внешних компонент без админских прав не нашел, хотя уверен,
создать можно.
6. Трактор 1255 06.05.09 23:13 Сейчас в теме
Скачивать не стал, потому как сейчас ненужно, но в своё время вопрос стоял остро. За решение плюс. Запомню. Потребуется - скачаю.
7. LavS 165 08.05.09 20:27 Сейчас в теме
Жаль, что в клиент-серверной админские права нужны... Поюзаю...
8. gudun_ku 62 09.05.09 00:10 Сейчас в теме
(7) Если зарегистрировавшиеся на эти выходные деффчонки в гости не придут,тогда возможно, подумаю над регистрацией под админом. Давно хочу под 8-ку чтоб не париться, исходники vkloader и v8undeflate есть... Подумаю обязательно,хотя сроков себе не ставлю.
10. пользователь 10.05.09 11:43
Сообщение было скрыто модератором.
...
9. пользователь 10.05.09 11:43
Сообщение было скрыто модератором.
...
11. inse0f 13.05.09 16:03 Сейчас в теме
за исходники отдельный плюс)
12. MadRabbit 102 06.07.09 17:13 Сейчас в теме
Вообщем то плюс, но есть вопрос - а как в обратном направлении, то есть из 1С картинку в буфер загрузить?
13. gudun_ku 62 07.07.09 00:40 Сейчас в теме
(12) см. обработку тест, там щелкаешь на картинке и Ctrl-C...
23. SkyLink2012 267 19.03.18 13:15 Сейчас в теме
(12)
(14)

Если задача ВООБЩЕ без DLL , стало быть, есть способ оперировать картинкой как двоичными данными

ДанныеКартинки = Base64Значение(строкаКартинки);
ЭлементыФормы.ОсновноеИзображение.Картинка = Новый Картинка(ДанныеКартинки);


И никаких DLL ))
Далее болшИе размеры можно отправлять на CDN https://github.com/Imgur/imgurpython
А маленькие - дирЕктом в БД записать.
Каким образом определять параметры и размеры картинки из Base64? Без прямых DLL, с помощью доступных инструментов , например import base64 from PIL import Image from subprocess import Popen, PIPE


P.S вопще с уважением отношусь к идеям работать с внешними API прямо из 1с. Но как то случаются же и появляются оптимальные пути решения проблем по работе с изображением через буфер обмена?



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

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

Показать
skyadmin; +1 Ответить
14. Angeros 08.02.12 05:54 Сейчас в теме
А есть какие нибудь дополнительные методы в длл, например узнать тип картинки, джпг или пнг или например узнать ее размеры в пикселях и мегабайтах?!
18. DrAku1a 1749 26.07.14 11:31 Сейчас в теме
(14) нету.
(4),(5) а если сделать ВК на NativeAPI?
А может попробовать сделать без ВК - кодом на VB?
15. shatt 38 04.09.12 15:51 Сейчас в теме
А изображения скопированные в буфер на локальной машинке можно вставить на машинку к которой подключились через RDP?
16. CaSH_2004 373 09.12.12 00:32 Сейчас в теме
Интересно, а можно такое изобразить при помощи DynamicWrapperX.dll? Так сказать для более широких масс.
Немного извращенно, зато доступнее. Chessman так сотворил работу с формами, вроде как ВК и в то же время не ВК
17. пользователь 16.04.13 12:08
Сообщение было скрыто модератором.
...
19. vshish 157 22.10.15 07:34 Сейчас в теме
Все хорошо, Но более корректно было бы завернуть все файлы в архивчик и уже архив публиковать.
20. progr-2008 118 15.09.17 14:10 Сейчас в теме
Можно копировать объекты метаданных?
21. SkyLink2012 267 15.03.18 14:18 Сейчас в теме
Надо в 1с вставить картинку из буфера обмена ? Работать с изображением из буфера обмена в 1с версий 8.1 , 8.2 , 8.3 из Windows XP- windows10?


Пока возможно скачать разработку 2010 года https://infostart.ru/public/19932/ без списания стартмони в 2018, 2019, 2012 году бесплатно. В макете обработки есть dll-ка clipboard.dll 511кб ( 523264б ), версия 1.0.0.5



Возникает ошибка 80004005 при регистрации ( c:\Program Files\1cv82>regsvr32 clipboard.dll ) в командной строке?

Попросту, надо запустить cmd "Командная строка (Администратор)" и зарегистрировать библиотеку

regsvr32 "c:\Program Files\1cv82\clipboard.dll"



Очень простой код
		ЗагрузитьВнешнююКомпоненту("clipboard.dll"); //и не надо вам никаких V8ADD.dll, если только фотки грузить, путем подгрузки через Base64
		Попытка
			КомпонентБО = Новый("AddIn.clipboard");
		Исключение
			Сообщить("Не удалось создать объект компоненты clipboard");
			Сообщить(ОписаниеОшибки());
		КонецПопытки;
Показать



Тип не определен (Addin.Clipboard) ? Понадобиться запустить cmd "Командная строка (Администратор)" и зарегистрировать библиотеку

regsvr32 "c:\Program Files\1cv82\clipboard.dll"


В итоге, в рунете появятся бОльше качественных и полезных фото))
В целом, для тех кто не в пожизненной теме - C# . Кто с уважением посматривает на кнопку "Заказать установку этой обработки". На дворе 2018год. Уже Python as an Excel scripting language Для 1с+Python from PIL import Image и subprocess.Popen в помощь! :)
22. DrAku1a 1749 16.03.18 04:47 Сейчас в теме
24. SkyLink2012 267 19.03.18 13:15 Сейчас в теме
(22)
(12)
(14)

Если задача ВООБЩЕ без DLL , стало быть, есть способ оперировать картинкой как двоичными данными


// строкаКартинки - ПолучитьИзБуфераОбмена

ДанныеКартинки = Base64Значение(строкаКартинки);
ЭлементыФормы.ОсновноеИзображение.Картинка = Новый Картинка(ДанныеКартинки);


И никаких DLL ))
Далее болшИе размеры можно отправлять на CDN https://github.com/Imgur/imgurpython
А маленькие - дирЕктом в БД записать.
Каким образом определять параметры и размеры картинки из Base64? Без прямых DLL, с помощью доступных инструментов , например import base64 from PIL import Image from subprocess import Popen, PIPE


P.S вопще с уважением отношусь к идеям работать с внешними API прямо из 1с. Но как то случаются же и появляются оптимальные пути решения проблем по работе с изображением через буфер обмена?



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

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

Показать
25. DrAku1a 1749 20.03.18 02:04 Сейчас в теме
(24) Если это дело происходит в форме - можно даже не создавать COM-объект, а положить на форму невидимый элемент управления типа "браузер" и работать через него. Это точно будет работать в толстом клиенте, а будет ли это в тонком клиенте и в web-интерфейсе?!!
Оставьте свое сообщение