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

02.11.23

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
ActiveX контейнер для управляемого интерфейса системы 1С:Предприятие (архив)
.zip 65,45Kb ver:2.3
112
112 Скачать (10 SM) Купить за 4 550 руб.
ActiveX контейнер для управляемого интерфейса системы 1С:Предприятие (установочный файл)
.zip 327,83Kb ver:2.3
15
15 Скачать (10 SM) Купить за 4 550 руб.
Пример внешней обработки для подключения компоненты.
.epf 7,35Kb
6
6 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

Работоспособность проверена:

на версии платформы 8.3.15.1489 и версии Windows 7 professional;

на версии платформы 8.3.23.1865 и версии Windows 10 professional.

 

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

 

Внешняя обработка, приложенная к публикации - пример использования контейнера ActiveX объектов на управляемых формах 

 

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

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

См. также

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

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

4440 руб.

22.06.2020    18126    18    33    

22

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

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

2400 руб.

04.05.2018    46786    122    66    

66

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

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

3000 руб.

12.05.2020    28220    138    100    

90

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

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

4600 руб.

27.06.2023    3394    2    0    

4

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

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

1500 руб.

17.09.2018    36476    113    127    

114

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

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    6767    starik-2005    32    

44

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

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

22.11.2023    4356    86    ivan1703    26    

41
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 204 23.09.14 16:51 Сейчас в теме
А какая именно ошибка выдаётся при регистрации через regsvr32?
В какой ОС пытаетесь регистрировать?
Какая разрядность у операционной системы?
Не зная всего этого, я не смогу Вам подсказать.
3. Ksu 23.09.14 17:05 Сейчас в теме
(2)
С регистрацией в системе разобралась. Надо было запустить регистрацию от администратора.
Собственно система win7
Хочется автоматизировать установку у пользователей
4. premierex 204 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 204 18.12.14 14:17 Сейчас в теме
(5) Здравствуйте. Если бы Вы внимательно прочитали публикацию, Вы, наверняка, уже давно реализовали бы свою задачу. В описании есть несколько моментов, которые явно указывают на механизм поиска окна на управляемой форме.
ТипПоляФормы (обязательный)
Тип: Число.
Тип элемента формы, в который будет вставлен элемент управления.
Возможные значения:
0 - поле диаграммы (Диаграмма, ДиаграммаГанта, Дендрограмма)
1 - поле форматированого документа, поле HTML документа.


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


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

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

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

Имеется ли у вас пример работы с перехватчиком клавишь , подобно данной публикации ? Мне нужно получать событие нажатия клавиши Enter , когда я пишу что-нибудь в Форматированном документе .
8. premierex 204 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 204 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 204 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 204 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 204 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 204 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 204 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 204 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 204 10.09.15 14:27 Сейчас в теме
(23) pp77, действительно, "падает 1С" при повторном открытии обработки. Но только с объектами Zulu. Обработка, приложенная, как пример использования, открывается сколько угодно раз. Я раз 20 открывал-закрывал эту обработку и это не приводило к падению 1С. Очевидно проблема в объекте Zulu, потому как контейнер, содержащий другие ActiveX объекты, при многократном открытии не приводит к краху системы.
25. premierex 204 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 204 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 204 06.10.15 08:28 Сейчас в теме
(31) pp77, а какие объекты Zulu подключаете, те же, что и в выложенных ранее обработках?
33. premierex 204 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 204 14.09.16 14:01 Сейчас в теме
(35) Maxis, Все эти элементы управления - стандартные из поставки Windows 7 и взяты только для примера. В Windows10 ProgID этих элементов может быть другим, а может и элементов самих не быть.
Попробуйте вставить любой другой известный Вам элемент управления.
37. premierex 204 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 204 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 204 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 204 13.03.18 09:29 Сейчас в теме
(42) Здравствуйте, Владимир. Элементы управления добавляются не на форму - ограничение от 1С для управляемых форм. Они встраиваются в объект ActiveX Container. На скриншотах, прилагаемых к публикации, как раз и продемонстрировано встраивание Windows ActiveX объектов в контейнер. Таким образом, внешняя компонента позволяет встраивать любые зарегистрированные в системе элементы управления.
44. Wladimir_spb 13.03.18 15:55 Сейчас в теме
Уже понял, что лист-бокс меня не спасет. В обычных формах я его юзал, вместо выпадающего списка (нужен был контроль нажатия клавиш и мышки внутри списка). А в управляемых формах даже если я это повторю, то все равно не смогу сделать из него "выпадающий" список, так чтобы он раскрывался поверх других элементов. При расширении списка он просто будет двигать другие элементы формы, а не "раскрываться" поверх.
45. premierex 204 13.03.18 18:51 Сейчас в теме
(44) Не понял, в чём проблема использования? Все подписки на события элементов управления добавляются методом встроенного языка 1С: ДобавитьОбработчик <Событие>, <ОбработчикСобытия>;
. Естественно, надо будет знать количество и типы параметров, которые должен будет принимать вызываемый обработчик события.
47. Wladimir_spb 14.03.18 11:22 Сейчас в теме
(45)(46) Привязка к событиям скорее всего сработает. А вот "раскрывание" списка без смещения других элементов в УФ наверняка не получится. В обычных формах я список просто поверх других элементов накладывал и при "раскрытии" он закрывал все что оказывалось под ним. В УФ нельзя накладывать элементы друг на друга.

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

