ActiveX контейнер для управляемого интерфейса системы 1С:Предприятие

Публикация № 292918 20.07.14

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

Контейнер ActiveX COM control элемент управления внешняя компонента

Внешняя компонента "ControlContainer" для платформы "1С:Предприятие" v.8.2, 8.3 (8.3.10 и более ранние версии), реализующая размещение ActiveX объектов на управляемых формах системы 1С:Предприятие.

   Как известно, компания 1С лишила разработчиков возможности размещения ActiveX объектов на управляемой форме. Обходные пути, конечно же есть, они неоднократно были описаны в публикациях, например, в этой - //infostart.ru/public/61064/. Но все они сводятся к вставке элементов управления в тэг <OBJECT>, используемый в HTML документе, что лишь частично удовлетворяет потребность в их использовании. Впрочем, последние версии платформы, насколько я знаю, используют движок web клиента, отличный от MS IE,  который не поддерживает ActiveX объекты.
   Представленное в данной публикации решение, контейнер ActiveX объектов, является на данный момент единственной альтернативой размещения ActiveX объектов на управляемых формах. Поле HTML документа, как и другие поля элементов управления, имеющие оконный интерфейс (см. примечания), являются по сути всего лишь родительскими окнами для контейнера.
   Работа с компонентой очень проста, поскольку компонента имеет всего лишь два метода (описание приемов работы с компонентой продемонстрировано в приложенных обработках). Всё остальное делает платформа 1С:Предприятие.

Примечание 1: в версиях платформы 1С:Предприятие выше 8.3.11 изменились классы окон, поэтому на этих платформах следует использовать в качестве окна для контейнера элемент с типом ФорматированныйДокумент, а в функцию УстановитьActiveX в качестве второго параметра передавать значение 1 или использовать альтернативную функцию ВставитьActiveX. Подробности см. в справочной системе внешней компоненты.

Примечание 2: в версиях платформы 1С:Предприятие выше 8.3.12 оконный интерфейс потеряли большинство элементов управления, поэтому на этих платформах следует использовать в качестве окна для контейнера элементы с типом ФорматированныйДокумент, HTMLДокумент и использовать альтернативную функцию ВставитьActiveX. Подробности см. в справочной системе внешней компоненты.
Работоспособность проверена на версии платформы
8.3.15.1489.

P.S. Поскольку компонента выполнена по технологии COM, она должна быть зарегистрирована утилитой regsvr32.exe с правами администратора. 
Реализация внешней компоненты - 32-битная, соответственно и клиент 1С:Предприятия, к которому будет подключаться компонента, также должен быть также 32-битный.

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

Добавлен пример обработки подключения компоненты в среде 1С:Предприятие версий 8.3.6 и новее (рекомендуемая версия 8.3.18).

Не для коммерческого использования (см. лицензионное соглашение).

  

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

Наименование Файл Версия Размер
ActiveX контейнер для управляемого интерфейса системы 1С:Предприятие (архив)

.zip 58,25Kb
110
.zip 2.3 58,25Kb 110 Скачать
ActiveX контейнер для управляемого интерфейса системы 1С:Предприятие (установочный файл)

.zip 1,18Mb
12
.zip 2.3 1,18Mb 12 Скачать
Пример обработки для платформы 1С:Предприятие 8.3.3 и новее.

.epf 68,78Kb
2
.epf 68,78Kb 2 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Ksu 23.09.14 16:17 Сейчас в теме
Есть вопрос по использованию данной компоненты.
Каким образом ее публиковать в системе? через regsvr32 выдается ошибка и соответственно дальше дело не идет
Сделала стандартным способом архив компоненты с манифестом.
Установка проходит, а компонента не подключается.
код инициализации пишу такой:
	Try      
		AttachAddIn("CommonTemplate.MGS_CtrlCont","CtrlCont");
		ObjectVK = New ("AddIn.CtrlCont.ControlContainer");
	Except
		Try
			InstallAddIn("CommonTemplate.MGS_CtrlCont");
			AttachAddIn("CommonTemplate.MGS_CtrlCont","CtrlCont");
			ObjectVK = New ("AddIn.CtrlCont.ControlContainer");
		Except
			Message("Внешняя компонента ControlContainer не установлена!");
		EndTry;
	EndTry;

