1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-04-28 20:46:05 +02:00

Доработка тестов и документации

This commit is contained in:
Anton Titovets
2026-01-01 22:38:17 +03:00
parent ca0cc1a302
commit f2d57fbdea
8 changed files with 79 additions and 28 deletions
+2 -2
View File
@@ -222,7 +222,7 @@
СписокИнструкций = Новый СписокЗначений();
Для Каждого СуществующаяИнструкция Из НайтиФайлы(КаталогИнструкцийЛокализация, "*.md") Цикл
СписокИнструкций.Добавить(СуществующаяИнструкция.ИмяБезРасширения);
СписокИнструкций.Добавить(нРег(СуществующаяИнструкция.ИмяБезРасширения));
КонецЦикла;
ШаблонИнструкции = "---
@@ -242,7 +242,7 @@
КонецЕсли;
Для Каждого Библиотека Из ИменаБиблиотек Цикл
Если СписокИнструкций.НайтиПоЗначению(Библиотека) = Неопределено Тогда
Если СписокИнструкций.НайтиПоЗначению(нРег(Библиотека)) = Неопределено Тогда
ТекущиеТеги = СтрШаблон(ШаблонТегов, Библиотека);
ПолучитьДвоичныеДанныеИзСтроки(СтрШаблон(ШаблонИнструкции, Библиотека, ТекущиеТеги)).Записать(КаталогИнструкцийЛокализация + СтрШаблон("/%1.md", Библиотека));
+32 -7
View File
@@ -1,9 +1,34 @@
---
id: GRPC
sidebar_class_name: GRPC
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, GRPC]
---
<img src={require('../../static/img/APIs/GRPC.png').default} width='64px' />
# GRPC
# GRPC
Этот раздел посвящен библиотеке для работы с gRPC в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы
## Начало работы
Для начала работы с сервером по протоколу gRPC, необходимо создать объект соединения. Сделать это можно явно, передав настройки соединения в функцию `ОткрытьСоединение` или, в отдельных случаях, неявно, передав настройки соединения сразу в функцию выполнения запроса. В последнем случае, соединение будет открыто и закрыто внутри вызываемой функции. Сформировать настройки соединения для обоих случаев можно при помощи функции `ПолучитьПараметрыСоединения`. В нее необходимо передать URL сервера (c протоколом и портом), структуру Proto-файлов, а также структуру метаданных (при необходимости). Библиотека поддерживает загрузку нескольких Proto файлов, если основной файл для работы с сервисом содержит импорты (порядок загрузки файлов не имеет значения). Подробнее в описании функции `ПолучитьПараметрыСоединения`
```bsl
Адрес = "https://grpcb.in:9001";
Proto1 = "./grpcbin_with_import.proto"; // Строка, путь к файлу или URL
Proto2 = "./mt.proto"; // Строка, путь к файлу или URL
Схемы = Новый Соответствие;
Схемы.Вставить("main.proto" , Proto1); // Основной
Схемы.Вставить("my_types.proto", Proto2); // Для импорта в основной
Мета = Новый Структура("mykey", "myvalue");
Параметры = OPI_GRPC.ПолучитьПараметрыСоединения(Адрес, Схемы, Мета);
Tls = OPI_GRPC.ПолучитьНастройкиTls(Истина);
Результат = OPI_GRPC.ОткрытьСоединение(Параметры, Tls);
```
## TLS
Библиотека поддерживает работу в режиме TLS. Для его включения необходимо сформировать настройки TLS при помощи функции `ПолучитьНастройкиTls`, и передать их как соответствующий параметр в функцию `ОткрытьСоединение` или иную функцию, если используется неявное открытие соединения. Если параметр TLS при вызове этих функций не передан, соединение инициализируется в незащищенном режиме
+32 -7
View File
@@ -1,9 +1,34 @@
---
id: GRPC
sidebar_class_name: GRPC
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, GRPC]
---
<img src={require('../../static/img/APIs/GRPC.png').default} width='64px' />
# GRPC
# GRPC
Этот раздел посвящен библиотеке для работы с gRPC в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы
## Начало работы
Для начала работы с сервером по протоколу gRPC, необходимо создать объект соединения. Сделать это можно явно, передав настройки соединения в функцию `ОткрытьСоединение` или, в отдельных случаях, неявно, передав настройки соединения сразу в функцию выполнения запроса. В последнем случае, соединение будет открыто и закрыто внутри вызываемой функции. Сформировать настройки соединения для обоих случаев можно при помощи функции `ПолучитьПараметрыСоединения`. В нее необходимо передать URL сервера (c протоколом и портом), структуру Proto-файлов, а также структуру метаданных (при необходимости). Библиотека поддерживает загрузку нескольких Proto файлов, если основной файл для работы с сервисом содержит импорты (порядок загрузки файлов не имеет значения). Подробнее в описании функции `ПолучитьПараметрыСоединения`
```bsl
Адрес = "https://grpcb.in:9001";
Proto1 = "./grpcbin_with_import.proto"; // Строка, путь к файлу или URL
Proto2 = "./mt.proto"; // Строка, путь к файлу или URL
Схемы = Новый Соответствие;
Схемы.Вставить("main.proto" , Proto1); // Основной
Схемы.Вставить("my_types.proto", Proto2); // Для импорта в основной
Мета = Новый Структура("mykey", "myvalue");
Параметры = OPI_GRPC.ПолучитьПараметрыСоединения(Адрес, Схемы, Мета);
Tls = OPI_GRPC.ПолучитьНастройкиTls(Истина);
Результат = OPI_GRPC.ОткрытьСоединение(Параметры, Tls);
```
## TLS
Библиотека поддерживает работу в режиме TLS. Для его включения необходимо сформировать настройки TLS при помощи функции `ПолучитьНастройкиTls`, и передать их как соответствующий параметр в функцию `ОткрытьСоединение` или иную функцию, если используется неявное открытие соединения. Если параметр TLS при вызове этих функций не передан, соединение инициализируется в незащищенном режиме
+2 -2
View File
@@ -1297,9 +1297,9 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]]
name = "ryu"
version = "1.0.18"
version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984"
[[package]]
name = "schannel"
+6 -6
View File
@@ -1,10 +1,10 @@
"MAIN ---"
linux-vdso.so.1 (0x00007fffc6647000)
libm.so.6 => /lib64/libm.so.6 (0x00007de41a400000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007de41a000000)
libc.so.6 => /lib64/libc.so.6 (0x00007de419c00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007de419800000)
/lib64/ld-linux-x86-64.so.2 (0x00007de41ae00000)
linux-vdso.so.1 (0x00007fff49d8c000)
libm.so.6 => /lib64/libm.so.6 (0x000071c6cbc00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000071c6cb800000)
libc.so.6 => /lib64/libc.so.6 (0x000071c6cb400000)
libdl.so.2 => /lib64/libdl.so.2 (0x000071c6cb000000)
/lib64/ld-linux-x86-64.so.2 (0x000071c6cc600000)
GLIBC_2.2.5
GLIBC_2.12
GLIBC_2.3
+2 -2
View File
@@ -166,8 +166,8 @@ fn prost_value_to_json_value(binary_vault: &BinaryVault, prost_value: &prost_ref
ProstValue::I64(i) => Ok(Value::Number((*i).into())),
ProstValue::U32(u) => Ok(Value::Number((*u).into())),
ProstValue::U64(u) => Ok(Value::Number((*u).into())),
ProstValue::F32(f) => Ok(json!(f.to_string())),
ProstValue::F64(f) => Ok(json!(f.to_string())),
ProstValue::F32(f) => Ok(json!(f)),
ProstValue::F64(f) => Ok(json!(f)),
ProstValue::String(s) => Ok(Value::String(s.clone())),
ProstValue::Bytes(b) => {
let base64_string = general_purpose::STANDARD.encode(b);
@@ -12889,7 +12889,8 @@
ОжидаетЧто(Результат["result"]).Равно(Истина);
ОжидаетЧто(Закрытие["result"]).Равно(Истина);
СписокПолей = СтрРазделить("f_bytes,f_bytess", ",");
СписокПолей = СтрРазделить("f_bytes,f_bytess,f_float", ",");
ОжидаетЧто(Лев(Строка(Результат["message"]["f_float"]), 4)).Равно(Лев(Строка(Данные["f_float"]), 4));
ОжидаетЧто(OPI_Инструменты.СравнитьДвеКоллекции(Результат["message"], Данные, СписокПолей)).Равно(Истина);
Возврат Результат;
+1 -1
View File
@@ -26786,7 +26786,7 @@
Данные.Вставить("f_string" , "Test message");
Данные.Вставить("f_int32" , 123);
Данные.Вставить("f_int64" , 123);
Данные.Вставить("f_float" , "123.22000122070312");
Данные.Вставить("f_float" , 123.22000122070312);
Данные.Вставить("f_bool" , Истина);
Данные.Вставить("f_enum" , "ENUM_1");
Данные.Вставить("f_bytes" , Файл);