А вот здесь подсказать ничего не могу - не тестировал.
48. trupo 30.06.19 11:31 Сейчас в теме
Добрый день Максим.
Хочу использовать Вашу разработку в нашем коммерческом продукте.
Ещё не скачивал, но судя по описанию, это то что мне надо. Раньше у нас всё было через HTML реализовано. Хотелось бы обсудить с Вами возможности, ограничения и условия.
С уважением, Александр. тел. 977-460-27-87
49. premierex 204 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 204 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 204 04.07.19 09:01 Сейчас в теме
(53) На той платформе, которую Вы указали, забыть однозначно.
55. user851284 04.07.19 09:20 Сейчас в теме
56. premierex 204 04.07.19 09:41 Сейчас в теме
(55) Такая вот политика 1С и я с этим ничего поделать не могу.
57. premierex 204 04.07.19 09:42 Сейчас в теме
(56) Пока, по-крайней мере, не могу...
58. user851284 04.07.19 10:07 Сейчас в теме
,... мучаться с полем HTML..... ыыыы :-(
59. premierex 204 04.07.19 10:43 Сейчас в теме
(58) Пока вариантов 2 - установить версию платформы 8.3.10.ххх, если конфигурация позволяет, и использовать ActiveX контейнер или ... ну да - поле HTML.
60. user851284 04.07.19 10:51 Сейчас в теме
.... второй вариант тоже не работает :-(.... то ли версия встроенного ИЕ в 1С убога.... то ли....
61. premierex 204 04.07.19 11:12 Сейчас в теме
(60) То ли не знаем как это готовить )))
63. erutan 105 19.07.19 14:15 Сейчас в теме
(60) здравствуйте!
Удалось победить HTML поле на новых платформах? Обновились на 8.3.15 (по важной причине), и все нормально, кроме отвалившейся работы с камерой ((((
64. premierex 204 19.07.19 14:47 Сейчас в теме
(63) Нет, пытаться даже не стал. Поле HTML документа даже не знает, что такое внешняя компонента, а вот про ActiveX объекты знает. Только я не уверен, что политика безопасности встроенного в 1С web browser'а, оболочкой которого и является по сути Поле HTML документа, позволит эти ActiveX в этом поле размещать. Так что вариантов пока не вижу.
65. premierex 204 20.07.19 15:25 Сейчас в теме
(63) Решение найдено! Оно описано в Примечании 2 публикации. Для верности приложу скришот и тестовую обработку для тех, кто уже скачал внешнюю компоненту. Тестировал на ActiveX объектах, встроенных в Windows 7, так что на версиях Windows, отличных от 7-ой, возможно придется искать другие ActiveX объекты.
Прикрепленные файлы:
ActiveXКонтейнер.epf
ActiveXКонтейнер.epf
66. premierex 204 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 204 22.07.19 08:11 Сейчас в теме
(67) Есть ещё так называемые безоконные (windowless) элементы управления, и, не имея исходников, эти элементы без контейнера просто никуда не вставить.
69. user851284 22.07.19 08:56 Сейчас в теме
ммм.... "не визуальная" библиотека?... а чем не устроит просто МойCOMОбъект = Новый COMОбъект("блаблабла"); .... ну а далее методы и подписка на события....
70. premierex 204 22.07.19 12:10 Сейчас в теме
(69) А кто сказал, не "визуальная"? Читайте внимательно, я написал - безоконные. У таких элементов управления нет собственного окна, поэтому они и встраиваются в контейнер, используя его окно для визуализации. Почитайте документацию про ActiveX. Тема довольно объемная и совсем не в рамках данной публикации.
71. sorbo999 11.11.19 14:35 Сейчас в теме
Здравствуйте, Максим. Нам необходимо воспользоваться вашей компонентой в конфигурации на нашем предприятии. С уважением, Константин email: megabit4098@gmail.com
72. premierex 204 19.11.19 11:01 Сейчас в теме
(71) Доброго дня, Константин! Ответил Вам по e-mail.
73. user1534057 10.02.21 12:35 Сейчас в теме
(72) Скиньте пожалуйста компоненту ActiveX
74. premierex 204 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 204 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 204 06.04.22 08:58 Сейчас в теме
(82) Все зависит от версии платформы1С. Я, когда писал компоненту, использовал метод "ПодключитьВнешнюю Компоненту". В новых версиях 1с это не так делается. Сегодня попробую подключить, отпишусь.
Оставьте свое сообщение