Описание
Библиотека для простой реализации внешней компоненты для 1С на чистом Rust, основано на примере, созданным пользователем medigor
Библиотека делится на два подмодуля:
native_api_1c_coreописывает все необходимое для реализации ВКnative_api_1c_macroпредоставляет инструмент для значительного упрощения описания компоненты, беря на себя реализацию свойстваnative_api_1c_core::interface::AddInWrapper
Описание использования макроса
Атрибуты, #[add_in_prop(...)]
name- имя свойства в 1Сname_ru- имя свойства в 1С на русскомreadable- свойство доступно для чтения из 1Сwritable- свойство доступно для записи из 1С
Доступные типы свойств: i32, f64, bool, String
Функции и процедуры, #[add_in_func(...)]
name- имя свойства в 1Сname_ru- имя свойства в 1С на русском
Входные аргументы, #[arg(...)], для каждого
Int-i32Float-f64Bool-boolStr-StringDate-chrono::DateTime<chrono::FixedOffset>Blob-Vec<u8>
Возвращаемые значения, #[returns(...)]
Int-i32Float-f64Bool-boolStr-StringDate-chrono::DateTime<chrono::FixedOffset>Blob-Vec<u8>None-()Result<T, ()>-T: Одно из выше перечисленных. Необходимо указатьresultв атрибуте#[returns(...)]
Пример реализации простой компоненты:
# Cargo.toml
[]
= "my_addin"
= "0.1.0"
= "2021"
[]
= ["cdylib"]
[]
= "2.0"
= "0.10.1"
// src/lib.rs
use Arc;
use ;