Sebekerga / native_api_1c

Crate for simple implementation of Component for Native API 1C:Enterprise written in rust
https://crates.io/crates/native_api_1c
62 stars 13 forks source link

Текст XML содержит недопустимый символ #13

Closed Gopsat closed 10 months ago

Gopsat commented 10 months ago

В windows если метод компоненты возвращает строку и эту строку попробовать передать с сервера или на сервер , платформа выдает ошибку: Текст XML содержит недопустимый символ в позиции 17.

Sebekerga commented 10 months ago

Можно, пожалуйста, побольше информации? Как выглядит строка? Скорее всего дубликат #5, эти изменения еще не попали на crates.io, но они есть в репозитории

Sebekerga commented 10 months ago

v0.10.6 теперь на crates.io, можете пробовать его - если проблема остается, пожалуйста, делитесь информацией

Gopsat commented 10 months ago

Спасибо. Исправление же в native_api_1c_core? Хотел обновить native_api_1c_core cargo add native_api_1c_core выдаёт ошибку:

__cargo add native_api_1c Updating crates.io index Adding native_api_1c v0.10.6 to dependencies. Features:

all possible versions conflict with previously selected packages.

previously selected package native_api_1c_core v0.9.4 ... which satisfies dependency native_api_1c_core = "^0.9.4" of package searchImageLib v0.1.0 (E:\rust\)

failed to select a version for native_api_1c_core which could resolve this conflict

Sebekerga commented 10 months ago

Поделитесь, пожалуйста, разделом [dependencies] в вашем Cargo.toml. Если вы пользуетесь #[derive(AddIn)] из native_api_1c, то вам не нужно отдельно добавлять native_api_1c_core в зависимости

Gopsat commented 10 months ago

[dependencies] utf16_lit = "2.0.2" native_api_1c = "0.10.6" native_api_1c_core = "0.9.4"

При сборке ругается : error: failed to select a version for native_api_1c_core. ... required by package native_api_1c v0.10.6 ... which satisfies dependency native_api_1c = "^0.10.6" of package searchImageLib v0.1.0 (E:\rust\searchImageLib) versions that meet the requirements =0.9.3 are: 0.9.3

Если поставить native_api_1c_core = "0.9.3" то нормально собирается, но ошибка со строкой в 1с выходит

Gopsat commented 10 months ago

Если не добавлять в зависимости native_api_1c_core то обращается к версии native_api_1c_core 0.9.3 и ошибка в 1с тоже выходит.

Gopsat commented 10 months ago

Может здесь зависимость поменять нужно? на 0.9.4 image

Sebekerga commented 10 months ago

Перенес изменения по версиям из dev ветки, можете пробовать пользоваться через native_api_1c = { git = "https://github.com/Sebekerga/native_api_1c" }

Gopsat commented 10 months ago

image image image

Всё равно возвращает почему то не пустую строку. Мой метод возвращает вот это: Ok("".to_string())

Gopsat commented 10 months ago

image

Sebekerga commented 10 months ago

Окей, я увидел в чем проблема, сори что запутал, этот комит не приехал в main :(

Sebekerga commented 10 months ago

Исправил, доступно здесь, из dev ветки:

[dependencies]
native_api_1c = { git = "https://github.com/Sebekerga/native_api_1c", tag = "fixed_windows_nil" }

Единственное, вам нужно будет добавить в описании параметров "ty = Type", например%:

#[add_in_func(name = "TransformString", name_ru = "ПреобразоватьСтроку")]
#[arg(ty = Str, as_in)]
#[arg(ty = Str, as_out)]
#[returns(ty = Bool)]
transform_str: fn(&Self, String, &mut String) -> bool

Такой вид скоро будет в основной ветке.

Gopsat commented 10 months ago

Спасибо. Сейчас код выполняется.