1
0
mirror of https://github.com/Sebekerga/native_api_1c.git synced 2025-06-14 23:45:13 +02:00
This commit is contained in:
Kozlov Maxim
2023-08-14 11:44:10 +06:00
parent af6e5c13c2
commit d88266935c
6 changed files with 40 additions and 7 deletions

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
./sample_addin_rs
target/
Cargo.lock
Cargo.lock
expand.rs

View File

@ -5,7 +5,38 @@
- `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` - `i32`
- `Float` - `f64`
- `Bool` - `bool`
- `Str` - `String`
- `Date` - `chrono::DateTime<chrono::FixedOffset>`
- `Blob` - `Vec<u8>`
### Возвращаемые значения, `#[returns(...)]`
- `Int` - `i32`
- `Float` - `f64`
- `Bool` - `bool`
- `Str` - `String`
- `Date` - `chrono::DateTime<chrono::FixedOffset>`
- `Blob` - `Vec<u8>`
- `None` - `()`
- `Result<T, ()>` - `T`: Одно из выше перечисленных. Необходимо указать `result` в атрибуте `#[returns(...)]`
## Пример реализации простой компоненты:
```toml
# Cargo.toml

View File

@ -1,6 +1,6 @@
[package]
name = "native_api_1c"
version = "0.10.1"
version = "0.10.2"
edition = "2021"
repository = "https://github.com/Sebekerga/native_api_1c"
license = "MIT"
@ -8,8 +8,8 @@ description = "Main library for Native API 1C"
readme = "../README.md"
[dependencies]
native_api_1c_core = { version = "=0.9.0", path = "../native_api_1c_core" }
native_api_1c_macro = { version = "=0.10.1", path = "../native_api_1c_macro" }
native_api_1c_core = { version = "=0.9.1", path = "../native_api_1c_core" }
native_api_1c_macro = { version = "=0.10.2", path = "../native_api_1c_macro" }
[features]
default = ["macro"]

View File

@ -9,6 +9,7 @@ crate-type = ["cdylib"]
[dependencies]
utf16_lit = "2.0"
native_api_1c = "0.10.1"
chrono = "0.4.26"
[workspace]