Описание

Библиотека для простой реализации внешней компоненты для 1С на чистом Rust, основано на примере, созданным пользователем medigor

Библиотека делится на два подмодуля: - native_api_1c_core описывает все необходимое для реализации ВК - native_api_1c_macro предоставляет инструмент для значительного упрощения описания компоненты, беря на себя реализацию свойства native_api_1c_core::interface::AddInWrapper

Пример реализации простой компоненты:

```rust // lib.rs use std::sync::Arc;

use nativeapi1ccore::ffi::connection::Connection; use nativeapi1cmacro::AddIn;

[derive(AddIn)]

pub struct MyAddIn { #[addincon] connection: Arc>, // Arc для возможности многопоточности

#[add_in_prop(name = "MyProp", name_ru = "МоеСвойство", readable, writable)]
pub some_prop: i32,
#[add_in_prop(name = "ProtectedProp", name_ru = "ЗащищенноеСвойство", readable)]
pub protected_prop: i32,
#[add_in_func(name = "MyFunction", name_ru = "МояФункция")]
pub my_function: fn(&Self, i32) -> i32,

private_field: i32,

}

impl MyAddIn { pub fn new() -> Self { Self { connection: Arc::new(None), someprop: 0, protectedprop: 50, myfunction: Self::myfunction, private_field: 100, } }

fn my_function(&self, arg: i32) -> i32 {
    self.protected_prop + self.some_prop + arg + self.private_field
}

} ```