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

04.05.09

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

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

Скачать файлы

Наименование Файл Версия Размер
ТестБуферОбмена.epf
.1241458646 5,93Kb
294
.1241458646 5,93Kb 294 Скачать
clipboard.dll
.1241458688 511,00Kb
279
.1241458688 511,00Kb 279 Скачать
Исходники (D7) clpsources.zip
.1241458725 13,16Kb
185
.1241458725 13,16Kb 185 Скачать

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

См. также

Внешняя компонента WebSocket для 1С (c поддержкой Authorization token bearer)

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

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    15974    13    33    

19

Медиадисплей. Рекламный информационный монитор для покупателя.

Разработка внешних компонент 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 и маркетинг Управленческий учет Платные (руб)

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

16800 руб.

30.05.2017    51441    32    69    

41

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

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

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    4628    1    0    

3

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

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

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

2400 руб.

12.05.2020    24958    129    93    

78

Внешняя компонента печати PDF (Native Win 32/64)

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

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    34258    100    123    

107

Внешняя компонента для подключения 1С к телефонии Asterisk

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

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

2400 руб.

04.05.2018    44086    115    64    

58

Внешняя компонента для работы с Apach Kafka

Инструментарий разработчика Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    2122    40    ivan1703    25    

37

Внешняя компонента GraphQL клиент для 1С

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

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

4600 руб.

27.06.2023    2236    1    0    

1
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Anything 89 05.05.09 03:49 Сейчас в теме
(0) Спасибо. А я вот все искал, как бы сделать скриншот из 1С без использования дополнительных библиотек, но так и не нашел...
2. vip 05.05.09 03:53 Сейчас в теме
(1) Угу. Здесь дополнительная библиотека совсем не используется :))
3. dimensh 06.05.09 14:40 Сейчас в теме
попробую для вставки скрина ошибки в письмо
4. Поручик 4660 06.05.09 17:48 Сейчас в теме
Для клиент-серверной получается надо каждому ставить библиотеку и под админом регать.
5. gudun_ku 62 06.05.09 17:54 Сейчас в теме
(4). Да, это проблема. Для 7.7 решается, для 8 к сожалению решения по
регистрации внешних компонент без админских прав не нашел, хотя уверен,
создать можно.
6. Трактор 1246 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 266 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 1609 26.07.14 11:31 Сейчас в теме
(14) нету.
(4),(5) а если сделать ВК на NativeAPI?
А может попробовать сделать без ВК - кодом на VB?
15. shatt 38 04.09.12 15:51 Сейчас в теме
А изображения скопированные в буфер на локальной машинке можно вставить на машинку к которой подключились через RDP?
16. CaSH_2004 372 09.12.12 00:32 Сейчас в теме
Интересно, а можно такое изобразить при помощи DynamicWrapperX.dll? Так сказать для более широких масс.
Немного извращенно, зато доступнее. Chessman так сотворил работу с формами, вроде как ВК и в то же время не ВК
17. пользователь 16.04.13 12:08
Сообщение было скрыто модератором.
...
19. vshish 147 22.10.15 07:34 Сейчас в теме
Все хорошо, Но более корректно было бы завернуть все файлы в архивчик и уже архив публиковать.
20. progr-2008 118 15.09.17 14:10 Сейчас в теме
Можно копировать объекты метаданных?
21. SkyLink2012 266 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 1609 16.03.18 04:47 Сейчас в теме
(21) Опять DLL...
24. SkyLink2012 266 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 1609 20.03.18 02:04 Сейчас в теме
(24) Если это дело происходит в форме - можно даже не создавать COM-объект, а положить на форму невидимый элемент управления типа "браузер" и работать через него. Это точно будет работать в толстом клиенте, а будет ли это в тонком клиенте и в web-интерфейсе?!!
Оставьте свое сообщение