Пошаговое создание внешней компоненты для 1С:Предприятия за 10 минут (на MS Visual Studio 2010)
Разработка - Разработка внешних компонент
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
1. Создаем простейшую компоненту, которая возвращает случайное число.
1) Создаем новый проект в студии:

2) Выбираем тип проекта ATL Project:

3) Начальное окно мастера:

4) Жмем Next >

Выбираем тип приложения: Dynamic-link library (DLL) и жмем кнопку Finish. Студия создаст заготовку нашего проекта со всеми необходимыми нам файлами.

5) В окне ClassView
Добавляем наш объект который будет предоставлять реализуемую функциональность компоненты...

Добавляем ATL Simple Object

Указываем в появившемся мастере необходимые параметры:

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

...но это еще не все. Так как мы добавили только лишь интерфейс нашей компоненты, на данном шаге, теперь необходимо указать экспортируемый метод как показано на следущем рисунке.

В мастере указываем необходимые параметры:


т.к. у нас есть как входной параметр, так и выходной указываем их с помощью мастера поочередно.
Входной параметр может быть как указателем на тип, так и обычным типом, выходной же только указатель.
Жмем кнопку Next > и переходим на следующую страницу:

На которой могут быть указаны дополнительные параметры нашего метода. Жмем кнопку Finish.
В результате получаем заготовку метода и прописываем туда свой код


Все компонента готова!
После компиляции в Debug конфигурации получаем

в Release:

Если хочется отлаживать вашу компоненту, то необходимо использовать Debug версию компоненты.
Для отладки идем в меню Tools -> Attach to process...

в появившемся окне выбираем приложение 1С Предприятие в которой наша DLL будет использоваться, после подключения отладчика можно работать с компонентой в отладочном режиме...
Для того чтобы компонента стала доступной другим приложениям необходимо с правами администратора запустить regsvr32 randomdll.dll
Компонента 32-битная, соответственно на 64-х битной системе не взлетит, необходима перекомпиляция проекта.
Пример использования из 1С Предприятия показан далее:

Надеюсь кому-то данная публикация поможет войти в мир разработки внешних компонент.
Вступайте в нашу телеграмм-группу Инфостарт