Показать
2. premierex 203 23.09.14 16:51 Сейчас в теме
А какая именно ошибка выдаётся при регистрации через regsvr32?
В какой ОС пытаетесь регистрировать?
Какая разрядность у операционной системы?
Не зная всего этого, я не смогу Вам подсказать.
3. Ksu 23.09.14 17:05 Сейчас в теме
(2)
С регистрацией в системе разобралась. Надо было запустить регистрацию от администратора.
Собственно система win7
Хочется автоматизировать установку у пользователей
4. premierex 203 24.09.14 10:58 Сейчас в теме
Windows 7 упрямая операционка в плане безопасности.
Попробуйте в каталог с компонентой поместить .bat или .cmd файл, содержащий вызов: regsvr32.exe CtrlCont.dll
и уже его запускать от имени администратора. По крайней мере запустить файл проще, чем писать в командной строке.
5. kolayuk 18.12.14 11:29 Сейчас в теме
Здравствуйте, не могли бы вы предоставить исходники данной компоненты? Есть задача интегрировать свое окно в существующую форму 1С, через FindWindowEx это сделать проблематично, тк там куча окон с одинаковыми классами у всех ЭУ, нужно хотя бы получить HWND конкретной формы, очень интересно как вы это решили. Собственно интересуют даже не столько исходники конкретной компоненты, сколько технология создания своих элементов управления. Спасибо! Мои контакты: kolayuk at gmail.com
6. premierex 203 18.12.14 14:17 Сейчас в теме
(5) Здравствуйте. Если бы Вы внимательно прочитали публикацию, Вы, наверняка, уже давно реализовали бы свою задачу. В описании есть несколько моментов, которые явно указывают на механизм поиска окна на управляемой форме.
ТипПоляФормы (обязательный)
Тип: Число.
Тип элемента формы, в который будет вставлен элемент управления.
Возможные значения:
0 - поле диаграммы (Диаграмма, ДиаграммаГанта, Дендрограмма)
1 - поле форматированого документа, поле HTML документа.


Поиск, соответственно, и производится по дочерним окнам формы с указанными классами.
Чтобы компонента могла правильно разместить элемент управления в поле формы,
следует размещать на форме только одно поле с указанным типом, иначе элемент
управления будет размещен в произвольном поле с подходящим типом,
не занятом другим элементом управления.


А по поводу технологии создания своих элементов управления, если Вы, конечно, имеете ввиду внешнюю компоненту, которой, собственно и является ActiveX контейнер, есть масса информации на дисках ИТС. С описанием и примерами.
7. qwsachka 21.05.15 03:09 Сейчас в теме
Здравствуйте Premier !

Использование вашего контейнера позволит использовать любые ActiveX , которые зарекомендовали себя в обычных приложениях ?

Меня интересует Перехватчик клавишь , которым я пользовался на 8.1 . Подключить его в ваш контейнер не удалось .

Имеется ли у вас пример работы с перехватчиком клавишь , подобно данной публикации ? Мне нужно получать событие нажатия клавиши Enter , когда я пишу что-нибудь в Форматированном документе .
8. premierex 203 27.05.15 16:15 Сейчас в теме
(7) qwsachka, отвечу по порядку:
Использование вашего контейнера позволит использовать любые ActiveX , которые зарекомендовали себя в обычных приложениях ?
Я тестировал контейнер на ActiveX объектах как сторонних производителей, так и разработанных мной. Все работали.

Меня интересует Перехватчик клавишь , которым я пользовался на 8.1 . Подключить его в ваш контейнер не удалось .
Если Перехватчик - это ActiveX объект, то должен был подключиться.

