Вставка картинки из буфера обмена с помощью компоненты из Документооборота в форматированный документ и HTML поле на обычных и управляемых формах - тонкий клиент

Публикация № 1417880

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

В статье рассмотрен вопрос о доработанной вставки картинки из буфера обмена способом из компоненты Документооборота. Способ существенно доработан - код унифицирован, и подготовлен для вставки в модуль. Также доработана вставка в поле HTML в управляемых и обычных Формах. Для HTML поля добавлена функция вставки HTML после курсора (используется для вставки картинки в тонком и толстом клиентах в обычном и управляемом приложении).

В статье рассмотрен вопрос о доработанной вставки картинки из буфера обмена через компоненту Документооборота. Рассмотрим вопросы касаемо 2-х типов приложений: Управляемое - Через Форматированный Документ, для Обычных Форм касаемо 

  1. Вставка в Поле HTML осуществляем в 2 этапа: 
    1. Картинку из Буфера обмена будем получать при помощи метода документооборота.
    2. Вставку в код HTML будем осуществлять непосредственно на Javascript, поскольку в отличие от Форматированного документа нужного функционала по определению курсора нету. Поэтому для этого используем вставку полностью на основе вызова Функции JS.
  2. Вставку в Форматированный документ на Тонком Клиенте делаем аналогично тому, что было в исходной статье.

При этом последний функционал необходимо полностью доработать до возможности использования в Общем модуле, из которого будем вызывать экспортную процедуру с Формы (Управляемой или Обычной). Хотя есть уже до этого публикация Вставка снимка экрана (screenshot) в форматированный документ,  тем не менее не очень удобно переносить 3 процедуры в каждую форму.

Предлагаю модернизированный вариант этого способа, и ещё применительно к обычным формам. Тестировалось на платформах 8.3.14 - 8.3.16

Вставка картинки в HTML поле положения курсора при помощи JavaScript.

Рассмотрим следующие режимы: 

  1. Тонкий Клиент.
  2. Обычное Приложение. 

Для Обычного приложения код выглядит так

Процедура Кнопка1Нажатие(Элемент)
#Если ВебКлиент тогда
		
		Сообщить("Компонента в контектсе Web Клиента не работает. Используйте Ctrl+V для вставки изображений");
		
	#Иначе
		
		КомпонентаУстановлена = РаботаСКартинкамиКлиент.ПроинициализироватьКомпоненту(); 
		Если Не КомпонентаУстановлена Тогда 
			Обработчик = Новый ОписаниеОповещения("ВставитьКартинкуИзБуфераЗавершение", ЭтотОбъект); 
			РаботаСКартинкамиКлиент.УстановитьКомпоненту(Обработчик); 
			Возврат; 
		КонецЕсли; 
		ВставитьКартинкуИзБуфераЗавершение(Истина, Неопределено,ЭлементыФормы.ПолеHTMLДокумента1.Имя); 
    #КонецЕсли
КонецПроцедуры

