Sebekerga/native_api_1c

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

Gopsat opened this issue · 13 comments

Gopsat commented

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

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

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

Gopsat commented

Спасибо. Исправление же в 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:
+ macro
Updating crates.io index
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\)
versions that meet the requirements =0.9.3 are: 0.9.3

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 thi_s conflict_

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

Gopsat commented

[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

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

Gopsat commented

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

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

Gopsat commented

image
image
image

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

Gopsat commented

image

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

Исправил, доступно здесь, из 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

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