Шаблон внешней компоненты для 1с 7.7, 8.1 на С++ Builder 6.

07.08.15

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

В свое время потребовалось организовать чтение бинарного файла из 1с. Подходящего COM объекта я тогда не нашел и решил написать свою внешнюю компоненту. Почитав ИТС и интернет, я не смог найти работающего исходника на С++ Builder, пришлось воспользоваться методом проб и ошибок и сделать свой шаблон компоненты. Реализован интерфейс ILanguageExtender, можно из встроенного языка устанавливать свойства компоненты и вызывать ее методы. Также я попробовал реализовать "вшитые" в dll функции, как это делают в коробочных решениях. При необходимости можно добавить код проверки наличия аппаратного ключа или привязать проверку к определенному серийному номеру винчестера ПК и, таким образом, выполнять или не выполнять дальнейший код "вшитой" в компоненту функции.

Файлы

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

Наименование Скачано Купить файл
Шаблон со страницей свойств внешней компоненты
.zip 357,37Kb
15 2 500 руб. Купить
Шаблон БЕЗ страницы свойств внешней компоненты
.zip 187,54Kb
4 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Проверить работу вшитой функции можно на любой конфигурации, в которой есть справочник "Номенклатура" (выполняется запрос с текстом ВЫБРАТЬ Номенклатура.Ссылка, Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ(&ВыбГруппа)).

В публикации 2 варианта шаблона внешней компоненты - со страницей свойств и без нее. В последнем случае размер dll файла получается примерно на 300 кбт меньше.

При компиляции могут выдаваться ошибки

[C++ Error] atlcom.h(1877): E2352 Cannot create instance of abstract class 'CComObject<TAddInImpl>'
[C++ Error] atlcom.h(1877): E2353 Class 'CComObject<TAddInImpl>' is abstract because of '__stdcall ILanguageExtender::CallAsFunc(long,tagVARIANT *,tagSAFEARRAY * *) = 0'
[C++ Error] atlvcl.h(1271): E2451 Undefined symbol 'e'

Так как в библиотеке типов невозможно выбрать OleVariant*, а можно выбрать только VARIANT*, то необходимо каждый раз при появлении такой ошибки в файл проекта Template_Builder_TLB.h вносить вручную изменения в параметры функции CallAsFunc, заменяя VARIANT* на OleVariant* в трех местах этого файла.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

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

18300 руб.

30.05.2017    56920    10    71    

47

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

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

5084 руб.

17.09.2018    41094    118    128    

120

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

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

14.01.2025    6652    bayselonarrend    17    

54

Разработка внешних компонент Программист 1С:Предприятие 8 Россия Бесплатно (free)

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

04.12.2024    11531    kovalevdmv    29    

83

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

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

26.01.2024    11876    starik-2005    40    

49

Инструментарий разработчика Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

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

22.11.2023    8347    142    ivan1703    26    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. O-Planet 6426 11.09.14 10:44 Сейчас в теме
Что-то не так делаю (( Говорит: "Загрузка началась", но ничего не происходит. Но шаблон очень нужный!
2. Cooler 22 11.09.14 10:01 Сейчас в теме
(1)
Что-то не так делаю
Не обязательно, ваши собраться по несчастью: http://forum.infostart.ru/forum17/topic116571/
Для отправки сообщения требуется регистрация/авторизация