Имеется ли у вас пример работы с перехватчиком клавишь , подобно данной публикации ? Мне нужно получать событие нажатия клавиши Enter , когда я пишу что-нибудь в Форматированном документе .
В принципе, реализовать такой Перехватчик вполне возможно (я даже писал ВК с похожим функционалом для 1С 7.7). Но вот привязать его к какому-то конкретному элементу на управляемой форме будет достаточно проблематично.
9. nay2k 29.07.15 15:20 Сейчас в теме
Здравствуйте, premier.
У меня следующая проблема. Мне нужно подключить ActiveX компоненту по работе со считывателем смарт-карт (Сайт компоненты - http://www.scardsoft.com/main.php3?Theme=SCardX).
Подключаю ее вот таким образом:
 SCardX_Easy = Контейнер1.УстановитьActiveX("SCardXEasy.SCardX_Easy", 1);

Компонента подключается, располагается на форме и я ее вижу как СomОбъект.
Далее мне нужно заполнить некоторые свойства компоненты. При этом в компоненте происходят некоторые манипуляции(отключение от ридера, что конкретно происходит внутри - не знаю
После выполнения следующего кода
SCardX_Easy.SmartCardService = 1

1с прерывает отладку, дальнейший код не выполняется и 1с вываливается с ошибкой платформы при любом действии.
В неуправляемой форме подобной ошибки не возникает, правда там не СomОбъект создается, а ActiveX родным методом подключается.
10. premierex 203 31.07.15 11:20 Сейчас в теме
(9) nay2k, ActiveX и Сom - это разные названия одной и той же технологии, раньше такие объекты OLE назывались, так что создаются объекты, разработанные по одной и той же технологии. Вообще, странно, конечно, что-то, не то видимо с контейнером. Хотя я массу ActiveX объектов на ней тестировал. И своих и от Microsoft как на скриншоте. Ничего не падало. И события отрабатывались корректно. Может, в платформе 1С дело? Я отлаживал на 8.2 (разные подрелизы) и на 8.3.5.1098. Вы на какой платформе 1С SCardX_Easy подключали? Мне так кажется, что дело в платформе 1С. У меня есть элемент управления web-камерой, который преспокойно работает на всех платформах 1С, которые я использовал и вот сообщение, что на управляемой форме платформа падает (там тоже использовался контейнер)! Поставлю самый последний релиз 8.3, потестирую.
11. premierex 203 31.07.15 11:43 Сейчас в теме
Кажется понял. Ошибка вываливается в тонком клиенте. Причем на платформе 8.3.6, в 8.3.5 всё работает...
12. nay2k 03.08.15 12:09 Сейчас в теме
(11) Да именно в тонком клиенте. Версия платформы - 8.3.4.437. Т.е ошибка именно из-за платформы?
Спасибо, вас и за контейнер и за ответы! На этот раз мне проще было переписать обработку под толстый клиент, но в дальнейшем надеюсь пригодится.
13. pp77 28.08.15 09:45 Сейчас в теме
Добрый день!
Если регистрировать в реестре через regsvr32 и подключать
ПодключитьВнешнююКомпоненту("AddIn.ControlContainer")

компонента работает великолепно

Но это не удобно, т.к. придется регистрировать на каждом клиенте.

Попытался сделать так:
УстановитьВнешнююКомпоненту("ОбщийМакет.ActiveX_UF");


ОбщийМакет.ActiveX_UF это макет (двоичные данные) в который загружен архив zip содержащий:

1. файл манифеста "MANIFEST.xml" :

<?xml version="1.0" encoding="UTF-8"?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle">
<component os="Windows" path="CtrlCont.dll" type="Com" arch="i386"/>
</bundle>
2. сама dll

УстановитьВнешнююКомпоненту отрабатывает на ура, но подключить не удается, строка подключения:
ПодключитьВнешнююКомпоненту("ОбщийМакет.ActiveX_UF","ControlContainer")
возвращает ложь
можете подсказать в чем может быть причина.?
Спасибо.
14. premierex 203 28.08.15 10:55 Сейчас в теме
(13) pp77, дело в том, что регистрировать компоненту в любом случае придётся "От имени Администратора". Я так думаю, не все пользователи имеют такие права, поэтому из макета они просто не смогут зарегистрировать компоненту, не имея соответствующих прав. Предлагаю воспользоваться способом, описанном в посте 4.
15. pp77 31.08.15 12:28 Сейчас в теме
Добрый день
На платформе 8.3.6, компонента не стабильно работает (управляемый интерфейс), часто 1С вываливается (например при закрытии обработки) Вы писали об этом в п.11. Будете ли Вы оптимизировать под 8.3.6?
Спасибо
16. premierex 203 31.08.15 14:57 Сейчас в теме
pp77, Я написал в конце публикации, что исправил эту ошибку. При тестировании использовал самую последнюю версию платформы, которая была доступна на начало августа 2015 г.
Точно версию платформы не помню, но не ниже 8.3.6.2076. Причём тестировал на разных OS. Нестабильности не заметил. Вы как давно файл скачивали?
17. pp77 02.09.15 09:40 Сейчас в теме
(16) premier\
Качали 26.08.2015,
Дата dll 11.08.2015
тестировали на 8.3.2041
попробуем под "совсем последней" платформой 8.3.2237
18. premierex 203 02.09.15 11:21 Сейчас в теме
(17) pp77, мне кажется не в платформе дело. Возможно, проблема в ActiveX элементе, который Вы пытаетесь использовать совместно с контейнером. Я протестировал не меньше десятка ActiveX объектов. Последовательно вызывал их методы, изменял свойства, инициировал события. Закрывал форму, на которой расположен контейнер, снова открывал, закрывал 1С без закрытия формы - не было краха системы! Может, вышлете Вашу обработку с ActiveX объектом, естественно, для тестирования?
19. pp77 08.09.15 12:18 Сейчас в теме
(18)
Добрый день!
Спасибо, прошу прощения за задержку с ответом.
Обработку прикладываю. Для установки компоненты AcniveX достаточно поставить демо версию системы Zulu:
Zulu (в самом внизу страницы ссылка, под скачать)
После установки, в обработке в процедуре ОбработчикОжиданияОткрытияФормы() нужно поправить путь к zmp файлу (это необходимо для Active X объекта). По умолчанию , если установите ZUlu по этому пути, сразу все должно работать:
C:\Program Files (x86)\Zulu 7.0\
Как воспроизвести:
Вариант 1: После открытия обработки и отображения карты "ткнутся" на любой объект карты - 1С закрывается. Воспроизводится почти всегда
Вариант 2: После открытия обработки и отображения карты , ввести ИДОбъекта (поле сверху слева)= 29. Повыбирать на карте объекты (закрываться не будет). Закрыть обработку, повторить сначала. Раза с 3-его 1С вылетает.
Пробовал на последнем релизе 2237 и 2041. На 32битных 64битных ОС.
Прикрепленные файлы:
ВзаимодействиеСZula.epf
20. premierex 203 08.09.15 16:46 Сейчас в теме
(19) pp77, действительно, не работает ни в тонком клиенте, ни в толстом. Будет время - потестирую. А на обычных формах пробовали запускать? Сам ActiveX - то хоть рабочий?
21. pp77 09.09.15 04:13 Сейчас в теме
(20)
Добрый день!

Да на в обычном приложении все работает замечательно.
Прикладываю обработку для обычного приложения, с внедренным Active X типовым способом.
Подключение карты в процедуре ПриОткрытии также сделано по умолчанию:C:\Program Files (x86)\Zulu 7.0\
Спасибо
Прикрепленные файлы:
Пример взаимодействия с Зулу 7_ОбычноеПриложение.epf
22. premierex 203 09.09.15 11:43 Сейчас в теме
(21) pp77, вот что я заметил при тестировании:
Если в процедуре ВыборОбъекта() заменить фрагмент кода
ИДОбъекта = ЭлементУправления1.CurrentID; // именно в этом месте платформа "падает"
на
ИДОбъекта = Число(ЭлементУправления1.CurrentID);
программа перестаёт "падать". Видимо, платформа не распознаёт тип значения CurrentID, хотя в отладчике тип указывается как число.
Причём обратное преобразование
ЭлементУправления1.CurrentID = ИДОбъекта;
происходит вполне корректно. Вот такая загадка платформы 8.3...


23. pp77 10.09.15 04:57 Сейчас в теме
(22)
Добрый день!
Применили Ваши рекомендации
"Вариант 1: После открытия обработки и отображения карты "ткнутся" на любой объект карты - 1С закрывается. Воспроизводится почти всегда " - "исправился"
но если открыть обработку (с подгрузкой карты) закрыть, открыть заново, закрыть, открыть - "Падение 1С"
Т.е. стабильно с 3 раза "падает 1С".

24. premierex 203 10.09.15 14:27 Сейчас в теме
(23) pp77, действительно, "падает 1С" при повторном открытии обработки. Но только с объектами Zulu. Обработка, приложенная, как пример использования, открывается сколько угодно раз. Я раз 20 открывал-закрывал эту обработку и это не приводило к падению 1С. Очевидно проблема в объекте Zulu, потому как контейнер, содержащий другие ActiveX объекты, при многократном открытии не приводит к краху системы.
25. premierex 203 10.09.15 14:34 Сейчас в теме
(23) pp77, попробовал изменить Вашу обработку таким образом: контейнеры в ней создаются, но ActiveX объекты не устанавливаются. Обработка запускается множество раз и не "роняет" 1С. Стало быть, вывод сам собой напрашивается - дело не в контейнере, а в элементе управления.
26. pp77 11.09.15 06:45 Сейчас в теме
(25)
Добрый день!
Спасибо. Будем связываться с разработчикам Zulu.
27. pp77 01.10.15 08:10 Сейчас в теме
Добрый день!
Получили ответ от разработчиков Zulu (они воспроизвели у себя ситуацию):
В сценарии работы формы получается так, что при закрытии формы элемент MapCtrl высвобождается раньше, чем объект connection point на IPropertyNotifySink, который форма-контейнер у него запросила. Стандартный сценарий подразумевает, что сначала высвобождаются запрошенные объекты у элемента, а потом уже сам элемент. Если элемент вставляется на форму через «прослойку», то тогда в этом коде нужно убедиться, что все connection point закрыты, прежде чем элемент будет высвобожден.
28. premierex 203 01.10.15 16:52 Сейчас в теме
(27) pp77, Немного подправил код внешней компоненты. Сейчас обработка открывается - закрывается множество раз без "падения системы". Скиньте в личку e-mail. Я вышлю Вам ВК для тестирования.
29. pp77 02.10.15 08:22 Сейчас в теме
Добрый день!
Скинул в личку мой адрес
Спасибо.
30. pp77 05.10.15 11:23 Сейчас в теме
Добрый день!
Спасибо проблема решена
31. pp77 06.10.15 06:01 Сейчас в теме
Добрый день!
Обнаружил все же недочет, в рамках сеанса 1С все работает корректно, но при закрытии 1С, 1С закрывается с ошибкой.
Имя события проблемы: APPCRASH
Имя приложения: 1cv8c.exe
Версия приложения: 8.3.6.2299
Отметка времени приложения: 55f16760
Имя модуля с ошибкой: ntdll.dll
Версия модуля с ошибкой: 6.1.7601.18933
Отметка времени модуля с ошибкой: 55a69e20
Код исключения: c0000005
Смещение исключения: 00051365
Версия ОС: 6.1.7601.2.1.0.16.7
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
32. premierex 203 06.10.15 08:28 Сейчас в теме
(31) pp77, а какие объекты Zulu подключаете, те же, что и в выложенных ранее обработках?
33. premierex 203 06.10.15 08:34 Сейчас в теме
(31) pp77, не удалось воспроизвести ошибку. Несколько раз в течение сеанса открывал - закрывал обработку. Потом закрыл приложение. Всё нормально отработало.
34. pp77 06.10.15 11:47 Сейчас в теме
Да обработка "не валит" 1С. Возможно, что то не то сделали в функционале (будем смотреть) по результатам, отпишусь.
35. Maxis 13.09.16 09:33 Сейчас в теме
Компонента CtrlCont.dll успешно установлена. Но на Windows 10 при открытии обработок из архива сразу пишет:

SetActiveX : Неудачная попытка создания
элемента управления
MSDataGridLib.DataGrid.1.

SetActiveX : Неудачная попытка создания
элемента управления
MSChart20Lib.MSChart.2.

SetActiveX : Неудачная попытка создания
элемента управления
MSCAL.Calendar.7.

36. premierex 203 14.09.16 14:01 Сейчас в теме
(35) Maxis, Все эти элементы управления - стандартные из поставки Windows 7 и взяты только для примера. В Windows10 ProgID этих элементов может быть другим, а может и элементов самих не быть.
Попробуйте вставить любой другой известный Вам элемент управления.
37. premierex 203 14.09.16 14:21 Сейчас в теме
(35) Maxis, кстати, позвольте поинтересоваться: откуда у Вас эта внешняя компонента? В списке скачавших файл Вашего nick-name'а нет...
38. tomasian 23.09.16 14:23 Сейчас в теме
при попытке Контейнер1.УстановитьActiveX("Excel.Application.16", 1); умирает 1с
стоит win 10 x64, excel 2016, 1c 8.3.8.2027 также пробовал на excel 2013 по реестру смотрел PRogID корректный
39. premierex 203 26.09.16 08:56 Сейчас в теме
(38) tomasian, к сожалению, протестировать не могу - OpenOffice у меня установлен.
40. tomasian 26.09.16 14:52 Сейчас в теме
(39)
проблема решена - у Excel не было ActiveX контрола. Excel.Application - контролом не является.
Установил "Надстройка Office 2003: веб-компоненты Office" (в ней есть нашелся контрол: "OWC11.Spreadsheet.11").
Заработало.

Советую, кстати, простую утилиту, которая показывает все установленные компоненты, их ProgID и являются они контролами или нет
http://www.nirsoft.net/utils/axhelper.html
41. premierex 203 26.09.16 15:14 Сейчас в теме
(40) tomasian, я, в принципе, это и предполагал, но, поскольку у меня установлен OpenOffice, проверить не смог.
Хотя, можно было догадаться: Excel.Application - это объект OLEAutomation, не из той оперы, как говорится.
А похожая утилита входит в поставку MS Visual Studio. Но всё равно за ссылку спасибо.
42. Wladimir_spb 12.03.18 17:15 Сейчас в теме
Доброго дня, Максим

А каким образом на форму добавляются сами контролы? И можно ли таким образом добавить на форму контролы из библиотеки Windows Forms типа ListBox и TextBox
43. premierex 203 13.03.18 09:29 Сейчас в теме
(42) Здравствуйте, Владимир. Элементы управления добавляются не на форму - ограничение от 1С для управляемых форм. Они встраиваются в объект ActiveX Container. На скриншотах, прилагаемых к публикации, как раз и продемонстрировано встраивание Windows ActiveX объектов в контейнер. Таким образом, внешняя компонента позволяет встраивать любые зарегистрированные в системе элементы управления.
44. Wladimir_spb 13.03.18 15:55 Сейчас в теме
Уже понял, что лист-бокс меня не спасет. В обычных формах я его юзал, вместо выпадающего списка (нужен был контроль нажатия клавиш и мышки внутри списка). А в управляемых формах даже если я это повторю, то все равно не смогу сделать из него "выпадающий" список, так чтобы он раскрывался поверх других элементов. При расширении списка он просто будет двигать другие элементы формы, а не "раскрываться" поверх.
45. premierex 203 13.03.18 18:51 Сейчас в теме
(44) Не понял, в чём проблема использования? Все подписки на события элементов управления добавляются методом встроенного языка 1С: ДобавитьОбработчик <Событие>, <ОбработчикСобытия>;
. Естественно, надо будет знать количество и типы параметров, которые должен будет принимать вызываемый обработчик события.
47. Wladimir_spb 14.03.18 11:22 Сейчас в теме
(45)(46) Привязка к событиям скорее всего сработает. А вот "раскрывание" списка без смещения других элементов в УФ наверняка не получится. В обычных формах я список просто поверх других элементов накладывал и при "раскрытии" он закрывал все что оказывалось под ним. В УФ нельзя накладывать элементы друг на друга.

В любом случае спасибо за разъяснения
46. premierex 203 14.03.18 10:44 Сейчас в теме
(44)
А в управляемых формах даже если я это повторю, то все равно не смогу сделать из него "выпадающий" список, так чтобы он раскрывался поверх других элементов. При расширении списка он просто будет двигать другие элементы формы, а не "раскрываться" поверх.

А вот здесь подсказать ничего не могу - не тестировал.
48. trupo 30.06.19 11:31 Сейчас в теме
Добрый день Максим.
Хочу использовать Вашу разработку в нашем коммерческом продукте.
Ещё не скачивал, но судя по описанию, это то что мне надо. Раньше у нас всё было через HTML реализовано. Хотелось бы обсудить с Вами возможности, ограничения и условия.
С уважением, Александр. тел. 977-460-27-87
49. premierex 203 30.06.19 12:25 Сейчас в теме
(48) Добрый день. Пишите в личку или оставьте e-mail, Думаю, договоримся.
50. trupo 03.07.19 15:20 Сейчас в теме
Моя почта a.truhan@ibsco.ru, или skype tru-po. Вашу не смог найти.
51. user851284 04.07.19 08:16 Сейчас в теме
День добрый
cobrax@pisem.net
весьма заинтересован с Вами связаться :-) ( с версии 14.ххх при установитьActiveX начинает возвращать НЕОПРЕДЕЛЕНО :-()
52. premierex 203 04.07.19 08:43 Сейчас в теме
(51) Добрый день. Прочитайте ещё раз публикацию. В ней чётко указано
для платформы "1С:Предприятие" v.8.2, 8.3 (8.3.10 и более ранние версии)
. На версии 14.ххх работать не будет, т. к. начиная с версии, по-моему 13.ххх у элементов управления нет окон, они прорисовываются платформой как web-browser прорисовывает элементы управления. А нет окон - некуда и контейнер вставлять.
53. user851284 04.07.19 08:46 Сейчас в теме
абалденна..... и... про ActiveX в управляемых.... остается только ЗАБЫТЬ?
54. premierex 203 04.07.19 09:01 Сейчас в теме
(53) На той платформе, которую Вы указали, забыть однозначно.
55. user851284 04.07.19 09:20 Сейчас в теме
56. premierex 203 04.07.19 09:41 Сейчас в теме
(55) Такая вот политика 1С и я с этим ничего поделать не могу.
57. premierex 203 04.07.19 09:42 Сейчас в теме
(56) Пока, по-крайней мере, не могу...
58. user851284 04.07.19 10:07 Сейчас в теме
,... мучаться с полем HTML..... ыыыы :-(
59. premierex 203 04.07.19 10:43 Сейчас в теме
(58) Пока вариантов 2 - установить версию платформы 8.3.10.ххх, если конфигурация позволяет, и использовать ActiveX контейнер или ... ну да - поле HTML.
60. user851284 04.07.19 10:51 Сейчас в теме
.... второй вариант тоже не работает :-(.... то ли версия встроенного ИЕ в 1С убога.... то ли....
61. premierex 203 04.07.19 11:12 Сейчас в теме
(60) То ли не знаем как это готовить )))
63. erutan 94 19.07.19 14:15 Сейчас в теме
(60) здравствуйте!
Удалось победить HTML поле на новых платформах? Обновились на 8.3.15 (по важной причине), и все нормально, кроме отвалившейся работы с камерой ((((
64. premierex 203 19.07.19 14:47 Сейчас в теме
(63) Нет, пытаться даже не стал. Поле HTML документа даже не знает, что такое внешняя компонента, а вот про ActiveX объекты знает. Только я не уверен, что политика безопасности встроенного в 1С web browser'а, оболочкой которого и является по сути Поле HTML документа, позволит эти ActiveX в этом поле размещать. Так что вариантов пока не вижу.
65. premierex 203 20.07.19 15:25 Сейчас в теме
(63) Решение найдено! Оно описано в Примечании 2 публикации. Для верности приложу скришот и тестовую обработку для тех, кто уже скачал внешнюю компоненту. Тестировал на ActiveX объектах, встроенных в Windows 7, так что на версиях Windows, отличных от 7-ой, возможно придется искать другие ActiveX объекты.
Прикрепленные файлы:
ActiveXКонтейнер.epf
ActiveXКонтейнер.epf
66. premierex 203 20.07.19 15:29 Сейчас в теме
(65) Две обработки приложил, а скрин забыл...
Прикрепленные файлы:
62. user851284 04.07.19 11:29 Сейчас в теме
возможно что безопасность.... в ИЕ после настроек все работает и даже не спрашивает... в 1С в поле HTML - пока глухо....
67. user851284 22.07.19 06:48 Сейчас в теме
нуу.... мы пока перестали использовать "компоненту" .... от слова СОВСЕМ.... заставив подключенную COM-библиотеку открывать СВОЕ СОбСТВЕННОЕ окно
68. premierex 203 22.07.19 08:11 Сейчас в теме
(67) Есть ещё так называемые безоконные (windowless) элементы управления, и, не имея исходников, эти элементы без контейнера просто никуда не вставить.
69. user851284 22.07.19 08:56 Сейчас в теме
ммм.... "не визуальная" библиотека?... а чем не устроит просто МойCOMОбъект = Новый COMОбъект("блаблабла"); .... ну а далее методы и подписка на события....
70. premierex 203 22.07.19 12:10 Сейчас в теме
(69) А кто сказал, не "визуальная"? Читайте внимательно, я написал - безоконные. У таких элементов управления нет собственного окна, поэтому они и встраиваются в контейнер, используя его окно для визуализации. Почитайте документацию про ActiveX. Тема довольно объемная и совсем не в рамках данной публикации.
71. sorbo999 11.11.19 14:35 Сейчас в теме
Здравствуйте, Максим. Нам необходимо воспользоваться вашей компонентой в конфигурации на нашем предприятии. С уважением, Константин email: megabit4098@gmail.com
72. premierex 203 19.11.19 11:01 Сейчас в теме
(71) Доброго дня, Константин! Ответил Вам по e-mail.
73. user1534057 10.02.21 12:35 Сейчас в теме
(72) Скиньте пожалуйста компоненту ActiveX
74. premierex 203 10.02.21 12:50 Сейчас в теме
(73) Напишите мне на e-mail, указанный в профиле. Не помню на каких условиях мы договаривались.
75. пользователь 10.02.21 12:55
Сообщение было скрыто модератором.
...
76. пользователь 10.02.21 12:56
Сообщение было скрыто модератором.
...
77. пользователь 10.02.21 12:59
Сообщение было скрыто модератором.
...
78. user1534057 10.02.21 13:00 Сейчас в теме
79. пользователь 10.02.21 13:13
Сообщение было скрыто модератором.
...
80. premierex 203 10.02.21 13:23 Сейчас в теме
(78) Можете написать в Viber или Telegram в профиле мой телефон указан.
81. user1534057 10.02.21 14:21 Сейчас в теме
(80) В общем профиль пустой, сообщения не публикуются с почтой, напишите в Viber 7 912 39 19253, обсудим
82. Ligrey 06.04.22 02:22 Сейчас в теме
Доброе время суток, не могли бы более подробно описать процесс установки. Модуль не работает, хотя в системе зарегистрирован
83. premierex 203 06.04.22 08:58 Сейчас в теме
(82) Все зависит от версии платформы1С. Я, когда писал компоненту, использовал метод "ПодключитьВнешнюю Компоненту". В новых версиях 1с это не так делается. Сегодня попробую подключить, отпишусь.
Оставьте свое сообщение

См. также

Разработка внешней компоненты по технологии Native API. Мониторинг файловой системы в 1С

Разработка внешних компонент Платформа 1С v8.3 Россия Абонемент ($m)

Пример разработки внешней компоненты по технологии Native API для мониторинга выбранной папки файловой системы (изменение, переименование, удаление) файлов.

1 стартмани

12.03.2023    4985    4    binx    3    

45

Конвертор из PDF

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Native компонента для рендеринга PDF в картинки, и (или) извлечения текста из PDF файлов.

2 стартмани

25.01.2023    2876    21    bmk74    11    

23

Внешняя компонента JSON-валидатор

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Внешняя компонента под ОС семейства windows, реализующая функционал по проверке соответствия json-пакета заданной схеме ("Валидация").

1 стартмани

09.01.2023    2562    4    Prometeus2011    2    

18

Внешняя компонента для подключения 1С к однофазным электросчетчикам Меркурий

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

Внешняя компонента выполнена по технологии Native API для 1С 8.3, и предназначена для сбора и документирования данных от однофазных счетчиков Меркурий 200, 201, 203 (кроме Меркурий 203.2TD), 206 Посредством интерфейсов RS-485, CAN.

1 стартмани

11.08.2022    3492    6    user1779098    4    

11

Пишем внешнюю компоненту для 1С, NativeAPI на С++, для ОС Linux, с использованием Qt Creator

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

В статье рассмотрен процесс создания внешней компоненты для 1С в среде Qt Creator для операционной системы Linux (ubuntu, debian, mint и им подобных). На примере компоненты для сбора данных от внешней аппаратуры и сохранение их в базе, посредством 1С. В качестве внешней аппаратуры в данном примере будем использовать Arduino UNO.

1 стартмани

13.05.2022    8740    5    user1779098    34    

61

Делаем табло в обозревателе из 1Ски с нуля за полчаса. Без бутстрапов, реактов и ангуляров. Жизнетрюки от kuzkov.info

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

02.05.2022    9593    126    Steelvan    0    

67

Внешняя компонента для работы с Modbus TCP/IP

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

Внешняя компонента для работы с Modbus устройствами по протоколу TCP/IP.

1 стартмани

08.04.2022    4745    36    tav_74    10    

6

Внешняя Native API компонента совместно с функционалом фреймворка Qt

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

В данном примере реализована интеграция внешней компоненты, написанной с использованием технологии Native API и фреймворка Qt.

1 стартмани

20.02.2022    6254    10    tav_74    6    

17

Внешняя компонента для работы с роутерами Микротик (RouterOS API)

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

Обработка для УФ и тестовая конфигшурация, с включенной в нее ВК Native для работы с RouterOS (Микротик).

5 стартмани

24.12.2021    5085    5    ACCuCTEHT    11    

5

Внешняя компонента - универсальный, надежный перехватчик клавиатурных событий

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Перехват нажатия клавиш в 1С реализован с привязкой к фокусу формы. Если форма (или главное окно процесса 1С) теряет фокус, то перехват перестает работать. Чтобы решить эту проблему, была разработана соответствующая внешняя компонента.

1 стартмани

29.11.2021    8627    20    Prometeus2011    14    

36

Внешняя компонента Image Magick для базовых операций над картинками

Разработка внешних компонент Работа с интерфейсом Платформа 1С v8.3 Россия Абонемент ($m)

Внешняя компонента Image Magick для базовых операций над картинками. Реализованы функции: Rotate, Flip, Flop, Enhance, Sharpen, Oil, AutoOrient

1 стартмани

29.08.2021    6312    20    ldmonster    8    

5

Шифрование по алгоритму RSA. Внешняя библиотека (*.dll)

Разработка внешних компонент Защита ПО и шифрование Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Конфигурации 1cv8 Абонемент ($m)

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

10 стартмани

07.07.2021    8877    17    itserve    20    

5

Разъяснение внешних компонент

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Более пятилетки назад, еще в 2015 году я написал свою внешнюю компоненту на Visual Basic 6. По сути, это была простая обертка для доступа к функция DLL. Потом написал еще одну обертку уже для другой DLL, от другого оборудования. На этом моё писательство внешних компонент и ограничилось. И вот в 2020 году существенно изменилось SDK оборудования, для которого было написано SDK. А Visual Basic прекратил свое существование. На нем еще можно писать внешние компоненты, но уже только под 32 разряда. Пришлось искать новые средства для разработки, поддерживающие 64-разрядные платформы. И на этом пути пришлось потратить более 6 часов для выбора инструмента и его настройки.

1 стартмани

17.06.2021    9833    5    fixin    6    

11

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

Разработка внешних компонент Платформа 1С v8.3 Россия Абонемент ($m)

Внешняя компонента для работы с сервером postgresql. Использует библиотеки libpqxx и libpq. Была написана для построения отчета по телефонии, так как стандартное подключение внешних источников данных по ODBC работало очень медленно.

1 стартмани

22.04.2021    5827    2    Ma_X_X    5    

5

Внешняя компонента для работы с SQL запросами

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

Уважаемые коллеги, отдаю Вам "на растерзание" (для тестирования) внешнюю компоненту для общения 1C с SQL посредством запросов (драйвер ODBC 3.x).

1 стартмани

03.04.2021    6894    0    ivan1703    9    

5

Описание работы внешней компоненты 1С SBRFCOM.DLL для обслуживания банковских карт

Эквайринг/ридер магнитных карт Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Описание работы внешней компоненты 1С SBRFCOM.DLL для обслуживания банковских карт, приведены методы и функции по работе с данной компонентой.

1 стартмани

09.03.2021    10343    40    artemua    8    

7

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

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

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

1 стартмани

12.01.2021    14154    39    KAV2    46    

16

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

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

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

3 стартмани

09.10.2020    52712    377    ltfriend    220    

107

Внешняя компонента на C# для парсинга страниц через Phantom JS на сервере 1С х32,х64

Инструментарий разработчика Разработка внешних компонент WEB-интеграция Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

PhantomJS - это браузер без окна, используемый для автоматизации взаимодействия с веб-страницами. PhantomJS предоставляет JavaScript API, обеспечивающий автоматическую навигацию, снимки страницы, эмуляции поведение пользователя, что делает его распространенным инструментом, используемым для запуска модульных тестов на основе браузера в автономной системе, такой как среда непрерывной интеграции . PhantomJS основан на WebKit, что делает его похожей на Safari и Google Chrome средой просмотра. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD.

1 стартмани

06.08.2020    12151    8    DrZombi    7    

22

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

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

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

1 стартмани

28.07.2020    9348    3    zarankony    3    

7

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

07.07.2020    12674    10    karpik666    6    

15

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

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

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

1 стартмани

22.06.2020    12926    20    SanyMaga    30    

18

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

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

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

2 стартмани

16.04.2020    12079    24    kandr    13    

30

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

25.03.2020    21122    188    berezdetsky    51    

27

Пауза без загрузки процессора. Внешняя компонента Native API на C++

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Внешняя компонента Native API на C++ для Win32 и Win64 позволяет установить паузу на заданное количество секунд без загрузки процессора.

2 стартмани

21.03.2020    9719    16    Dmitrij-2    28    

6

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

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

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

4 стартмани

02.02.2020    22884    80    Johny_v    20    

35

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

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

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

3 стартмани

03.01.2020    15424    50    Denr83    0    

20

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

05.12.2019    15045    15    Andreyyy    10    

7

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

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

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

1 стартмани

02.12.2019    13274    5    starovton    13    

11

Внешняя компонента 1С Native x32/x64: отправка UDP сообщения

Разработка внешних компонент Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

05.11.2019    9929    24    von_de    6    

5

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

21.10.2019    21567    18    ripreal1    34    

67

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

06.10.2019    23020    50    vdv2701    40    

48

Внешняя компонента для работы с драйвером "Атол v.10". 1С:8.3

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

Внешняя компонента, для работы с драйвером «Атол v.10», посредством JSON-заданий.

1 стартмани

16.07.2019    25934    51    gortrex    11    

8

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

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

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

1 стартмани

26.06.2019    14609    38    Bww    26    

8

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

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

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

2 стартмани

22.05.2019    21735    64    MGemini    3    

16

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

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

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

1 стартмани

19.03.2019    16676    30    xxxAndricxxx    14    

10