В свое время потребовалось организовать чтение бинарного файла из 1с. Подходящего COM объекта я тогда не нашел и решил написать свою внешнюю компоненту. Почитав ИТС и интернет, я не смог найти работающего исходника на С++ Builder, пришлось воспользоваться методом проб и ошибок и сделать свой шаблон компоненты. Реализован интерфейс ILanguageExtender, можно из встроенного языка устанавливать свойства компоненты и вызывать ее методы. Также я попробовал реализовать "вшитые" в dll функции, как это делают в коробочных решениях. При необходимости можно добавить код проверки наличия аппаратного ключа или привязать проверку к определенному серийному номеру винчестера ПК и, таким образом, выполнять или не выполнять дальнейший код "вшитой" в компоненту функции.
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
Проверить работу вшитой функции можно на любой конфигурации, в которой есть справочник "Номенклатура" (выполняется запрос с текстом ВЫБРАТЬ Номенклатура.Ссылка, Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ(&ВыбГруппа)).
В публикации 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* в трех местах этого файла.
Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) .
Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит.
Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).
Десктопная IDE для разработчиков 1С: проводник CF/CFE/EPF/ERF, редактор с вкладками и проверкой синтаксиса, ИИ-панель (Ollama на ПК или облако по ключу из кабинета).
Нативная внешняя компонента для 1С 8 для чтения файлов Excel без установленного Excel и делает это быстро, файл 68МБ загружается в таблицу значений ~1 секунду.
Компонента поддерживает чтение двух форматов: Excel 2007+ и Excel 97-2003
Формат файла определяется автоматически по сигнатуре (первые 8 байт файла), а не по расширению.
Позволяет открывать XLS и XLSX файлы и получать содержимое листов в виде ТаблицыЗначений или JSON-массива.
В современных корпоративных решениях на платформе 1С:Предприятие 8.3 всё чаще возникает потребность в визуальном моделировании и автоматизации бизнес-процессов с использованием нотации BPMN 2.0. Стандартные средства платформы не предоставляют полноценного редактора BPMN, однако интеграция открытой библиотеки bpmn-js позволяет реализовать интерактивное моделирование бизнес-процессов непосредственно в 1С.
В статье рассмотрены архитектура решения, пошаговая инструкция по сборке библиотеки из исходников для WebKit, а также примеры программного взаимодействия между 1С и JavaScript.
В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.