Функция ВставитьКартинкуИзБуфераЗавершение(Результат,ПараметрыВыполнения,НазваниеФорматДок) 
		
	Если Результат = Истина Тогда 
		ПутьКФайлу = КомпонентаПолученияКартинкиИзБуфера.ПолучитьКартинкуИзБуфера();
		Если Не ПустаяСтрока(ПутьКФайлу) Тогда 
			
			    Картинка = Новый Картинка(ПутьКФайлу);
				Данные2=КаталогВременныхФайлов();  			
				Текст = ЭтаФорма.ЭлементыФормы[НазваниеФорматДок].ПолучитьТекст(); 	 								
				ИндексВложений=СтрЧислоВхождений(Текст,"img");
				ИмяСкриншота="image"+Прав("00"+ИндексВложений,3)+".jpg"; 				
				РасположениеСкриншота=Данные2+ИмяСкриншота;
				ПереместитьФайл(ПутьКФайлу,РасположениеСкриншота);
				ПутьКФайлу=Данные2; 				
				Text="<P><FONT face=Tahoma><FONT size=2>&nbsp;<BR></FONT></FONT></P><IMG src="""+РасположениеСкриншота + """ width = ""200"" height = ""200"" />";  					
				ЭтаФорма.ЭлементыФормы[НазваниеФорматДок].Документ.defaultView.insertHtmlAfterSelection(Text);				 	
					
				
			
			
		Иначе 
			ПоказатьПредупреждение(,НСтр("ru = 'Буфер обмена не содержит картинки'"));
			
		КонецЕсли; 
	КонецЕсли; 
	
	
КонецФункции

			


Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
	ДокументHTML = "<html><head>
	|</head><script language='JavaScript'>
|function insertHtmlAfterSelection(html) {
|    var sel, range, expandedSelRange, node;
|    if (window.getSelection) {
|        sel = window.getSelection();
|        if (sel.getRangeAt && sel.rangeCount) {
|            range = window.getSelection().getRangeAt(0);
|            expandedSelRange = range.cloneRange();
|            range.collapse(false);
|            // Range.createContextualFragment() would be useful here but is
|            // non-standard and not supported in all browsers (IE9, for one)
|            var el = document.createElement('div');
|            el.innerHTML = html;
|            var frag = document.createDocumentFragment(), node, lastNode;
|            while ( (node = el.firstChild) ) {
|                lastNode = frag.appendChild(node);
|            }
|            range.insertNode(frag);
|
|            // Preserve the selection
|            if (lastNode) {
|                expandedSelRange.setEndAfter(lastNode);
|                sel.removeAllRanges();
|                sel.addRange(expandedSelRange);
|            }
|        }
|    } else if (document.selection && document.selection.createRange) {
|        range = document.selection.createRange();
|        expandedSelRange = range.duplicate();
|        range.collapse(false);
|        range.pasteHTML(html);
|        expandedSelRange.setEndPoint('EndToEnd', range);
|        expandedSelRange.select();
|    }
|}
|</script><body contenteditable='true'></body></html>";
	ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(ДокументHTML);
КонецПроцедуры

	

Однако, применяемая функция JavaScript может быть использована для вставки не только картинок после курсора - а в целом любого HTML в документе после курсора.

Для управляемых форм код не будет особо отличаться, и в целом будет похож на предыдущий случай. И будет выглядеть таким образом.


&НаКлиенте
Процедура Команда1(Команда)
	// Вставить содержимое обработчика.
	#Если ВебКлиент тогда
		Сообщить("Компонента в контектсе Web Клиента не работает. Используйте Ctrl+V для вставки изображений");
	#Иначе		
		КомпонентаУстановлена = РаботаСКартинкамиКлиент.ПроинициализироватьКомпоненту(); 
		Если Не КомпонентаУстановлена Тогда 
			Обработчик = Новый ОписаниеОповещения("ВставитьКартинкуИзБуфераЗавершение", ЭтотОбъект); 
			РаботаСКартинкамиКлиент.УстановитьКомпоненту(Обработчик); 
			Возврат; 
		КонецЕсли; 
		ВставитьКартинкуИзБуфераЗавершение(Истина, Неопределено,Элементы.Документ.Имя); 
    #КонецЕсли
КонецПроцедуры

&НаКлиенте
Функция ВставитьКартинкуИзБуфераЗавершение(Результат,ПараметрыВыполнения,НазваниеФорматДок) 
		
	Если Результат = Истина Тогда 
		ПутьКФайлу = КомпонентаПолученияКартинкиИзБуфера.ПолучитьКартинкуИзБуфера();
		Если Не ПустаяСтрока(ПутьКФайлу) Тогда 
			    Картинка = Новый Картинка(ПутьКФайлу);
			
				Данные2=КаталогВременныхФайлов();  			
				Текст = ДокументHTML; 	 								
				ИндексВложений=СтрЧислоВхождений(Текст,"img");
				ИмяСкриншота="image"+Прав("00"+ИндексВложений,3)+".jpg"; 				
				РасположениеСкриншота=Данные2+ИмяСкриншота;
				ПереместитьФайл(ПутьКФайлу,РасположениеСкриншота);
				ПутьКФайлу=Данные2; 				
				Text="<P><FONT face=Tahoma><FONT size=2>&nbsp;<BR></FONT></FONT></P><IMG src="""+РасположениеСкриншота + """ width = ""200"" height = ""200"" />";  					
				ЭтаФорма.Элементы[НазваниеФорматДок].Документ.defaultView.insertHtmlAfterSelection(Text);
		 Иначе 
			ПоказатьПредупреждение(,НСтр("ru = 'Буфер обмена не содержит картинки'"));
			
		КонецЕсли; 
	КонецЕсли; 
	
	
КонецФункции

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	//Вставить содержимое обработчика
	ЭтаФорма.ДокументHTML = "<html><head>
	|</head><script language='JavaScript'>
|function insertHtmlAfterSelection(html) {
|    var sel, range, expandedSelRange, node;
|    if (window.getSelection) {
|        sel = window.getSelection();
|        if (sel.getRangeAt && sel.rangeCount) {
|            range = window.getSelection().getRangeAt(0);
|            expandedSelRange = range.cloneRange();
|            range.collapse(false);
|            // Range.createContextualFragment() would be useful here but is
|            // non-standard and not supported in all browsers (IE9, for one)
|            var el = document.createElement('div');
|            el.innerHTML = html;
|            var frag = document.createDocumentFragment(), node, lastNode;
|            while ( (node = el.firstChild) ) {
|                lastNode = frag.appendChild(node);
|            }
|            range.insertNode(frag);
|
|            // Preserve the selection
|            if (lastNode) {
|                expandedSelRange.setEndAfter(lastNode);
|                sel.removeAllRanges();
|                sel.addRange(expandedSelRange);
|            }
|        }
|    } else if (document.selection && document.selection.createRange) {
|        range = document.selection.createRange();
|        expandedSelRange = range.duplicate();
|        range.collapse(false);
|        range.pasteHTML(html);
|        expandedSelRange.setEndPoint('EndToEnd', range);
|        expandedSelRange.select();
|    }
|}
|</script><body contenteditable='true'></body></html>";
КонецПроцедуры


Таким образом, код для 2-х режимов является достаточно похожим. Единственное исключение - Web Клиент, но там вставка осуществляется полностью за счет JavaScript (Это описано в статье - Вставка картинки из буфера обмена (на выбор: JavaScript / внешняя компонента / штатно)) или если платформа более старая - Java Апплет можно попробовать дополнить.

Вставка картинки в Форматированный Документ компонентой ДО в Управляемых Формах. 

Форматированный Документ - это вариант HTML документа (потому что текст получается там HTML) со следующими особенностями, которые были выявлены в ходе работы над внутренней конфигурации: 

  1. Не стабильно "форматирование документа", а поэтому стили не всегда работают. 
  2. Нет возможности вызвать JavaScript.
  3. Нет доступа к Объекту Документ. 
  4. Drag-Drop для картинок работает ужасно. Не возможно потом вытащить картинку.

Однако, взамен 1С дописала удобный для разработчиков интерфейс, благодаря чему можно обойтись без вызовов javascript, правда и расширить функционал можно только за счет внешних компонент. В данном случае код вставки будет выглядеть таким образом:

&НаКлиенте
Процедура КомандаТест(Команда)
	#Если ВебКлиент тогда
		
		Сообщить("Компонента в контектсе Web Клиента не работает. Используйте Ctrl+V для вставки изображений");
		
	#Иначе
		КомпонентаУстановлена = РаботаСКартинкамиКлиент.ПроинициализироватьКомпоненту(); 
		Если Не КомпонентаУстановлена Тогда 
			Обработчик = Новый ОписаниеОповещения("ВставитьКартинкуИзБуфераЗавершение", ЭтотОбъект); 
			РаботаСКартинкамиКлиент.УстановитьКомпоненту(Обработчик); 
			Возврат; 
		КонецЕсли; 
		ВставитьКартинкуИзБуфераЗавершение1(Истина, Неопределено,Элементы.ФорматированныйДокумент.Имя); 
    #КонецЕсли

КонецПроцедуры

&НаКлиенте
Функция ВставитьКартинкуИзБуфераЗавершение1(Результат,ПараметрыВыполнения,НазваниеФорматДок) 
		
	Если Результат = Истина Тогда 
		ПутьКФайлу = КомпонентаПолученияКартинкиИзБуфера.ПолучитьКартинкуИзБуфера();
		Если Не ПустаяСтрока(ПутьКФайлу) Тогда 
			    Картинка = Новый Картинка(ПутьКФайлу);			
				УдалитьФайлы(ПутьКФайлу);
				ПозицияНачала=0;
				ПозицияОконч=0;
				ЭтаФорма.Элементы[НазваниеФорматДок].ПолучитьГраницыВыделения(ПозицияНачала,ПозицияОконч);
				ЭтаФорма.ВставитьКартинкуВФорматированныйДокумент(Картинка,ПозицияОконч,НазваниеФорматДок);	 			
				
		Иначе 
			ПоказатьПредупреждение(,НСтр("ru = 'Буфер обмена не содержит картинки'"));
		КонецЕсли; 
	КонецЕсли; 
КонецФункции

&НаСервере 
Процедура ВставитьКартинкуВФорматированныйДокумент(Кар,Закладка,Док) экспорт
	 
	ЭтотОбъект[Док].Вставить(Закладка,Кар, Тип("КартинкаФорматированногоДокумента")); 
	
КонецПроцедуры

Следует отметить, что все процедуры, кроме ВставитьКартинкуВФорматированныйДокумент можно вставить в модуль и осуществить вызов из модуля, для этого последнюю достаточно сделать экспортной, и также необходимо добавить туда наименование какого-либо события, если вставку картинки в Форматированный Документ необходимо контролировать. 

 

Итоговый код для упрощения процедуры вставки

если обе процедуры поместить в модуль, то код при переносе можно существенно сократить, и он будет выглядеть для различных режимов несколько по разному. Я приведу лишь код в самих формах, так как если его немного изменить - получим некоторые нюансы: 

  1. Код для Форматированного Документа в УФ.
  2. Код для поля HTML в ОбычныхФормах. Код для Тонкого Клиента УФ я не привожу, так как он не сильно отличается.

Для Форматированного Документа: 

&НаКлиенте
Процедура ВставитьКартинкуИзБуфера(Команда)
	
	КлиентРаботаСФормами.ВставитьКартинкуВФорматированныйДокументКлиент(Элементы.СодержаниеФД.Имя,ЭтаФорма);
КонецПроцедуры

&НаСервере 
Процедура ВставитьКартинкуВФорматированныйДокумент(Кар,Закладка,Док) экспорт
	
	ЭтотОбъект[Док].Вставить(Закладка,Кар, Тип("КартинкаФорматированногоДокумента")); 

КонецПроцедуры

Для HTML поля обычные Формы: 

Процедура ВставитьКартинкуИзБуфераОбменаНажатие(Элемент)
		
	КлиентРаботаСФормами.ВставитьКартинкуВФорматированныйДокументКлиент(ЭлементыФормы.ПолеHTML.Имя,ЭтаФорма,"ВставитьКартинку");
	
КонецПроцедуры

//Универсальный CallBack:
Процедура ВставитьКартинкуВФорматированныйДокумент(Текст,РасположениеСкриншота,ИмяСкриншота,НазваниеФорматДок,Событие,Кнопка) экспорт
	Если Событие="ВставитьКартинку" тогда 
    //Вставить Обход События

    КонецЕсли;
КонецПроцедуры

Как видно - код достаточно компактный, и легко переносить из одной формы в другую - не прибегая к излишествам. Излишества можно добавить по своему желанию.

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

Наименование Файл Версия Размер
Демонстрационная обработка. Требует наличия модуля из ДО - РаботаСКартинкамиКлиент

.epf 12,54Kb
0
.epf 1.0 12,54Kb Скачать

Специальные предложения

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

См. также

Внешняя компонента: Android tools

Мобильная разработка Разработка внешних компонент v8 v8::Mobile Абонемент ($m)

Несколько дополнительных функций для мобильного приложения\клиента под Android. Размер архива внешних компонент под архитектуры ARM и x86 - 230KB.

1 стартмани

12.01.2021    1692    3    KAV2    6    

Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)

Разработка внешних компонент Мобильная разработка v8 Абонемент ($m)

Используя данный драйвер, можно без единой строки кода, просто установив на ТСД мобильный клиент 1С, сразу начать подбирать товары в документах вашей учётной системы. А, адаптировав нужные формы под небольшой размер экрана ТСД, можно просто создать полноценное рабочее место для выполнения операций с помощью ТСД, не прибегая к стороннему софту. Если же на складе плохая связь (или её нет вовсе), то можно использовать возможности мобильного клиента в автономном режиме (потребуется доработка вашей конфигурации). Драйвер также можно использовать и для Android приложения на мобильной платформе. В результате чего можно обойтись без ненужных полей ввода и клавиатуры «на пол-экрана».

3 стартмани

09.10.2020    10268    95    ltfriend    90    

Инструменты отладки Web-страниц в приложении на устройстве Android

Мобильная разработка WEB Инструментарий разработчика Разработка внешних компонент v8::Mobile Абонемент ($m)

При разработке сложных интерфейсов на базе HTML часто возникает необходимость отладки стилей CSS и скриптов непосредственно на устройстве. Статья описывает способ отладки web-содержимого приложения мобильной платформы 1С на Андроид устройстве с помощью Chrome Development Tools.

7 стартмани

26.08.2020    3340    2    ingeneerz@gmail.com    2    

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

1 стартмани

30.03.2018    30514    38    Ditron    90    

Отрубаем зависшие на сервере процессы

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Вы любите COM объекты? Я их просто обожаю! Практически все, чего не может 1С, можно доделать ими. Но есть у них небольшой косячок: иногда они зависают и висят, пока не отрубишь их через диспетчер задач или до перезагрузки, жрут память и в конце концов перестают запускаться. Что делать? Рубить!

1 стартмани

28.07.2020    3133    1    zarankony    3    

Диагностика контекста выполнения (внешняя компонента)

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Небольшая экспериментальная внешняя компонента для получения дополнительной информации о контексте выполнения.

1 стартмани

24.07.2020    6392    2    YPermitin    14    

Универсальная обертка для использования NATIVE компонент на платформе 1С 7.7, 8.0 и 8.1

Разработка внешних компонент v8 Абонемент ($m)

Используете 1С 7.7, 8.0 или 8.1 и вас раздражает, что под вашу 1С уже не выпускаются современные компоненты. А хотелось бы?

1 стартмани

07.07.2020    4569    7    karpik666    5    

TextRadar - нечеткий поиск в тексте Промо

Разработка внешних компонент Поиск данных v8 1cv8.cf Абонемент ($m)

В отличие от нечеткого сравнения строк, когда обе сравниваемых строки равнозначны, в задаче нечеткого поиска выделяются строка поиска и строка данных, а вычислить необходимо не степень похожести двух строк, а степень присутствия строки поиска в строке данных. Нормированный коэффициент, находящийся между 0 и 1 позволяет отсечь заведомо низкие результаты, организовать поиск по синонимам и т.д. Наглядное отображение результатов в кратком и детальном виде поможет быстро найти интересующий фрагмент.

1 стартмани

19.09.2018    20190    30    TSSV    19    

Нано HTTP сервер - внешняя компонента для мобильного приложения 1C, на Android

Разработка внешних компонент Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

Нано HTTP сервер на терминале сбора данных "ATOL Smart.Lite android 7.0". Работает только с GET и POST запросами. Аутентификация BASE64. Не поддерживает HTTPS и не передает файлы. В прикрепленном архиве исходники на компоненту (С++ и java для Android Studio 3.6.2), ЦФ - мобильного приложения и тестовая обработка.

1 стартмани

22.06.2020    4482    10    SanyMaga    19    

Перехват сканирования Android Native API

Разработка внешних компонент Мобильная разработка v8::Mobile Абонемент ($m)

Native компонента для перехвата сканирования шк и передачу в мобильную 1С.

1 стартмани

29.04.2020    7354    52    evgeny43    47    

Мобильная платформа. Уникальный идентификатор устройства Android при помощи внешней компоненты. Не IMEI

Разработка внешних компонент Мобильная разработка v8::Mobile Абонемент ($m)

Идентифицируем устройства, на которых установлены копии нашего приложения.

3 стартмани

23.04.2020    4897    4    kinan    15    

Использование сборок .NET в 1С 7. и 8.x. Создание внешних Компонент. Промо

Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Данная разработка создана для использования сборок .Net в 1С через преобразование объектов и классов в COM-объекты, которые можно использовать в 1С. Достигается это путем создания класса, реализующего методы интерфейса IReflect public class AutoWrap: IReflect.

1 стартмани

28.11.2013    87446    282    Serginio    74    

Внешняя компонента Native API для управления окнами и буфером обмена, получения снимков окон Windows и Linux

Разработка внешних компонент v8::УФ Россия Абонемент ($m)

Внешняя компонента Native API для Windows и Linux с исходными кодами на C++. Возможности компоненты: получение списка окон и списка процессов, управление размерами и положением окна, снимок окон и снимок экрана, доступ к данным буфера обмена, взаимодействие по протоколу WebSocket.

2 стартмани

16.04.2020    5207    10    kandr    11    

Android Java и NativAPI C++ внешняя компонента для широковещательных сообщений (отправка и прием). Подключаем сканер ШК и клавиатуру к "1С мобильное приложение"

Оптовая торговля Розничная торговля Сканер штрих-кода Разработка внешних компонент Мобильная разработка v8::Mobile Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Подключаем сканер ШК и клавиатуру к "1С мобильное приложение", на терминале сбора данных "ATOL Smart.Lite android 7.0". Работаем с буфером обмена. В архиве к теме; 1. исходник компоненты (папка package готовый zip); 2. исходник "AccessibilityService" для перехвата клавиатуры (папка package готовый apk); 3. cf - тестовая конфигурация

1 стартмани

15.04.2020    6279    50    SanyMaga    86    

Мобильная платформа. Реакция на внешнее событие в Android при помощи внешней компоненты

Мобильная разработка Разработка внешних компонент v8::Mobile Молдова Абонемент ($m)

Внешняя компонента для мобильной платформы на Android. Пришиваем платформе уши, чтобы лучше слышать.

3 стартмани

06.04.2020    5932    10    kinan    17    

Tool1CD Beta в деле Промо

Разработка внешних компонент v8 Абонемент ($m)

Пс, парень! Не хочешь немного сырых байтов?

1 стартмани

09.05.2018    28254    31    baton_pk    26    

Получение фото с веб-камеры

Разработка внешних компонент v8 Абонемент ($m)

Получение фото с веб-камеры без ActiveX. Внешняя компонента по технологии Native API.

1 стартмани

25.03.2020    7822    70    berezdetsky    40    

Быстрая печать этикеток (ZPL, EPL, TSPL, EZPL, GEPL, TSPL-EZ)

Разработка внешних компонент v8 v8::УФ 1cv8.cf Абонемент ($m)

Качественная и быстрая печать на внутреннем языке принтеров этикеток.

4 стартмани

02.02.2020    9565    41    Johny_v    13    

Сканирование по TWAIN в 1С (обычные и управляемые формы)

Разработка внешних компонент v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка показывает пример, как можно в 1С проводить сканирование с помощью компоненты TWAIN.

3 стартмани

03.01.2020    7192    28    Denr83    0    

NativeDraw: Компонента рисования для 1С [V2.6.2] Промо

Разработка внешних компонент Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Рисуйте в формах 1С, также предлагается небольшое количество нерисовальных функций

1 стартмани

13.07.2015    49926    466    ПерваяСистема    147    

Вставка картинки из буфера обмена (на выбор: JavaScript / внешняя компонента / штатно)

Разработка внешних компонент v8 Абонемент ($m)

Вставка картинки из буфера обмена с помощью JavaScript в поле HTML в web-клиенте, с помощью внешней компоненты в тонком/толстом клиенте и путем преобразования данных картинки формата Base64 из поля HTML в любом клиенте, начиная с платформы 8.3.16. Механизм протестирован на платформах 8.2 и 8.3 Для запуска опубликованной конфигурации требуется платформа релиза не ниже 8.3.14.

1 стартмани

05.12.2019    5981    7    Andreyyy    10    

Клиент событий в «бесконечном» HTTP-соединении для 1С: Предприятие 8

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Native Компонента в отдельном потоке обрабатывает пакеты событий, в "бесконечном" http соединении и передаёт данные в очередь внешних событий.

1 стартмани

02.12.2019    5640    2    starovton    11    

Управление окнами и мониторами в 1С

Сервисные утилиты Разработка внешних компонент v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Абонемент ($m)

Управление размерами, активностью и положением окон из 1С с возможностью вывода окон на второй монитор и запретом изменения окна.

1 стартмани

28.10.2019    10685    11    Grigoriy251    7    

Компоненты распознавания и печати штрих-кодов Промо

Разработка внешних компонент Сканер штрих-кода v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Комплект программного обеспечения для реализации функций оптического распознавания штрих-кодов различных систем при помощи обычной web-камеры, а также их отображения в печатных формах. Программы могут работать в составе конфигураций, созданных на базе платформ «1С-Предприятие» версий 7.7, 8.2, 8.3. Компонент чтения кодов реализован в виде внешней компоненты 1С с COM-интерфейсом. Компонент отображения создан по стандартной технологии ActiveX для Windows, и может быть встроен в любое приложение, поддерживающее встраивание ActiveX элементов управления, например в документ Word или Excel, или форму VBA. P.S. Добавлена новая версия программы распознавания. Новые функции: обработка видео в реальном режиме (а не по таймеру, как раньше), добавлена возможность распознавания штрих-кодов из графических файлов JPEG, PNG, GIF, BMP, а также передавать для распознавания картинки из 1С, теперь можно получить в 1С захваченное с камеры или файла изображение, как с выделением мест, содержащих коды, так и без, а также отдельные фрагменты изображений, содержащие код. Добавлены новые свойства и методы для программирования. Обновлена документация.

10 стартмани

10.07.2015    72771    88    igorberezhnov    101    

Маленькая и скромная мобильная внешняя компонента

Разработка внешних компонент v8 Абонемент ($m)

Изваять простенькую мобильную компоненту на 1С для android не так-то просто. Посему назло отдельным супостатам, не желающим делится исходниками, представляю весь свой скромный труд на публичный суд.

1 стартмани

21.10.2019    11035    7    ripreal1    34    

Native внешняя компонента для оповещения по UDP или TCP

Разработка внешних компонент v8 Абонемент ($m)

Native внешняя компонента для оповещения по UDP или TCP, которая реализует возможность в 1С передавать сообщения с сервера на клиента. Исходный код компоненты также представлен.

1 стартмани

06.10.2019    12205    28    vdv2701    31    

Компонента аутентификации и шифрования с помощью биометрической информации для Андроид

Разработка внешних компонент Мобильная разработка Защита и шифрование v8::Mobile Абонемент ($m)

Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

5 стартмани

17.09.2019    7463    1    IgorKissil    9    

Полезные приемы при работе с Excel из 1С (Версия 3.1) Промо

Практика программирования Разработка внешних компонент Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Программисту 1С часто приходится работать с таблицами Excel из 1С. Я постарался собрать небольшой FAQ и набор функций для работы с файлами Excel. Надеюсь, кому-то будет полезна данная статья.

1 стартмани

22.09.2015    224598    477    Zerocl    76    

Внешняя компонента Sundries: несколько полезных системных функций

Разработка внешних компонент v8 Абонемент ($m)

Звук, пауза, буфер обмена, раскладки клавиатуры и т.д.

4 стартмани

30.08.2019    7232    9    sivin-alexey    15    

Native внешняя компонента для передачи/получения по UDP (теперь с Base64)

Разработка внешних компонент v8 УТ10 Россия Абонемент ($m)

Внешняя компонента Native-API для организации передачи с использованием UDP.

1 стартмани

29.07.2019    5417    10    axae    2    

Универсальная печать штрихкодов Windows, Linux, x86, x64. Управляемые формы. Веб-клиент. Пример

Разработка внешних компонент Практика программирования v8::УФ 1cv8.cf Абонемент ($m)

Универсальная печать штрихкодов Windows, Linux, x86, x64. Управляемые формы. Веб-клиент. Сделана на основе компонент печати штрихкодов фирмы 1с под платформу 1с windows32, windowsx64, linux32, linux64. Типы штрихкодов для генерации - EAN8, EAN13, EAN128, Code39, Code128, Code16k, PDF417, Standart (Industrial) 2 of 5, Interleaved 2 of 5, Расширение Code39, Code93, ITF14, RSS14, CodaBar, EAN13 AddOn 2, EAN13 AddOn 5. Сделана как пример для внедрения. Наиболее оптимальный вариант для веб-клиента. Пример сделан в виде cf файла. Работоспособность проверялась на ERP 2.4.8.84, ЗУП 3.1.9.187, Розница 2.2.11.30, УНФ 1.6.17.128, БГУ 2.0.61.28, ЗКГУ 3.1.9.187, КА 2.4.7.127, УТ 11.4.7.128, БП 3.0.69.35, Документооборот КОРП ПРОФ 2.1.13.28.

4 стартмани

17.07.2019    7142    29    ivanchai    7    

Снимок экрана для 1С Промо

Универсальные обработки Разработка внешних компонент v8 1cv8.cf Россия Абонемент ($m)

Довольно часто люди сталкиваются с необходимостью сделать снимок экрана. Если вы или ваши сотрудники основную часть времени проводят в 1С и у вас есть необходимость прикреплять графические файлы, то эта компонента для вас.

1 стартмани

08.02.2016    29890    34    linkforget    11    

Менеджер буфера обмена. Нативная внешняя компонента win 32/64

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Добавляет возможности получения информации из почтовых вложений или файлов с других рабочих столов (RDP) с помощью операций копирования/вставки. Может «прослушивать»: любые изменения буфера обмена; нажатие клавиш соответствующих вставке (paste); нажатие клавиш копирования (copy); drop операции. Это новая реализация аналогичной компоненты https://infostart.ru/public/379695/, но теперь не C#, а С++ нативно для x32 / x64. (см. http://youtu.be/-PaWWFfbYo4)

1 стартмани

26.06.2019    7882    26    Bww    23    

Обработка вывода на печать QR-кода и штрихкодов в различных форматах (одномерные и двумерные)

Разработка внешних компонент Ценники v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для вывода на печать QR-кода и штрихкодов в различных форматах без установки дополнительных ActiveX компонент. Тестировалась на чистой базе платформы 1С:Предприятие 8.3 (8.3.14.1630), а так же в конфигурациях Бухгалтерия предприятия КОРП, редакция (3.0.69.35) и на Бухгалтерия предприятия (3.0.70.30)

2 стартмани

22.05.2019    12548    47    MGemini    3    

Управление ТСД Zebra с помощью внешней компоненты для мобильной платформы

Разработка внешних компонент Мобильная разработка v8::Mobile Абонемент ($m)

Представлена внешняя компонента для управления сканерами терминалов Zebra из мобильных приложений 1С.

2 стартмани

15.04.2019    12103    39    IgorKissil    41    

Native API компонента для использования установленного в системе интерпретатора Python Промо

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Компонента позволяет подключать к платформе 1С python-модули, оформленные в стиле внешней компоненты. Кроме этого, она позволяет запускать небольшие фрагменты python-кода прямо из модулей 1С. На данный момент поддерживаются платформы 8.2 — 8.3 x86 Windows.

1 стартмани

14.05.2013    41944    84    Принт    31    

Обработка нажатия аппаратных кнопок на ТСД в мобильной платформе

Разработка внешних компонент Терминал сбора данных Розничная торговля Розничная торговля v8::Mobile Абонемент ($m)

Обработка и передача события нажатия аппаратных клавиш на Android в мобильную платформу 1С.

1 стартмани

11.04.2019    13246    56    dewersia    33    

DLL для подключения к Asterisk (32/64 клиенты)

Разработка внешних компонент Телефония, SIP v8 1cv8.cf Абонемент ($m)

Подключение к Астериску и получение событий "Newchannel","BridgeEnter","Hangup" через ОбработкаВнешнегоСобытия.

1 стартмани

19.03.2019    9331    13    xxxAndricxxx    14    

DLL для обмена между 1С (и не только) через UDP порты (32/64 клиенты)

Разработка внешних компонент v8 1cv8.cf Россия Абонемент ($m)

Библиотеки для создания функционала для прослушивания портов из 1С и отправки сообщений на удаленный udp порт.

1 стартмани

28.02.2019    8436    9    xxxAndricxxx    2    

Распознаем штрих-коды QR, EAN-13, Code 128 с помошью 1С и веб камеры Промо

Разработка внешних компонент v8 1cv8.cf Россия Абонемент ($m)

Внешняя компонента, поможет распознать штрих-код, используя обычную веб камеру. Умеет работать с UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 128, QR Code, Interleaved 2 of 5, Codabar, RSS-14, Data Matrix, PDF 417, Aztec, MaxiCode.

1 стартмани

31.10.2012    80501    244    shakmaev    84    

Эмулятор ККМ по стандарту ФФД 1.1

Разработка внешних компонент Кассовые операции ККМ Кассовые операции v8 Розница УТ11 Россия Абонемент ($m)

Эмулятор драйвера ККМ по стандарту ФФД 1.1 предназначен для использования всех возможностей программы, при отсутствии физической кассы. Подойдет как программистам при разработке интерфейса РМК, например, так и пользователям для тестирования возможностей программы.

1 стартмани

30.12.2018    25643    148    Matveymc    30    

WebSocket Клиент / Сервер. Внешний компонент

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Реализация протокола WebSocket. Клиентская часть для взаимодействия с внешними сервисами. Серверная часть для организации собственного сервера, принимающего клиентские соединения в многопоточном режиме. Возможно взаимодействие RabbitMQ Slack Asterisk и другие

1 стартмани

16.11.2018    19405    85    nomadon    66    

Внешняя компонента для выполнения регулярных выражений

Разработка внешних компонент v8 Абонемент ($m)

Внешняя Native API компонента для выполнения регулярных выражений на платформе 1С:Предприятие 8. Написана на C++. Используется движок boost::regex (v 1.69, v 1.68 - для Android). Версия синтаксиса Perl Compatible Regular Expressions.

1 стартмани

12.11.2018    14547    35    KAV2    65    

Удаленное управление через Skype Промо

Разработка внешних компонент Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

Удаленное управление 1С через Skype. Со стороны клиента для работы нужен только Skype. Со стороны сервера любой компьютер с 1С.

1 стартмани

09.02.2014    46032    68    moolex    29    

Native компонента для 8.3, реализующая метод sleep()

Разработка внешних компонент v8 Россия Абонемент ($m)

Внешняя Native 64-битная компонента для 1C 8.3, которая реализует метод sleep() - паузу выполнения кода. Пауза для большой устойчивости сделана платформозависимой и требует WinAPI. Ид компоненты - AddIn.AddInNativeSleep.NativeSleep.

1 стартмани

16.10.2018    9053    3    ripreal1    9