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

07.07.20

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Универсальная обертка для использования NATIVE компонент на платформе 1С 7.7, 8.0 и 8.1:
.dll 129,50Kb ver:1.0.1
10
10 Скачать (1 SM) Купить за 1 850 руб.

Что же это такое? Это простая COM компонента, которая транслирует свои команды в указанную Native компоненту, что позволяет обойти ограничение использования на старых платформах 1С.

Как использовать?

1. Регистрируете компоненту командой regsvr32.

2. Указываете путь к файлу с native компонентой и ее наименование через команду SetDriverName(ПутьККомпоненте, НаименованиеКомпоненты) или УстановитьИмяДрайвера

Пример кода 1С для платформы 8.1:

	ПодключитьВнешнююКомпоненту("AddIn.UniversalNativeWrapper");
	Драйвер = Новый ("AddIn.UniversalNativeWrapper"); 
	Если Драйвер.УстановитьИмяДрайвера("E:\Yandex.Disk\YandexDisk\SHTRIHMKKT_NATIVE_32_SMDrvFR1C3.dll", "SMDrvFR1C3") Тогда
		Ревизия = Драйвер.ПолучитьРевизиюИнтерфейса();
	КонецЕсли;

Также данное решение выложена на GitHUB. Все желающие могут поучаствовать в разработке.

Идейный вдохновительОболочка для работы с последними драйверами ККМ АТОЛ

 

На данный момент есть следующие проблемы:

1. Имеется небольшая утечка памяти, нужно доработать механизм удаления объектов из памяти.

2. Не получается обработать ошибку "Нарушение прав доступа при обращении к памяти", которая может возникнуть на стороне native компоненты. Ошибка приводит к вылету 1С. Операторами try и _try не получается отловить.

COM NATIVE 7.7 8.0 8.1

См. также

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

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

3000 руб.

12.05.2020    29465    140    100    

93

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

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

1500 руб.

17.09.2018    37454    116    128    

117

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

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

3600 руб.

02.09.2010    78262    73    280    

191

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

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

2400 руб.

04.05.2018    47921    125    66    

68

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

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

14.01.2025    3009    bayselonarrend    14    

50

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

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

04.12.2024    5895    kovalevdmv    26    

79

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

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

2400 руб.

25.06.2024    1434    3    4    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. M_W_W 37 18.01.21 02:24 Сейчас в теме
Андрей, приветствую!
А под 7.7 я правильно делаю:

ЗагрузитьВнешнююКомпоненту("UniversalNativeWrapper.dll");
Драйвер = СоздатьОбъект("AddIn.UniversalNativeWrapper");
Если Драйвер.УстановитьИмяДрайвера(КаталогИБ() + "Spark130DRVN1C_2_0_0_2.dll", "Spark130") = 1 Тогда
Ревизия = Драйвер.ПолучитьРевизиюИнтерфейса();
КонецЕсли;
???
Падает почему-то после "УстановитьИмяДрайвера"...

Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: 1cv7s.exe
Версия приложения: 7.70.0.27
Отметка времени приложения: 4573fcd8
Имя модуля с ошибкой: StackHash_0a9e
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 00000000
Код исключения: c0000005
Смещение исключения: c0e8fc4d
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
3. karpik666 3961 18.01.21 14:24 Сейчас в теме
(1) на этой компоненте не проверял, пробовал запускать Драйвера АТОЛ, и Штрих, пока времени на это нет разбираться, ссылка на исходники есть в публикации, можно попробовать адаптировать.
2. M_W_W 37 18.01.21 02:57 Сейчас в теме
+(1) Драйвер вот этот грузить пытаюсь:
Прикрепленные файлы:
111.zip
4. M_W_W 37 18.01.21 18:31 Сейчас в теме
Хм... Я думал, "обертка" универсальная,под любые компоненты, не обязательно ККТ, просто выполненные по технологии native...
Ну, да ладно, не горит, у меня все равно пока Спарк-130 в хозяйстве нет, пробовать не на чем... Просто хотел проверить, загрузится компонента "выковырянная" из типовой розницы, или нет...
А вообще, для этого Спарка, возможно и не нужен драйвер, там все команды в виде XML файлов передаются, или в порт на прямую, или через сервис специальный. Появится "железяка", буду разбираться.
А по поводу АТОЛ и Штрих - ? А смысл в "обертке"-? У меня и АТОЛовские драйвера 10.Х в 7.7 работают, и Штриховские, какие-то из 15 серии... Абсолтно адекватно, и без "костылей"...
5. vap_pig 101 25.03.21 00:00 Сейчас в теме
Компонента очень понравилась, пробую к 7.7 подключить драйверы эквайринга из УТ 11.4 - бОльшая часть вылетает при вызове базовых методов или дополнительных действий. Планируете ли вы дальше заниматься данным проектом? Могу помочь в тестировании.
6. frkbvfnjh 811 26.05.23 11:45 Сейчас в теме
С драйвером весов Mertech в 8.1 не работает, говорит метод не найден, при вызове любого метода внешней компоненты Mertech.
Оставьте свое сообщение