mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-06-20 09:19:27 +02:00
Main build (Jenkins)
This commit is contained in:
@@ -1 +1 @@
|
||||
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
|
||||
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
|
||||
+2
-2
@@ -49,9 +49,9 @@
|
||||
Product.Insert("weight" , 700);
|
||||
Product.Insert("url" , "www.item.ru");
|
||||
|
||||
Product.Add(Product);
|
||||
Products.Add(Product);
|
||||
|
||||
Package.Insert("items" , Product);
|
||||
Package.Insert("items" , Products);
|
||||
Package.Insert("number" , "bar-001");
|
||||
Package.Insert("comment", "Packaging");
|
||||
Package.Insert("height" , 10);
|
||||
|
||||
Vendored
+6
-6
@@ -93,11 +93,11 @@
|
||||
Result.Insert("JanxDeserializationWithoutBinMs", CurrentUniversalDateInMilliseconds() - Start);
|
||||
Result.Insert("JanxRestoredWithoutBin" , JanxRestored);
|
||||
|
||||
JanxBuffer = GetBinaryDataBufferFromBinaryData(JanxData);
|
||||
JSONJanxSize = JanxBuffer.Get(0) * 16777216
|
||||
+ JanxBuffer.Get(1) * 65536
|
||||
+ JanxBuffer.Get(2) * 256
|
||||
+ JanxBuffer.Get(3);
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 4 - JSONJanxSize);
|
||||
JanxReading = New DataReader(JanxData);
|
||||
JanxReading.ReadInt16(ByteOrder.BigEndian);
|
||||
JSONJanxSize = JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.Close();
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 10 - JSONJanxSize);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Janx", "Benchmark", , Original);
|
||||
+2
-2
@@ -107,9 +107,9 @@ Method at API documentation: [Order registration](https://api-docs.cdek.ru/33828
|
||||
Product.Insert("weight" , 700);
|
||||
Product.Insert("url" , "www.item.ru");
|
||||
|
||||
Product.Add(Product);
|
||||
Products.Add(Product);
|
||||
|
||||
Package.Insert("items" , Product);
|
||||
Package.Insert("items" , Products);
|
||||
Package.Insert("number" , "bar-001");
|
||||
Package.Insert("comment", "Packaging");
|
||||
Package.Insert("height" , 10);
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ import Admonition from '@theme/Admonition';
|
||||
<div className="return-value-note">
|
||||
<div className="return-value-note__title">Returns</div>
|
||||
<div className="return-value-note__value">
|
||||
BinaryData - [u16 BE: version][u32 BE: JSON length][u32 BE: binary marker count][JSON][appendix]
|
||||
BinaryData - [u16 BE: version][u32 BE: JSON length][u32 BE: markers count][JSON][appendix]
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
|
||||
description: Call function and other functions to work with Lua in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, Lua]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
import Admonition from '@theme/Admonition';
|
||||
|
||||
# Call function
|
||||
Calls a Lua function with arguments passed as an array
|
||||
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="params" label="Parameters" default>
|
||||
|
||||
`Function CallFunction(Val Lua, Val FunctionName, Val Arguments = Undefined) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Lua | --lua | Arbitrary | ✔ | Lua AddIn or Lua version to run |
|
||||
| FunctionName | --func | String | ✔ | Function name or path in module.func format |
|
||||
| Arguments | --args | Array | ✖ | Call arguments (BinaryData allowed)) |
|
||||
|
||||
|
||||
<div className="return-value-note">
|
||||
<div className="return-value-note__title">Returns</div>
|
||||
<div className="return-value-note__value">
|
||||
Arbitrary - Calling result
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="extended" label={<span>Advanced call{' '}<a href="/docs/Start/Advanced-call" target="_blank" rel="noreferrer" title="About advanced call" onClick={(e) => e.stopPropagation()}>?</a></span>}>
|
||||
|
||||
| Parameter | Description |
|
||||
|---|---|
|
||||
| addin_mode | Manual selection of external component connection mode (for 1C): Isolated, NotIsolated |
|
||||
| dontwait | Creates a background job and returns its data (for 1C and OneScript only) |
|
||||
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::tip
|
||||
Parameters with Binary data type can also accept file paths on disk and URLs
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
sidebar_position: 5
|
||||
sidebar_class_name: doc-no-cli
|
||||
description: Is VM and other functions to work with Lua in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, Lua]
|
||||
|
||||
+2
-2
@@ -49,9 +49,9 @@
|
||||
Товар.Вставить("weight" , 700);
|
||||
Товар.Вставить("url" , "www.item.ru");
|
||||
|
||||
Товар.Добавить(Товар);
|
||||
Товары.Добавить(Товар);
|
||||
|
||||
Пакет.Вставить("items" , Товар);
|
||||
Пакет.Вставить("items" , Товары);
|
||||
Пакет.Вставить("number" , "bar-001");
|
||||
Пакет.Вставить("comment", "Упаковка");
|
||||
Пакет.Вставить("height" , 10);
|
||||
|
||||
Vendored
+6
-6
@@ -93,11 +93,11 @@
|
||||
Результат.Вставить("JanxДесериализацияБезBinМс", ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало);
|
||||
Результат.Вставить("JanxВосстановленноеБезBin" , JanxВосстановленное);
|
||||
|
||||
БуферJanx = ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(JanxДанные);
|
||||
РазмерJSONJanx = БуферJanx.Получить(0) * 16777216
|
||||
+ БуферJanx.Получить(1) * 65536
|
||||
+ БуферJanx.Получить(2) * 256
|
||||
+ БуферJanx.Получить(3);
|
||||
Результат.Вставить("РазмерAppendix", JanxДанные.Размер() - 4 - РазмерJSONJanx);
|
||||
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
|
||||
ЧтениеJanx.ПрочитатьЦелое16(ПорядокБайтов.BigEndian);
|
||||
РазмерJSONJanx = ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
ЧтениеJanx.Закрыть();
|
||||
Результат.Вставить("РазмерAppendix", JanxДанные.Размер() - 10 - РазмерJSONJanx);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Обработать(Результат, "Janx", "Бенчмарк", , Исходное);
|
||||
+2
-2
@@ -107,9 +107,9 @@ import Admonition from '@theme/Admonition';
|
||||
Товар.Вставить("weight" , 700);
|
||||
Товар.Вставить("url" , "www.item.ru");
|
||||
|
||||
Товар.Добавить(Товар);
|
||||
Товары.Добавить(Товар);
|
||||
|
||||
Пакет.Вставить("items" , Товар);
|
||||
Пакет.Вставить("items" , Товары);
|
||||
Пакет.Вставить("number" , "bar-001");
|
||||
Пакет.Вставить("comment", "Упаковка");
|
||||
Пакет.Вставить("height" , 10);
|
||||
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
|
||||
description: Вызвать функцию и другие функции для работы с Lua в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, Lua]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
import Admonition from '@theme/Admonition';
|
||||
|
||||
# Вызвать функцию
|
||||
Вызывает функцию Lua с аргументами, переданными массивом
|
||||
|
||||
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="params" label="Параметры" default>
|
||||
|
||||
`Функция ВызватьФункцию(Знач Lua, Знач ИмяФункции, Знач Аргументы = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Lua | --lua | Произвольный | ✔ | Компонента Lua или версия Lua для запуска |
|
||||
| ИмяФункции | --func | Строка | ✔ | Имя функции или путь вида module.func |
|
||||
| Аргументы | --args | Массив | ✖ | Аргументы вызова (допускаются ДвоичныеДанные) |
|
||||
|
||||
|
||||
<div className="return-value-note">
|
||||
<div className="return-value-note__title">Возвращаемое значение</div>
|
||||
<div className="return-value-note__value">
|
||||
Произвольный - Результат вызова
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="extended" label={<span>Расширенный вызов{' '}<a href="/docs/Start/Advanced-call" target="_blank" rel="noreferrer" title="Справка о расширенном вызове" onClick={(e) => e.stopPropagation()}>?</a></span>}>
|
||||
|
||||
| Параметр | Описание |
|
||||
|---|---|
|
||||
| addin_mode | Ручной выбор режима подключения внешней компоненты (для 1С): Изолированно, НеИзолированно |
|
||||
| dontwait | Создает фоновое задание и возвращает его данные (только для 1С и OneScript) |
|
||||
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::tip
|
||||
Параметры с типом данных Двоичные данные могут принимать также пути к файлам на диске и URL
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
sidebar_position: 5
|
||||
sidebar_class_name: doc-no-cli
|
||||
description: Это VM и другие функции для работы с Lua в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, Lua]
|
||||
|
||||
+11264
-11264
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
|
||||
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
|
||||
@@ -45,6 +45,7 @@
|
||||
//@skip-check server-execution-safe-mode
|
||||
|
||||
// #Use "./internal"
|
||||
// #Use "../../../formats/janx"
|
||||
|
||||
#If Not WebClient Then // !OPI
|
||||
|
||||
@@ -142,7 +143,7 @@ Function SetTls(Val AddIn, Val Tls) Export
|
||||
OPI_TypeConversion.GetLine(CertFilepath);
|
||||
|
||||
Result = AddIn.SetTLS(UseTls, DisableValidation, CertFilepath);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -189,6 +190,22 @@ EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Janx
|
||||
|
||||
Function SerializeJanx(Val Data) Export
|
||||
|
||||
Return OPI_Janx.SerializeData(Data);
|
||||
|
||||
EndFunction
|
||||
|
||||
Function DesrializeJanx(Val Data) Export
|
||||
|
||||
Return OPI_Janx.DeserializeData(Data);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Logging
|
||||
|
||||
Function GetLoggingSettings(Val WriteToMemory = True
|
||||
@@ -231,7 +248,7 @@ Function GetLog(Val ServerObject, Val AsString = False, Val EventCount = 100) Ex
|
||||
OPI_TypeConversion.GetBoolean(AsString);
|
||||
|
||||
Result = ServerObject.GetLogs(EventCount);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = DesrializeJanx(Result);
|
||||
|
||||
If AsString And Result["result"] Then
|
||||
Result = StrConcat(Result["logs"], Chars.LF);
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
Function GetHashSum() Export
|
||||
|
||||
LastBuildHash = "46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87";
|
||||
LastBuildHash = "4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8";
|
||||
|
||||
Return LastBuildHash;
|
||||
|
||||
|
||||
@@ -924,7 +924,7 @@ Function ExecuteRequestViaGRPC(Val Connection, Val Request, Val Session)
|
||||
If OPI_GRPC.IsConnector(Connection) Then
|
||||
CloseConnection = False;
|
||||
Connector = Connection;
|
||||
ConnectionSettings = OPI_Tools.JsonToStructure(Connector.GetSettings());
|
||||
ConnectionSettings = OPI_AddIns.DesrializeJanx(Connector.GetSettings());
|
||||
Else
|
||||
CloseConnection = True;
|
||||
Connector = CreateGRPCConnection(Connection);
|
||||
@@ -958,7 +958,7 @@ Function FormGRPCRequest(Val Connection, Val Request, Val Session)
|
||||
EndIf;
|
||||
|
||||
If OPI_GRPC.IsConnector(Connection) Then
|
||||
ConnectionSettings = OPI_Tools.JsonToStructure(Connection.GetSettings());
|
||||
ConnectionSettings = OPI_AddIns.DesrializeJanx(Connection.GetSettings());
|
||||
Else
|
||||
ConnectionSettings = Connection;
|
||||
EndIf;
|
||||
|
||||
@@ -108,7 +108,7 @@ Function CreateConnection(Val FTPSettings, Val Proxy = Undefined, Val Tls = Unde
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult[Result_] Then
|
||||
Return LogResult;
|
||||
@@ -117,7 +117,7 @@ Function CreateConnection(Val FTPSettings, Val Proxy = Undefined, Val Tls = Unde
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result[Result_], Connector, Result);
|
||||
|
||||
@@ -169,7 +169,7 @@ Function CloseConnection(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return Result;
|
||||
@@ -192,7 +192,7 @@ Function GetWelcomeMessage(Val Connection) Export
|
||||
Return Connection;
|
||||
Else
|
||||
Result = Connection.GetWelcomeMsg();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
EndIf;
|
||||
|
||||
If CloseConnection Then
|
||||
@@ -222,7 +222,7 @@ Function GetProtocolFeatureList(Val Connection) Export
|
||||
Return Connection;
|
||||
Else
|
||||
Result = Connection.GetFeatures();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
EndIf;
|
||||
|
||||
If CloseConnection Then
|
||||
@@ -284,7 +284,7 @@ Function ExecuteCustomCommand(Val Connection, Val CommandText) Export
|
||||
OPI_TypeConversion.GetLine(CommandText);
|
||||
|
||||
Result = Connection.ExecuteCommand(CommandText);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -316,7 +316,7 @@ Function ExecuteArbitraryCommand(Val Connection, Val CommandText) Export
|
||||
OPI_TypeConversion.GetLine(CommandText);
|
||||
|
||||
Result = Connection.ExecuteStandardCommand(CommandText);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -351,7 +351,7 @@ Function GetObjectSize(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.GetObjectSize(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -389,7 +389,7 @@ Function UpdatePath(Val Connection, Val Path, Val NewPath) Export
|
||||
OPI_TypeConversion.GetLine(NewPath);
|
||||
|
||||
Result = Connection.RenameObject(Path, NewPath);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -582,7 +582,7 @@ Function ListObjects(Val Connection, Val Path = "", Val Recursively = False) Exp
|
||||
Path = ?(Path = ".", "", Path);
|
||||
|
||||
Result = Connection.ListDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Result["result"] Then
|
||||
|
||||
@@ -627,7 +627,7 @@ Function CreateNewDirectory(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.MakeDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -691,7 +691,7 @@ Function GetCurrentDirectory(Val Connection) Export
|
||||
Return Connection;
|
||||
Else
|
||||
Result = Connection.GetCurrentDirectory();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
EndIf;
|
||||
|
||||
If CloseConnection Then
|
||||
@@ -725,7 +725,7 @@ Function ChangeCurrentDirectory(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.ChangeCurrentDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -800,7 +800,7 @@ Function UploadFile(Val Connection, Val File, Val Path) Export
|
||||
Result = ProcessingConnection.UploadFile(File, Path);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -835,7 +835,7 @@ Function DeleteFile(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.RemoveFile(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -874,7 +874,7 @@ Function SaveFile(Val Connection, Val Path, Val FileName) Export
|
||||
OPI_Tools.RestoreEscapeSequences(FileName);
|
||||
|
||||
Result = Connection.DownloadToFile(Path, FileName);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -918,7 +918,7 @@ Function GetFileData(Val Connection, Val Path) Export
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Result = Connection.DownloadToFile(Path, TFN);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Result["result"] Then
|
||||
|
||||
@@ -933,7 +933,7 @@ Function GetFileData(Val Connection, Val Path) Export
|
||||
Data = Connection.DownloadToBuffer(Path);
|
||||
|
||||
If TypeOf(Data) = Type("String") Then
|
||||
Result = OPI_Tools.JsonToStructure(Data);
|
||||
Result = OPI_AddIns.DesrializeJanx(Data);
|
||||
Else
|
||||
Return Data;
|
||||
EndIf;
|
||||
@@ -966,7 +966,7 @@ Function SetFtpSettings(Val Connector, Val FTPSettings)
|
||||
EndIf;
|
||||
|
||||
Result = Connector.UpdateSettings(Settings);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -988,7 +988,7 @@ Function SetProxySettings(Val Connector, Val ProxySettings)
|
||||
EndIf;
|
||||
|
||||
Result = Connector.UpdateProxy(Settings);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -1122,7 +1122,7 @@ Function DeleteDirectoryRecursively(Val Connection, Val Path, Val DeleteCurrent
|
||||
|
||||
If Not Primary Or DeleteCurrent Then
|
||||
Result = Connection.RemoveDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
Else
|
||||
Result = New Map;
|
||||
Result.Insert("result", True);
|
||||
@@ -1158,7 +1158,7 @@ EndFunction
|
||||
Function GetConnectionCopy(Val Connection)
|
||||
|
||||
Configuration = Connection.GetConfiguration();
|
||||
Configuration = OPI_Tools.JSONToStructure(Configuration);
|
||||
Configuration = OPI_AddIns.DesrializeJanx(Configuration);
|
||||
|
||||
If Not Configuration["result"] Then
|
||||
Return Configuration;
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
|
||||
// #Use "../../../tools/main"
|
||||
// #Use "../../../tools/http"
|
||||
// #Use "../../../formats/janx"
|
||||
|
||||
#If Not WebClient Then // !OPI
|
||||
|
||||
@@ -106,7 +105,7 @@ Function CreateConnection(Val Parameters, Val Tls = Undefined, Val Logging = Und
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -121,7 +120,7 @@ Function CreateConnection(Val Parameters, Val Tls = Undefined, Val Logging = Und
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Not OPI_Tools.GetOr(Result, "result", False) Then
|
||||
Return Result;
|
||||
@@ -162,7 +161,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Disconnect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
@@ -203,7 +202,7 @@ Function SetMetadata(Val Connection, Val Metadata) Export
|
||||
MetadataAsString = OPI_Tools.JSONString(Metadata);
|
||||
|
||||
Result = Connection.SetMetadata(MetadataAsString);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -242,9 +241,9 @@ Function ExecuteMethod(Val Connection
|
||||
EndIf;
|
||||
|
||||
CallStructure = FormCallString(Connector, Service, Method, Timeout, Request);
|
||||
BDCall = OPI_Janx.SerializeData(CallStructure);
|
||||
BDCall = OPI_AddIns.SerializeJanx(CallStructure);
|
||||
ResultBD = Connector.Call(BDCall);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
@@ -397,7 +396,7 @@ Function GetServiceList(Val Connection, Val Tls = Undefined) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connector.ListServices();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
@@ -434,7 +433,7 @@ Function GetMethodList(Val Connection, Val Service, Val Tls = Undefined) Export
|
||||
OPI_TypeConversion.GetLine(Service);
|
||||
|
||||
Result = Connector.ListMethods(Service);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
@@ -473,7 +472,7 @@ Function GetMethod(Val Connection, Val Service, Val Method, Val Tls = Undefined)
|
||||
OPI_TypeConversion.GetLine(Method);
|
||||
|
||||
Result = Connector.GetMethodInfo(Service, Method);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
@@ -574,10 +573,10 @@ Function SendMessage(Val Connection, Val StreamID, Val Request) Export
|
||||
OPI_TypeConversion.GetLine(StreamID);
|
||||
|
||||
ProcessedRequest = ProcessRequestBeforeSending(Connection, Request);
|
||||
RequestBD = OPI_Janx.SerializeData(ProcessedRequest);
|
||||
RequestBD = OPI_AddIns.SerializeJanx(ProcessedRequest);
|
||||
|
||||
Result = Connection.SendMessage(StreamID, RequestBD);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -607,7 +606,7 @@ Function GetMessage(Val Connection, Val StreamID) Export
|
||||
OPI_TypeConversion.GetLine(StreamID);
|
||||
|
||||
ResultBD = Connection.GetNextMessage(StreamID);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -637,7 +636,7 @@ Function CompleteSend(Val Connection, Val StreamID) Export
|
||||
OPI_TypeConversion.GetLine(StreamID);
|
||||
|
||||
Result = Connection.FinishSending(StreamID);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -667,7 +666,7 @@ Function CloseStream(Val Connection, Val StreamID) Export
|
||||
OPI_TypeConversion.GetLine(StreamID);
|
||||
|
||||
Result = Connection.CloseStream(StreamID);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -961,7 +960,7 @@ Function SetProto(Connector, Val Parameters)
|
||||
OPI_TypeConversion.GetLine(CurrentContent, True);
|
||||
|
||||
Result = Connector.LoadProto(Proto.Key, CurrentContent);
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Not Result["result"] Then
|
||||
Return Result;
|
||||
@@ -970,7 +969,7 @@ Function SetProto(Connector, Val Parameters)
|
||||
EndDo;
|
||||
|
||||
Result = Connector.CompileProtos();
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
Result = New Structure("result", True);
|
||||
@@ -1039,7 +1038,7 @@ Function InitializeStream(Val View
|
||||
EndIf;
|
||||
|
||||
CallStructure = FormCallString(Connection, Service, Method, Timeout, Request);
|
||||
BDCall = OPI_Janx.SerializeData(CallStructure);
|
||||
BDCall = OPI_AddIns.SerializeJanx(CallStructure);
|
||||
|
||||
If View = "client" Then
|
||||
Result = Connection.StartClientStream(BDCall);
|
||||
@@ -1049,7 +1048,7 @@ Function InitializeStream(Val View
|
||||
Result = Connection.StartBidiStream(BDCall);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
+9
-10
@@ -43,7 +43,6 @@
|
||||
//@skip-check constructor-function-return-section
|
||||
|
||||
// #Use "./internal"
|
||||
// #Use "../../../formats/janx"
|
||||
|
||||
#If Not WebClient Then // !OPI
|
||||
|
||||
@@ -70,7 +69,7 @@ Function StartServer(Val Module, Val Port, Val PoolSize = 100, Val Logging = Und
|
||||
AddIn = OPI_AddIns.GetAddIn(AddInName);
|
||||
|
||||
Result = AddIn.Start(Port, PoolSize, SettingsString);
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], AddIn, Result);
|
||||
|
||||
@@ -85,7 +84,7 @@ Function StopServer(Val Module, Val ServerObject) Export
|
||||
Else
|
||||
|
||||
Result = ServerObject.Stop();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -113,7 +112,7 @@ Function GetNextConnectionData(Val Module
|
||||
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Janx.DeserializeData(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -141,7 +140,7 @@ Function GetConnectionData(Val Module
|
||||
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Janx.DeserializeData(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -157,7 +156,7 @@ Function SendData(Val Module, Val ServerObject, Val ConnectionID, Val Data) Expo
|
||||
OPI_TypeConversion.GetLine(ConnectionID);
|
||||
|
||||
Result = ServerObject.SendMessage(ConnectionID, Data);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -178,7 +177,7 @@ Function CloseIncomingConnection(Val Module, Val ServerObject, Val ConnectionID,
|
||||
OPI_TypeConversion.GetBoolean(RemoveImmediately);
|
||||
Result = ServerObject.CloseConnection(ConnectionID, RemoveImmediately);
|
||||
EndIf;
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -193,7 +192,7 @@ Function CompleteSend(Val Module, Val ServerObject, Val ConnectionID) Export
|
||||
OPI_TypeConversion.GetLine(ConnectionID);
|
||||
|
||||
Result = ServerObject.ShutdownWrite(ConnectionID);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -208,7 +207,7 @@ Function FinishReceiving(Val Module, Val ServerObject, Val ConnectionID) Export
|
||||
OPI_TypeConversion.GetLine(ConnectionID);
|
||||
|
||||
Result = ServerObject.ShutdownRead(ConnectionID);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -221,7 +220,7 @@ Function GetConnectionList(Val Module, Val ServerObject) Export
|
||||
EndIf;
|
||||
|
||||
Result = ServerObject.ListConnections();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
// Data - Arbitrary - Serialization value - value
|
||||
//
|
||||
// Returns:
|
||||
// BinaryData - [u32 BE: JSON UTF-8 length][JSON][appendix: binary blocks]
|
||||
// BinaryData - [u16 BE: version][u32 BE: JSON length][u32 BE: markers count][JSON][appendix]
|
||||
Function SerializeData(Val Data) Export
|
||||
|
||||
ArrayOfBinary = New Array;
|
||||
@@ -62,12 +62,12 @@ Function SerializeData(Val Data) Export
|
||||
JSONBD = GetBinaryDataFromString(ValueInJSONJanx(Prepared), "UTF-8");
|
||||
JSONSize = JSONBD.Size();
|
||||
|
||||
PrefixBD = PackInt32BEJanx(JSONSize);
|
||||
|
||||
DataStream = New MemoryStream();
|
||||
Record = New DataWriter(DataStream);
|
||||
|
||||
Record.Write(PrefixBD);
|
||||
Record.WriteInt16(JanxFormatVersion(), ByteOrder.BigEndian);
|
||||
Record.WriteInt32(JSONSize , ByteOrder.BigEndian);
|
||||
Record.WriteInt32(ArrayOfBinary.Count(), ByteOrder.BigEndian);
|
||||
Record.Write(JSONBD);
|
||||
|
||||
For Each Block In ArrayOfBinary Do
|
||||
@@ -91,26 +91,38 @@ Function DeserializeData(Val Data) Export
|
||||
|
||||
TotalSize = Data.Size();
|
||||
|
||||
If TotalSize < PrefixSizeJanx() Then
|
||||
If TotalSize < JanxHeaderSize() Then
|
||||
Raise "Incorrect Janx format: data is too short";
|
||||
EndIf;
|
||||
|
||||
Buffer = GetBinaryDataBufferFromBinaryData(Data);
|
||||
Reading = New DataReader(Data);
|
||||
|
||||
JSONSize = ReadInt32BEJanx(Buffer, 0);
|
||||
JSONStart = PrefixSizeJanx();
|
||||
JSONEnd = JSONStart + JSONSize;
|
||||
Version = Reading.ReadInt16(ByteOrder.BigEndian);
|
||||
|
||||
If JSONEnd > TotalSize Then
|
||||
If Version <> JanxFormatVersion() Then
|
||||
Raise StrTemplate("Invalid Janx format: unsupported version %1", Version);
|
||||
EndIf;
|
||||
|
||||
JSONSize = Reading.ReadInt32(ByteOrder.BigEndian);
|
||||
MarkersCount = Reading.ReadInt32(ByteOrder.BigEndian);
|
||||
|
||||
If JSONSize > TotalSize - JanxHeaderSize() Then
|
||||
Reading.Close();
|
||||
Raise "Incorrect Janx format: JSON length exceeds data boundaries";
|
||||
EndIf;
|
||||
|
||||
JSONBuffer = Buffer.Read(JSONStart, JSONSize);
|
||||
JSONString = GetStringFromBinaryDataBuffer(JSONBuffer, "UTF-8");
|
||||
JSONTree = ReadJSONJanx(JSONString);
|
||||
Result = RestoreValueFromJSONJanx(JSONTree, Buffer, JSONEnd);
|
||||
JSONData = Reading.Read(JSONSize);
|
||||
AnnexBuffer = Reading.Read().GetBinaryDataBuffer();
|
||||
Reading.Close();
|
||||
|
||||
Return Result;
|
||||
JSONTree = ReadJSONJanx(JSONData);
|
||||
|
||||
Context = New Structure;
|
||||
Context.Insert("AnnexBuffer" , AnnexBuffer);
|
||||
Context.Insert("MarkersTotal" , MarkersCount);
|
||||
Context.Insert("MarkersRestored", 0);
|
||||
|
||||
Return RestoreValueFromJSONJanx(JSONTree, Context);
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -126,9 +138,21 @@ Function MarkerKeyBinaryJanx()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function JanxFormatVersion()
|
||||
|
||||
Return 1;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function PrefixSizeJanx()
|
||||
|
||||
Return 4;
|
||||
Return 2;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function JanxHeaderSize()
|
||||
|
||||
Return PrefixSizeJanx() + 8;
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -197,10 +221,13 @@ Function ValueInJSONJanx(Val Data)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ReadJSONJanx(Val JSONString)
|
||||
Function ReadJSONJanx(Val JSONData)
|
||||
|
||||
JSONReader = New JSONReader;
|
||||
JSONReader.SetString(JSONString);
|
||||
|
||||
JSONReader.OpenStream(JSONData.OpenStreamForRead(), "UTF-8"); // !OPI
|
||||
// !OInt JSONReader.SetString(GetStringFromBinaryData(JSONData.GetBinaryData(), "UTF-8"));
|
||||
|
||||
Return ReadJSON(JSONReader, True);
|
||||
|
||||
EndFunction
|
||||
@@ -209,13 +236,16 @@ EndFunction
|
||||
|
||||
#Region JSONRestoration
|
||||
|
||||
Function RestoreValueFromJSONJanx(Val Data, Val Buffer, Val AppendixOffset)
|
||||
Function RestoreValueFromJSONJanx(Val Data, Context)
|
||||
|
||||
MarkerValue = Undefined;
|
||||
JanxMarker = TryGetJanxMarker(Data, MarkerValue);
|
||||
If NeedToSearchJanxMarker(Data, Context) Then
|
||||
|
||||
MarkerValue = Undefined;
|
||||
|
||||
If TryGetJanxMarker(Data, MarkerValue) Then
|
||||
Return ExtractBinaryByJanxMarker(MarkerValue, Context);
|
||||
EndIf;
|
||||
|
||||
If JanxMarker Then
|
||||
Return ExtractBinaryByJanxMarker(MarkerValue, Buffer, AppendixOffset);
|
||||
EndIf;
|
||||
|
||||
DataType = TypeOf(Data);
|
||||
@@ -225,7 +255,7 @@ Function RestoreValueFromJSONJanx(Val Data, Val Buffer, Val AppendixOffset)
|
||||
Result = New Array;
|
||||
|
||||
For Each Element In Data Do
|
||||
Result.Add(RestoreValueFromJSONJanx(Element, Buffer, AppendixOffset));
|
||||
Result.Add(RestoreValueFromJSONJanx(Element, Context));
|
||||
EndDo;
|
||||
|
||||
Return Result;
|
||||
@@ -234,10 +264,11 @@ Function RestoreValueFromJSONJanx(Val Data, Val Buffer, Val AppendixOffset)
|
||||
|
||||
If DataType = Type("Map") Then
|
||||
|
||||
Result = New Map;
|
||||
Result = New(DataType);
|
||||
|
||||
For Each Pair In Data Do
|
||||
RestoredValue = RestoreValueFromJSONJanx(Pair.Value, Buffer, AppendixOffset); Result.Insert(Pair.Key, RestoredValue);
|
||||
RestoredValue = RestoreValueFromJSONJanx(Pair.Value, Context);
|
||||
Result.Insert(Pair.Key, RestoredValue);
|
||||
EndDo;
|
||||
|
||||
Return Result;
|
||||
@@ -248,71 +279,38 @@ Function RestoreValueFromJSONJanx(Val Data, Val Buffer, Val AppendixOffset)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function NeedToSearchJanxMarker(Val Data, Context)
|
||||
|
||||
If Context.MarkersRestored = Context.MarkersTotal Then
|
||||
Return False;
|
||||
EndIf;
|
||||
|
||||
Return TypeOf(Data) = Type("Map");
|
||||
|
||||
EndFunction
|
||||
|
||||
Function TryGetJanxMarker(Val Data, MarkerValue)
|
||||
|
||||
MarkerValue = Undefined;
|
||||
Key = MarkerKeyBinaryJanx();
|
||||
DataType = TypeOf(Data);
|
||||
|
||||
If DataType = Type("Structure") Then
|
||||
|
||||
If Data.Property(Key, MarkerValue) Then
|
||||
Return True;
|
||||
EndIf;
|
||||
|
||||
ElsIf DataType = Type("Map") Then
|
||||
|
||||
If Data.Get(Key) <> Undefined Then
|
||||
MarkerValue = Data[Key];
|
||||
Return True;
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
Return False;
|
||||
MarkerValue = Data.Get(MarkerKeyBinaryJanx());
|
||||
Return MarkerValue <> Undefined;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ExtractBinaryByJanxMarker(Val Description, Val Buffer, Val AppendixOffset)
|
||||
Function ExtractBinaryByJanxMarker(Val Description, Context)
|
||||
|
||||
Start = AppendixOffset + Description["s"];
|
||||
Start = Description["s"];
|
||||
Length = Description["l"];
|
||||
|
||||
If Length = 0 Then
|
||||
Return GetBinaryDataFromString("");
|
||||
If Length = 0 Then
|
||||
Result = GetBinaryDataFromString("");
|
||||
Else
|
||||
Fragment = Context.AnnexBuffer.Read(Start, Length);
|
||||
Result = GetBinaryDataFromBinaryDataBuffer(Fragment);
|
||||
EndIf;
|
||||
|
||||
Fragment = Buffer.Read(Start, Length);
|
||||
Context.MarkersRestored = Context.MarkersRestored + 1;
|
||||
|
||||
Return GetBinaryDataFromBinaryDataBuffer(Fragment);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region BinaryPrefix
|
||||
|
||||
Function PackInt32BEJanx(Val Number)
|
||||
|
||||
Buffer = New BinaryDataBuffer(PrefixSizeJanx(), ByteOrder.BigEndian);
|
||||
|
||||
Buffer.Set(0, Int(Number / 16777216) % 256);
|
||||
Buffer.Set(1, Int(Number / 65536) % 256);
|
||||
Buffer.Set(2, Int(Number / 256) % 256);
|
||||
Buffer.Set(3, Number % 256);
|
||||
|
||||
Return GetBinaryDataFromBinaryDataBuffer(Buffer);
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ReadInt32BEJanx(Val Buffer, Val Position)
|
||||
|
||||
Byte0 = Buffer.Get(Position);
|
||||
Byte1 = Buffer.Get(Position + 1);
|
||||
Byte2 = Buffer.Get(Position + 2);
|
||||
Byte3 = Buffer.Get(Position + 3);
|
||||
|
||||
Return Byte0 * 16777216 + Byte1 * 65536 + Byte2 * 256 + Byte3;
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ Function CreateVM(Val Version, Val Logging = Undefined) Export
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = AddIn.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -124,10 +124,9 @@ Function ExecuteCodeFromString(Val Lua, Val Code) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(Code);
|
||||
|
||||
Result = AddIn.ExecuteString(Code);
|
||||
Result = ResultFromJSON(Result);
|
||||
ResultBD = AddIn.ExecuteString(Code);
|
||||
|
||||
Return Result["data"];
|
||||
Return ResultFromJanx(ResultBD);
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -165,10 +164,42 @@ Function ExecuteCodeFromFile(Val Lua, Val Path) Export
|
||||
|
||||
EndIf;
|
||||
|
||||
Result = AddIn.ExecuteFile(ScriptFile.FullName);
|
||||
Result = ResultFromJSON(Result);
|
||||
ResultBD = AddIn.ExecuteFile(ScriptFile.FullName);
|
||||
|
||||
Return Result["data"];
|
||||
Return ResultFromJanx(ResultBD);
|
||||
|
||||
EndFunction
|
||||
|
||||
// Call function
|
||||
// Calls a Lua function with arguments passed as an array
|
||||
//
|
||||
// Parameters:
|
||||
// Lua - Arbitrary - Lua AddIn or Lua version to run - lua
|
||||
// FunctionName - String - Function name or path in module.func format - func
|
||||
// Arguments - Array - Call arguments (BinaryData allowed)) - args
|
||||
//
|
||||
// Returns:
|
||||
// Arbitrary - Calling result
|
||||
Function CallFunction(Val Lua, Val FunctionName, Val Arguments = Undefined) Export
|
||||
|
||||
AddIn = CreateVM(Lua);
|
||||
|
||||
If IsVM(AddIn) Then
|
||||
Return AddIn;
|
||||
EndIf;
|
||||
|
||||
OPI_TypeConversion.GetLine(FunctionName);
|
||||
|
||||
If Arguments = Undefined Then
|
||||
Arguments = New Array;
|
||||
EndIf;
|
||||
|
||||
OPI_TypeConversion.GetArray(Arguments);
|
||||
|
||||
BDArgs = OPI_AddIns.SerializeJanx(Arguments);
|
||||
ResultBD = AddIn.CallFunction(FunctionName, BDArgs);
|
||||
|
||||
Return ResultFromJanx(ResultBD);
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -193,15 +224,15 @@ EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
Function ResultFromJSON(Val JSONString)
|
||||
Function ResultFromJanx(Val JanxData)
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(JSONString);
|
||||
Result = OPI_AddIns.DesrializeJanx(JanxData);
|
||||
|
||||
If Not Result["result"] Then
|
||||
Raise Result["error"];
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
Return Result["data"];
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -108,7 +108,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -127,7 +127,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
|
||||
// #Use "../../../tools/main"
|
||||
// #Use "../../../tools/http"
|
||||
// #Use "../../../formats/janx"
|
||||
|
||||
#If Not WebClient Then // !OPI
|
||||
|
||||
@@ -92,7 +91,7 @@ Function CreateConnection(Val ConnectionString, Val Logging = Undefined) Export
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -103,7 +102,7 @@ Function CreateConnection(Val ConnectionString, Val Logging = Undefined) Export
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -122,7 +121,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Disconnect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
@@ -266,10 +265,10 @@ Function ExecuteCommand(Val Connection
|
||||
OperationStructure.Insert("data", ProcessedData);
|
||||
EndIf;
|
||||
|
||||
JanxOperation = OPI_Janx.SerializeData(OperationStructure);
|
||||
JanxOperation = OPI_AddIns.SerializeJanx(OperationStructure);
|
||||
|
||||
ResultBD = Connector.Execute(JanxOperation);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
|
||||
@@ -91,7 +91,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -108,7 +108,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -127,7 +127,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -108,7 +108,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -127,7 +127,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ Function CreateConnection(Val ConnectionParams, Val Logging = Undefined) Export
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -114,7 +114,7 @@ Function CreateConnection(Val ConnectionParams, Val Logging = Undefined) Export
|
||||
OPI_TypeConversion.GetNumber(WriteTimeout);
|
||||
|
||||
Result = Connector.Connect(URL, Password, ReadTimeout, WriteTimeout);
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -148,7 +148,7 @@ Function ExecuteCommand(Val Command, Val Connection) Export
|
||||
OPI_TypeConversion.GetLine(Command);
|
||||
|
||||
Result = Connector.Command(Command);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ Function CreateConnection(Val SSHSettings, Val Proxy = "") Export
|
||||
|
||||
If IsConnector(SSHConnection) Then
|
||||
Result = SSHConnection.ToSFTP();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
Else
|
||||
Return SSHConnection;
|
||||
EndIf;
|
||||
@@ -141,7 +141,7 @@ Function UpdatePath(Val Connection, Val Path, Val NewPath, Val Overwrite = False
|
||||
OPI_TypeConversion.GetBoolean(Overwrite);
|
||||
|
||||
Result = Connection.RenameObject(Path, NewPath, Overwrite);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -293,7 +293,7 @@ Function ListObjects(Val Connection, Val Path = "", Val Recursively = False) Exp
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.ListDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
ProcessListObtainResult(Result, Connection, Recursively);
|
||||
|
||||
@@ -330,7 +330,7 @@ Function CreateNewDirectory(Val Connection, Val Path, Val Permissions = 700) Exp
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.MakeDirectory(Path, Permissions);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -364,7 +364,7 @@ Function DeleteDirectory(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.RemoveDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -463,7 +463,7 @@ Function UploadFile(Val Connection, Val File, Val Path) Export
|
||||
Result = Connection.UploadFile(File, Path);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -495,7 +495,7 @@ Function DeleteFile(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.RemoveFile(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -531,7 +531,7 @@ Function SaveFile(Val Connection, Val Path, Val FileName) Export
|
||||
OPI_Tools.RestoreEscapeSequences(FileName);
|
||||
|
||||
Result = Connection.DownloadToFile(Path, FileName);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -572,7 +572,7 @@ Function GetFileData(Val Connection, Val Path) Export
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Result = Connection.DownloadToFile(Path, TFN);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Result["result"] Then
|
||||
|
||||
@@ -587,7 +587,7 @@ Function GetFileData(Val Connection, Val Path) Export
|
||||
Data = Connection.DownloadToBuffer(Path);
|
||||
|
||||
If TypeOf(Data) = Type("String") Then
|
||||
Result = OPI_Tools.JsonToStructure(Data);
|
||||
Result = OPI_AddIns.DesrializeJanx(Data);
|
||||
Else
|
||||
Return Data;
|
||||
EndIf;
|
||||
@@ -624,7 +624,7 @@ Function GetFileInformation(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.GetFileInfo(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -662,7 +662,7 @@ Function CheckCreateConnection(Connection)
|
||||
If Not IsSFTP Then
|
||||
|
||||
Result = Connection.ToSFTP();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
Connection = ?(Result["result"], Connection, Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
//@skip-check constructor-function-return-section
|
||||
|
||||
// #Use "./internal"
|
||||
// #Use "../../../formats/janx"
|
||||
|
||||
#If Not WebClient Then // !OPI
|
||||
|
||||
@@ -1225,10 +1224,10 @@ Function ProcessRecordsBatch(Val Module
|
||||
|
||||
Try
|
||||
|
||||
OPI_Janx.SerializeData(BlanksArray).Write(BlanksPath);
|
||||
OPI_AddIns.SerializeJanx(BlanksArray).Write(BlanksPath);
|
||||
|
||||
Initialization = Connection.BatchQuery(BlanksPath, KeysPath);
|
||||
Initialization = OPI_Tools.JsonToStructure(Initialization);
|
||||
Initialization = OPI_AddIns.DesrializeJanx(Initialization);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(BlanksPath, "Failed to delete query package file after installation");
|
||||
|
||||
@@ -1237,7 +1236,7 @@ Function ProcessRecordsBatch(Val Module
|
||||
EndIf;
|
||||
|
||||
JanxBD = New BinaryData(KeysPath);
|
||||
Keys = OPI_Janx.DeserializeData(JanxBD);
|
||||
Keys = OPI_AddIns.DesrializeJanx(JanxBD);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(KeysPath, "Failed to delete key file after initialization");
|
||||
|
||||
@@ -1795,7 +1794,7 @@ Function InitializeQuery(Val Connector, Val QueryText, Val ForceResult)
|
||||
QueryKey = Connector.InitQuery(QueryText, ForceResult, False);
|
||||
EndIf;
|
||||
|
||||
QueryKey = OPI_Tools.JSONToStructure(QueryKey);
|
||||
QueryKey = OPI_AddIns.DesrializeJanx(QueryKey);
|
||||
|
||||
Return QueryKey;
|
||||
|
||||
@@ -1813,7 +1812,7 @@ Function SetQueryParams(Val Connector, Val QueryKey, Val Parameters)
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Try
|
||||
JanxBD = OPI_Janx.SerializeData(Parameters);
|
||||
JanxBD = OPI_AddIns.SerializeJanx(Parameters);
|
||||
JanxBD.Write(TFN);
|
||||
Except
|
||||
ErrInfo = ErrorDescription();
|
||||
@@ -1825,11 +1824,11 @@ Function SetQueryParams(Val Connector, Val QueryKey, Val Parameters)
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Failed to delete query parameters file after execution");
|
||||
|
||||
Else
|
||||
JanxParameters = OPI_Janx.SerializeData(Parameters);
|
||||
JanxParameters = OPI_AddIns.SerializeJanx(Parameters);
|
||||
Adding = Connector.SetParamsFromString(QueryKey, JanxParameters);
|
||||
EndIf;
|
||||
|
||||
Adding = OPI_Tools.JsonToStructure(Adding);
|
||||
Adding = OPI_AddIns.DesrializeJanx(Adding);
|
||||
|
||||
Return Adding;
|
||||
|
||||
@@ -1837,7 +1836,7 @@ EndFunction
|
||||
|
||||
Function ProcessQueryResult(Val Connector, Val QueryKey, Val ExecutionResult)
|
||||
|
||||
ExecutionResult = OPI_Tools.JsonToStructure(ExecutionResult);
|
||||
ExecutionResult = OPI_AddIns.DesrializeJanx(ExecutionResult);
|
||||
|
||||
If Not ExecutionResult["result"] Then
|
||||
|
||||
@@ -1860,18 +1859,18 @@ Function ProcessQueryResult(Val Connector, Val QueryKey, Val ExecutionResult)
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Result = Connector.GetResultAsFile(QueryKey, TFN);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Result["result"] Then
|
||||
JanxBD = New BinaryData(TFN);
|
||||
Result = OPI_Janx.DeserializeData(JanxBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(JanxBD);
|
||||
EndIf;
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Failed to delete result file after execution");
|
||||
|
||||
Else
|
||||
ResultBD = Connector.GetResultAsString(QueryKey);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -89,7 +89,7 @@ Function CreateConnection(Val Base = "", Val Logging = Undefined) Export
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -100,7 +100,7 @@ Function CreateConnection(Val Base = "", Val Logging = Undefined) Export
|
||||
Connector.Database = Base;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -119,7 +119,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
@@ -246,7 +246,7 @@ Function ConnectExtension(Val Extension, Val EntryPoint = "", Val Connection = "
|
||||
EndIf;
|
||||
|
||||
Result = Connector.LoadExtension(FilePath, EntryPoint);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Temporary Then
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ Function CreateConnection(Val SSHSettings, Val Proxy = "", Val Logging = Undefin
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult[Result_] Then
|
||||
Return LogResult;
|
||||
@@ -94,7 +94,7 @@ Function CreateConnection(Val SSHSettings, Val Proxy = "", Val Logging = Undefin
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result[Result_], Connector, Result);
|
||||
|
||||
@@ -122,7 +122,7 @@ Function ExecuteCommand(Val Connection, Val Command) Export
|
||||
OPI_TypeConversion.GetLine(Command);
|
||||
|
||||
Result = Connection.Execute(Command);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Output = Result["stdout"];
|
||||
|
||||
@@ -151,7 +151,7 @@ Function CloseConnection(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.Disconnect();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return Result;
|
||||
@@ -323,7 +323,7 @@ Function SetSettings(Val Connector, Val SSHSettings)
|
||||
SettingsString = OPI_Tools.JSONString(SSHSettings);
|
||||
|
||||
Result = Connector.SetSettings(SettingsString);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -351,7 +351,7 @@ Function SetProxy(Val Connector, Val Proxy)
|
||||
ProxyString = OPI_Tools.JSONString(Proxy);
|
||||
|
||||
Result = Connector.SetProxy(ProxyString);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ Function CreateConnection(Val Address, Val Tls = "", Val Proxy = "", Val Logging
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = TCPClient.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -138,7 +138,7 @@ Function CreateConnection(Val Address, Val Tls = "", Val Proxy = "", Val Logging
|
||||
EndIf;
|
||||
|
||||
Success = TCPClient.SetAddress(Address);
|
||||
Success = OPI_Tools.JsonToStructure(Success);
|
||||
Success = OPI_AddIns.DesrializeJanx(Success);
|
||||
|
||||
If Not Success["result"] Then
|
||||
Return Success;
|
||||
@@ -156,7 +156,7 @@ Function CreateConnection(Val Address, Val Tls = "", Val Proxy = "", Val Logging
|
||||
ProxtString = OPI_Tools.JSONString(Proxy);
|
||||
|
||||
Setup = TCPClient.SetProxySettings(ProxtString);
|
||||
Setup = OPI_Tools.JsonToStructure(Setup);
|
||||
Setup = OPI_AddIns.DesrializeJanx(Setup);
|
||||
|
||||
If Not OPI_Tools.GetOr(Setup, "result", False) Then
|
||||
Return Setup;
|
||||
@@ -394,15 +394,16 @@ EndFunction
|
||||
// Map Of KeyAndValue, Undefined - Error information or undefined if there is no error
|
||||
Function GetLastError(Val Connection) Export
|
||||
|
||||
Result = Connection.GetLastError();
|
||||
ErrorText = Connection.GetLastError();
|
||||
|
||||
If ValueIsFilled(Result) Then
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Else
|
||||
Result = Undefined;
|
||||
If ValueIsFilled(ErrorText) Then
|
||||
Result = New Map;
|
||||
Result.Insert("result", False);
|
||||
Result.Insert("error" , ErrorText);
|
||||
Return Result;
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
Return Undefined;
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
|
||||
// #Use "../../../tools/main"
|
||||
// #Use "../../../tools/http"
|
||||
// #Use "../../../formats/janx"
|
||||
|
||||
#If Not WebClient Then // !OPI
|
||||
|
||||
@@ -131,7 +130,7 @@ Function CreateConnection(Val Address
|
||||
ProxtString = OPI_Tools.JSONString(Proxy);
|
||||
|
||||
Setup = WSClient.SetProxySettings(ProxtString);
|
||||
Setup = OPI_Tools.JsonToStructure(Setup);
|
||||
Setup = OPI_AddIns.DesrializeJanx(Setup);
|
||||
|
||||
If Not OPI_Tools.GetOr(Setup, "result", False) Then
|
||||
Return Setup;
|
||||
@@ -146,7 +145,7 @@ Function CreateConnection(Val Address
|
||||
SettingsString = OPI_Tools.JSONString(Logging);
|
||||
|
||||
LogResult = WSClient.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -161,7 +160,7 @@ Function CreateConnection(Val Address
|
||||
|
||||
HeadersAsString = OPI_Tools.JSONString(Headers);
|
||||
Result = WSClient.SetHeaders(HeadersAsString);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Not OPI_Tools.GetOr(Result, "result", False) Then
|
||||
Return Result;
|
||||
@@ -170,7 +169,7 @@ Function CreateConnection(Val Address
|
||||
EndIf;
|
||||
|
||||
Result = WSClient.Connect(Address);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], WSClient, Result);
|
||||
|
||||
@@ -194,7 +193,7 @@ Function CloseConnection(Val Connection, Val Code = 1000, Val Reason = "") Expor
|
||||
OPI_TypeConversion.GetLine(Reason);
|
||||
|
||||
Result = Connection.Close(Code, Reason);
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
@@ -228,7 +227,7 @@ Function SendPing(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.SendPing();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -255,7 +254,7 @@ Function SendPong(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.SendPong();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -285,7 +284,7 @@ Function GetMessage(Val Connection, Val Timeout = 10000) Export
|
||||
OPI_TypeConversion.GetNumber(Timeout);
|
||||
|
||||
ResultBD = Connection.ReceiveMessage(Timeout);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
MessageType = OPI_Tools.GetOr(Result, "type", "");
|
||||
Data = OPI_Tools.GetOr(Result, "data", "");
|
||||
@@ -333,7 +332,7 @@ Function SendTextMessage(Val Connection, Val Text) Export
|
||||
OPI_TypeConversion.GetLine(Text, True);
|
||||
|
||||
Result = Connection.SendText(Text);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -363,7 +362,7 @@ Function SendBinaryMessage(Val Connection, Val Data) Export
|
||||
OPI_TypeConversion.GetBinaryData(Data, True);
|
||||
|
||||
Result = Connection.SendBinary(Data);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
|
||||
// #Use "../../../tools/main"
|
||||
// #Use "../../../tools/http"
|
||||
// #Use "../../../formats/janx"
|
||||
|
||||
#If Not WebClient Then // !OPI
|
||||
|
||||
@@ -266,7 +265,7 @@ Function SendData(Val Connection, Val Data, Val Timeout = Undefined) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.Send(Data, Timeout);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -303,7 +302,7 @@ Function ReceiveData(Val Connection, Val Timeout) Export
|
||||
|
||||
ResultBD = Connection.Recv(Timeout);
|
||||
|
||||
Return OPI_Janx.DeserializeData(ResultBD);
|
||||
Return OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -359,7 +358,7 @@ Function Subscribe(Val Connection, Val Prefix) Export
|
||||
OPI_TypeConversion.GetLine(Prefix);
|
||||
|
||||
Result = Connection.Subscribe(Prefix);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -386,7 +385,7 @@ Function CloseConnection(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -438,7 +437,7 @@ Function InitializeConnector(Val AddressPort, Val View, Val Logging = Undefined)
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = ZMQ.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -474,7 +473,7 @@ Function ExecuteInitialization(Val Connector, Val AddressPort, Val View)
|
||||
Raise "Unsupported ZMQ initialization type!"
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
+4
@@ -2791,6 +2791,10 @@
|
||||
"ExecuteCodeFromFile": {
|
||||
"addin_mode": "Manual selection of external component connection mode (for 1C): Isolated, NotIsolated",
|
||||
"dontwait": "Creates a background job and returns its data (for 1C and OneScript only)"
|
||||
},
|
||||
"CallFunction": {
|
||||
"addin_mode": "Manual selection of external component connection mode (for 1C): Isolated, NotIsolated",
|
||||
"dontwait": "Creates a background job and returns its data (for 1C and OneScript only)"
|
||||
}
|
||||
},
|
||||
"OPI_MongoDB": {
|
||||
|
||||
@@ -15208,13 +15208,17 @@ EndFunction
|
||||
|
||||
Procedure CheckPrefixJanx(Val Data)
|
||||
|
||||
Buffer = GetBinaryDataBufferFromBinaryData(Data);
|
||||
JSONSize = Buffer.Get(0) * 16777216
|
||||
+ Buffer.Get(1) * 65536
|
||||
+ Buffer.Get(2) * 256
|
||||
+ Buffer.Get(3);
|
||||
Reading = New DataReader(Data);
|
||||
|
||||
ExpectsThat(4 + JSONSize <= Data.Size()).Равно(True);
|
||||
ExpectsThat(Reading.ReadInt16(ByteOrder.BigEndian)).Равно(1);
|
||||
|
||||
JSONSize = Reading.ReadInt32(ByteOrder.BigEndian);
|
||||
|
||||
ExpectsThat(Reading.ReadInt32(ByteOrder.BigEndian) >= 0).Равно(True);
|
||||
|
||||
Reading.Close();
|
||||
|
||||
ExpectsThat(10 + JSONSize <= Data.Size()).Равно(True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
|
||||
+2
-2
@@ -258,9 +258,9 @@ Procedure CDEK_CreateOrder(FunctionParameters)
|
||||
Product.Insert("weight" , 700);
|
||||
Product.Insert("url" , "www.item.ru");
|
||||
|
||||
Product.Add(Product);
|
||||
Products.Add(Product);
|
||||
|
||||
Package.Insert("items" , Product);
|
||||
Package.Insert("items" , Products);
|
||||
Package.Insert("number" , "bar-001");
|
||||
Package.Insert("comment", "Packaging");
|
||||
Package.Insert("height" , 10);
|
||||
|
||||
+6
-6
@@ -292,12 +292,12 @@ Procedure Janx_Benchmark()
|
||||
Result.Insert("JanxDeserializationWithoutBinMs", CurrentUniversalDateInMilliseconds() - Start);
|
||||
Result.Insert("JanxRestoredWithoutBin" , JanxRestored);
|
||||
|
||||
JanxBuffer = GetBinaryDataBufferFromBinaryData(JanxData);
|
||||
JSONJanxSize = JanxBuffer.Get(0) * 16777216
|
||||
+ JanxBuffer.Get(1) * 65536
|
||||
+ JanxBuffer.Get(2) * 256
|
||||
+ JanxBuffer.Get(3);
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 4 - JSONJanxSize);
|
||||
JanxReading = New DataReader(JanxData);
|
||||
JanxReading.ReadInt16(ByteOrder.BigEndian);
|
||||
JSONJanxSize = JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.Close();
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 10 - JSONJanxSize);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Janx", "Benchmark", , Original);
|
||||
|
||||
|
||||
@@ -269,9 +269,9 @@ Procedure CDEK_CreateOrder(FunctionParameters)
|
||||
Product.Insert("weight" , 700);
|
||||
Product.Insert("url" , "www.item.ru");
|
||||
|
||||
Product.Add(Product);
|
||||
Products.Add(Product);
|
||||
|
||||
Package.Insert("items" , Product);
|
||||
Package.Insert("items" , Products);
|
||||
Package.Insert("number" , "bar-001");
|
||||
Package.Insert("comment", "Packaging");
|
||||
Package.Insert("height" , 10);
|
||||
|
||||
@@ -293,12 +293,12 @@ Procedure Janx_Benchmark()
|
||||
Result.Insert("JanxDeserializationWithoutBinMs", CurrentUniversalDateInMilliseconds() - Start);
|
||||
Result.Insert("JanxRestoredWithoutBin" , JanxRestored);
|
||||
|
||||
JanxBuffer = GetBinaryDataBufferFromBinaryData(JanxData);
|
||||
JSONJanxSize = JanxBuffer.Get(0) * 16777216
|
||||
+ JanxBuffer.Get(1) * 65536
|
||||
+ JanxBuffer.Get(2) * 256
|
||||
+ JanxBuffer.Get(3);
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 4 - JSONJanxSize);
|
||||
JanxReading = New DataReader(JanxData);
|
||||
JanxReading.ReadInt16(ByteOrder.BigEndian);
|
||||
JSONJanxSize = JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.Close();
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 10 - JSONJanxSize);
|
||||
|
||||
OPI_TestDataRetrieval.ProcessCLI(Result, "Janx", "Benchmark", , Original);
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
|
||||
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
|
||||
+2
-2
@@ -923,7 +923,7 @@ Function ExecuteRequestViaGRPC(Val Connection, Val Request, Val Session)
|
||||
If OPI_GRPC.IsConnector(Connection) Then
|
||||
CloseConnection = False;
|
||||
Connector = Connection;
|
||||
ConnectionSettings = OPI_Tools.JsonToStructure(Connector.GetSettings());
|
||||
ConnectionSettings = OPI_AddIns.DesrializeJanx(Connector.GetSettings());
|
||||
Else
|
||||
CloseConnection = True;
|
||||
Connector = CreateGRPCConnection(Connection);
|
||||
@@ -957,7 +957,7 @@ Function FormGRPCRequest(Val Connection, Val Request, Val Session)
|
||||
EndIf;
|
||||
|
||||
If OPI_GRPC.IsConnector(Connection) Then
|
||||
ConnectionSettings = OPI_Tools.JsonToStructure(Connection.GetSettings());
|
||||
ConnectionSettings = OPI_AddIns.DesrializeJanx(Connection.GetSettings());
|
||||
Else
|
||||
ConnectionSettings = Connection;
|
||||
EndIf;
|
||||
|
||||
+22
-22
@@ -107,7 +107,7 @@ Function CreateConnection(Val FTPSettings, Val Proxy = Undefined, Val Tls = Unde
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult[Result_] Then
|
||||
Return LogResult;
|
||||
@@ -116,7 +116,7 @@ Function CreateConnection(Val FTPSettings, Val Proxy = Undefined, Val Tls = Unde
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result[Result_], Connector, Result);
|
||||
|
||||
@@ -168,7 +168,7 @@ Function CloseConnection(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return Result;
|
||||
@@ -191,7 +191,7 @@ Function GetWelcomeMessage(Val Connection) Export
|
||||
Return Connection;
|
||||
Else
|
||||
Result = Connection.GetWelcomeMsg();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
EndIf;
|
||||
|
||||
If CloseConnection Then
|
||||
@@ -221,7 +221,7 @@ Function GetProtocolFeatureList(Val Connection) Export
|
||||
Return Connection;
|
||||
Else
|
||||
Result = Connection.GetFeatures();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
EndIf;
|
||||
|
||||
If CloseConnection Then
|
||||
@@ -283,7 +283,7 @@ Function ExecuteCustomCommand(Val Connection, Val CommandText) Export
|
||||
OPI_TypeConversion.GetLine(CommandText);
|
||||
|
||||
Result = Connection.ExecuteCommand(CommandText);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -315,7 +315,7 @@ Function ExecuteArbitraryCommand(Val Connection, Val CommandText) Export
|
||||
OPI_TypeConversion.GetLine(CommandText);
|
||||
|
||||
Result = Connection.ExecuteStandardCommand(CommandText);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -350,7 +350,7 @@ Function GetObjectSize(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.GetObjectSize(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -388,7 +388,7 @@ Function UpdatePath(Val Connection, Val Path, Val NewPath) Export
|
||||
OPI_TypeConversion.GetLine(NewPath);
|
||||
|
||||
Result = Connection.RenameObject(Path, NewPath);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -581,7 +581,7 @@ Function ListObjects(Val Connection, Val Path = "", Val Recursively = False) Exp
|
||||
Path = ?(Path = ".", "", Path);
|
||||
|
||||
Result = Connection.ListDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Result["result"] Then
|
||||
|
||||
@@ -626,7 +626,7 @@ Function CreateNewDirectory(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.MakeDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -690,7 +690,7 @@ Function GetCurrentDirectory(Val Connection) Export
|
||||
Return Connection;
|
||||
Else
|
||||
Result = Connection.GetCurrentDirectory();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
EndIf;
|
||||
|
||||
If CloseConnection Then
|
||||
@@ -724,7 +724,7 @@ Function ChangeCurrentDirectory(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.ChangeCurrentDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -799,7 +799,7 @@ Function UploadFile(Val Connection, Val File, Val Path) Export
|
||||
Result = ProcessingConnection.UploadFile(File, Path);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -834,7 +834,7 @@ Function DeleteFile(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.RemoveFile(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -873,7 +873,7 @@ Function SaveFile(Val Connection, Val Path, Val FileName) Export
|
||||
OPI_Tools.RestoreEscapeSequences(FileName);
|
||||
|
||||
Result = Connection.DownloadToFile(Path, FileName);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -917,7 +917,7 @@ Function GetFileData(Val Connection, Val Path) Export
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Result = Connection.DownloadToFile(Path, TFN);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Result["result"] Then
|
||||
|
||||
@@ -932,7 +932,7 @@ Function GetFileData(Val Connection, Val Path) Export
|
||||
Data = Connection.DownloadToBuffer(Path);
|
||||
|
||||
If TypeOf(Data) = Type("String") Then
|
||||
Result = OPI_Tools.JsonToStructure(Data);
|
||||
Result = OPI_AddIns.DesrializeJanx(Data);
|
||||
Else
|
||||
Return Data;
|
||||
EndIf;
|
||||
@@ -965,7 +965,7 @@ Function SetFtpSettings(Val Connector, Val FTPSettings)
|
||||
EndIf;
|
||||
|
||||
Result = Connector.UpdateSettings(Settings);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -987,7 +987,7 @@ Function SetProxySettings(Val Connector, Val ProxySettings)
|
||||
EndIf;
|
||||
|
||||
Result = Connector.UpdateProxy(Settings);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -1121,7 +1121,7 @@ Function DeleteDirectoryRecursively(Val Connection, Val Path, Val DeleteCurrent
|
||||
|
||||
If Not Primary Or DeleteCurrent Then
|
||||
Result = Connection.RemoveDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
Else
|
||||
Result = New Map;
|
||||
Result.Insert("result", True);
|
||||
@@ -1157,7 +1157,7 @@ EndFunction
|
||||
Function GetConnectionCopy(Val Connection)
|
||||
|
||||
Configuration = Connection.GetConfiguration();
|
||||
Configuration = OPI_Tools.JSONToStructure(Configuration);
|
||||
Configuration = OPI_AddIns.DesrializeJanx(Configuration);
|
||||
|
||||
If Not Configuration["result"] Then
|
||||
Return Configuration;
|
||||
|
||||
+18
-19
@@ -52,7 +52,6 @@
|
||||
|
||||
#Use "../../../tools/main"
|
||||
#Use "../../../tools/http"
|
||||
#Use "../../../formats/janx"
|
||||
|
||||
|
||||
#Region Public
|
||||
@@ -105,7 +104,7 @@ Function CreateConnection(Val Parameters, Val Tls = Undefined, Val Logging = Und
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -120,7 +119,7 @@ Function CreateConnection(Val Parameters, Val Tls = Undefined, Val Logging = Und
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Not OPI_Tools.GetOr(Result, "result", False) Then
|
||||
Return Result;
|
||||
@@ -161,7 +160,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Disconnect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
@@ -202,7 +201,7 @@ Function SetMetadata(Val Connection, Val Metadata) Export
|
||||
MetadataAsString = OPI_Tools.JSONString(Metadata);
|
||||
|
||||
Result = Connection.SetMetadata(MetadataAsString);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -241,9 +240,9 @@ Function ExecuteMethod(Val Connection
|
||||
EndIf;
|
||||
|
||||
CallStructure = FormCallString(Connector, Service, Method, Timeout, Request);
|
||||
BDCall = OPI_Janx.SerializeData(CallStructure);
|
||||
BDCall = OPI_AddIns.SerializeJanx(CallStructure);
|
||||
ResultBD = Connector.Call(BDCall);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
@@ -396,7 +395,7 @@ Function GetServiceList(Val Connection, Val Tls = Undefined) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connector.ListServices();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
@@ -433,7 +432,7 @@ Function GetMethodList(Val Connection, Val Service, Val Tls = Undefined) Export
|
||||
OPI_TypeConversion.GetLine(Service);
|
||||
|
||||
Result = Connector.ListMethods(Service);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
@@ -472,7 +471,7 @@ Function GetMethod(Val Connection, Val Service, Val Method, Val Tls = Undefined)
|
||||
OPI_TypeConversion.GetLine(Method);
|
||||
|
||||
Result = Connector.GetMethodInfo(Service, Method);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
@@ -573,10 +572,10 @@ Function SendMessage(Val Connection, Val StreamID, Val Request) Export
|
||||
OPI_TypeConversion.GetLine(StreamID);
|
||||
|
||||
ProcessedRequest = ProcessRequestBeforeSending(Connection, Request);
|
||||
RequestBD = OPI_Janx.SerializeData(ProcessedRequest);
|
||||
RequestBD = OPI_AddIns.SerializeJanx(ProcessedRequest);
|
||||
|
||||
Result = Connection.SendMessage(StreamID, RequestBD);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -606,7 +605,7 @@ Function GetMessage(Val Connection, Val StreamID) Export
|
||||
OPI_TypeConversion.GetLine(StreamID);
|
||||
|
||||
ResultBD = Connection.GetNextMessage(StreamID);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -636,7 +635,7 @@ Function CompleteSend(Val Connection, Val StreamID) Export
|
||||
OPI_TypeConversion.GetLine(StreamID);
|
||||
|
||||
Result = Connection.FinishSending(StreamID);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -666,7 +665,7 @@ Function CloseStream(Val Connection, Val StreamID) Export
|
||||
OPI_TypeConversion.GetLine(StreamID);
|
||||
|
||||
Result = Connection.CloseStream(StreamID);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -960,7 +959,7 @@ Function SetProto(Connector, Val Parameters)
|
||||
OPI_TypeConversion.GetLine(CurrentContent, True);
|
||||
|
||||
Result = Connector.LoadProto(Proto.Key, CurrentContent);
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Not Result["result"] Then
|
||||
Return Result;
|
||||
@@ -969,7 +968,7 @@ Function SetProto(Connector, Val Parameters)
|
||||
EndDo;
|
||||
|
||||
Result = Connector.CompileProtos();
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
Result = New Structure("result", True);
|
||||
@@ -1038,7 +1037,7 @@ Function InitializeStream(Val View
|
||||
EndIf;
|
||||
|
||||
CallStructure = FormCallString(Connection, Service, Method, Timeout, Request);
|
||||
BDCall = OPI_Janx.SerializeData(CallStructure);
|
||||
BDCall = OPI_AddIns.SerializeJanx(CallStructure);
|
||||
|
||||
If View = "client" Then
|
||||
Result = Connection.StartClientStream(BDCall);
|
||||
@@ -1048,7 +1047,7 @@ Function InitializeStream(Val View
|
||||
Result = Connection.StartBidiStream(BDCall);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
+45
-10
@@ -89,7 +89,7 @@ Function CreateVM(Val Version, Val Logging = Undefined) Export
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = AddIn.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -123,10 +123,9 @@ Function ExecuteCodeFromString(Val Lua, Val Code) Export
|
||||
|
||||
OPI_TypeConversion.GetLine(Code);
|
||||
|
||||
Result = AddIn.ExecuteString(Code);
|
||||
Result = ResultFromJSON(Result);
|
||||
ResultBD = AddIn.ExecuteString(Code);
|
||||
|
||||
Return Result["data"];
|
||||
Return ResultFromJanx(ResultBD);
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -164,10 +163,42 @@ Function ExecuteCodeFromFile(Val Lua, Val Path) Export
|
||||
|
||||
EndIf;
|
||||
|
||||
Result = AddIn.ExecuteFile(ScriptFile.FullName);
|
||||
Result = ResultFromJSON(Result);
|
||||
ResultBD = AddIn.ExecuteFile(ScriptFile.FullName);
|
||||
|
||||
Return Result["data"];
|
||||
Return ResultFromJanx(ResultBD);
|
||||
|
||||
EndFunction
|
||||
|
||||
// Call function
|
||||
// Calls a Lua function with arguments passed as an array
|
||||
//
|
||||
// Parameters:
|
||||
// Lua - Arbitrary - Lua AddIn or Lua version to run - lua
|
||||
// FunctionName - String - Function name or path in module.func format - func
|
||||
// Arguments - Array - Call arguments (BinaryData allowed)) - args
|
||||
//
|
||||
// Returns:
|
||||
// Arbitrary - Calling result
|
||||
Function CallFunction(Val Lua, Val FunctionName, Val Arguments = Undefined) Export
|
||||
|
||||
AddIn = CreateVM(Lua);
|
||||
|
||||
If IsVM(AddIn) Then
|
||||
Return AddIn;
|
||||
EndIf;
|
||||
|
||||
OPI_TypeConversion.GetLine(FunctionName);
|
||||
|
||||
If Arguments = Undefined Then
|
||||
Arguments = New Array;
|
||||
EndIf;
|
||||
|
||||
OPI_TypeConversion.GetArray(Arguments);
|
||||
|
||||
BDArgs = OPI_AddIns.SerializeJanx(Arguments);
|
||||
ResultBD = AddIn.CallFunction(FunctionName, BDArgs);
|
||||
|
||||
Return ResultFromJanx(ResultBD);
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -192,15 +223,15 @@ EndFunction
|
||||
|
||||
#Region Internal
|
||||
|
||||
Function ResultFromJSON(Val JSONString)
|
||||
Function ResultFromJanx(Val JanxData)
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(JSONString);
|
||||
Result = OPI_AddIns.DesrializeJanx(JanxData);
|
||||
|
||||
If Not Result["result"] Then
|
||||
Raise Result["error"];
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
Return Result["data"];
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -222,6 +253,10 @@ Function ВыполнитьКодИзФайла(Val Lua, Val Путь) Export
|
||||
Return ExecuteCodeFromFile(Lua, Путь);
|
||||
EndFunction
|
||||
|
||||
Function ВызватьФункцию(Val Lua, Val ИмяФункции, Val Аргументы = Undefined) Export
|
||||
Return CallFunction(Lua, ИмяФункции, Аргументы);
|
||||
EndFunction
|
||||
|
||||
Function ЭтоVM(Val Значение) Export
|
||||
Return IsVM(Значение);
|
||||
EndFunction
|
||||
|
||||
+5
-6
@@ -49,7 +49,6 @@
|
||||
|
||||
#Use "../../../tools/main"
|
||||
#Use "../../../tools/http"
|
||||
#Use "../../../formats/janx"
|
||||
|
||||
|
||||
#Region Public
|
||||
@@ -91,7 +90,7 @@ Function CreateConnection(Val ConnectionString, Val Logging = Undefined) Export
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -102,7 +101,7 @@ Function CreateConnection(Val ConnectionString, Val Logging = Undefined) Export
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -121,7 +120,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Disconnect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
@@ -265,10 +264,10 @@ Function ExecuteCommand(Val Connection
|
||||
OperationStructure.Insert("data", ProcessedData);
|
||||
EndIf;
|
||||
|
||||
JanxOperation = OPI_Janx.SerializeData(OperationStructure);
|
||||
JanxOperation = OPI_AddIns.SerializeJanx(OperationStructure);
|
||||
|
||||
ResultBD = Connector.Execute(JanxOperation);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
If CloseConnection Then
|
||||
CloseConnection(Connector);
|
||||
|
||||
+3
-3
@@ -90,7 +90,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -107,7 +107,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -126,7 +126,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
|
||||
+3
-3
@@ -90,7 +90,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -107,7 +107,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -126,7 +126,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
|
||||
+3
-3
@@ -90,7 +90,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -107,7 +107,7 @@ Function CreateConnection(Val ConnectionString = "", Val Tls = "", Val Logging =
|
||||
Connector.ConnectionString = ConnectionString;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -126,7 +126,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
|
||||
+3
-3
@@ -94,7 +94,7 @@ Function CreateConnection(Val ConnectionParams, Val Logging = Undefined) Export
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -113,7 +113,7 @@ Function CreateConnection(Val ConnectionParams, Val Logging = Undefined) Export
|
||||
OPI_TypeConversion.GetNumber(WriteTimeout);
|
||||
|
||||
Result = Connector.Connect(URL, Password, ReadTimeout, WriteTimeout);
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -147,7 +147,7 @@ Function ExecuteCommand(Val Command, Val Connection) Export
|
||||
OPI_TypeConversion.GetLine(Command);
|
||||
|
||||
Result = Connector.Command(Command);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
+12
-12
@@ -72,7 +72,7 @@ Function CreateConnection(Val SSHSettings, Val Proxy = "") Export
|
||||
|
||||
If IsConnector(SSHConnection) Then
|
||||
Result = SSHConnection.ToSFTP();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
Else
|
||||
Return SSHConnection;
|
||||
EndIf;
|
||||
@@ -140,7 +140,7 @@ Function UpdatePath(Val Connection, Val Path, Val NewPath, Val Overwrite = False
|
||||
OPI_TypeConversion.GetBoolean(Overwrite);
|
||||
|
||||
Result = Connection.RenameObject(Path, NewPath, Overwrite);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -292,7 +292,7 @@ Function ListObjects(Val Connection, Val Path = "", Val Recursively = False) Exp
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.ListDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
ProcessListObtainResult(Result, Connection, Recursively);
|
||||
|
||||
@@ -329,7 +329,7 @@ Function CreateNewDirectory(Val Connection, Val Path, Val Permissions = 700) Exp
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.MakeDirectory(Path, Permissions);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -363,7 +363,7 @@ Function DeleteDirectory(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.RemoveDirectory(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -462,7 +462,7 @@ Function UploadFile(Val Connection, Val File, Val Path) Export
|
||||
Result = Connection.UploadFile(File, Path);
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -494,7 +494,7 @@ Function DeleteFile(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.RemoveFile(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -530,7 +530,7 @@ Function SaveFile(Val Connection, Val Path, Val FileName) Export
|
||||
OPI_Tools.RestoreEscapeSequences(FileName);
|
||||
|
||||
Result = Connection.DownloadToFile(Path, FileName);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -571,7 +571,7 @@ Function GetFileData(Val Connection, Val Path) Export
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Result = Connection.DownloadToFile(Path, TFN);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Result["result"] Then
|
||||
|
||||
@@ -586,7 +586,7 @@ Function GetFileData(Val Connection, Val Path) Export
|
||||
Data = Connection.DownloadToBuffer(Path);
|
||||
|
||||
If TypeOf(Data) = Type("String") Then
|
||||
Result = OPI_Tools.JsonToStructure(Data);
|
||||
Result = OPI_AddIns.DesrializeJanx(Data);
|
||||
Else
|
||||
Return Data;
|
||||
EndIf;
|
||||
@@ -623,7 +623,7 @@ Function GetFileInformation(Val Connection, Val Path) Export
|
||||
OPI_TypeConversion.GetLine(Path);
|
||||
|
||||
Result = Connection.GetFileInfo(Path);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -661,7 +661,7 @@ Function CheckCreateConnection(Connection)
|
||||
If Not IsSFTP Then
|
||||
|
||||
Result = Connection.ToSFTP();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
Connection = ?(Result["result"], Connection, Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
+4
-4
@@ -88,7 +88,7 @@ Function CreateConnection(Val Base = "", Val Logging = Undefined) Export
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -99,7 +99,7 @@ Function CreateConnection(Val Base = "", Val Logging = Undefined) Export
|
||||
Connector.Database = Base;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
@@ -118,7 +118,7 @@ Function CloseConnection(Val Connection) Export
|
||||
If IsConnector(Connection) Then
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
@@ -245,7 +245,7 @@ Function ConnectExtension(Val Extension, Val EntryPoint = "", Val Connection = "
|
||||
EndIf;
|
||||
|
||||
Result = Connector.LoadExtension(FilePath, EntryPoint);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Temporary Then
|
||||
|
||||
|
||||
+10
-9
@@ -128,7 +128,7 @@ Function CreateConnection(Val Address, Val Tls = "", Val Proxy = "", Val Logging
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = TCPClient.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -137,7 +137,7 @@ Function CreateConnection(Val Address, Val Tls = "", Val Proxy = "", Val Logging
|
||||
EndIf;
|
||||
|
||||
Success = TCPClient.SetAddress(Address);
|
||||
Success = OPI_Tools.JsonToStructure(Success);
|
||||
Success = OPI_AddIns.DesrializeJanx(Success);
|
||||
|
||||
If Not Success["result"] Then
|
||||
Return Success;
|
||||
@@ -155,7 +155,7 @@ Function CreateConnection(Val Address, Val Tls = "", Val Proxy = "", Val Logging
|
||||
ProxtString = OPI_Tools.JSONString(Proxy);
|
||||
|
||||
Setup = TCPClient.SetProxySettings(ProxtString);
|
||||
Setup = OPI_Tools.JsonToStructure(Setup);
|
||||
Setup = OPI_AddIns.DesrializeJanx(Setup);
|
||||
|
||||
If Not OPI_Tools.GetOr(Setup, "result", False) Then
|
||||
Return Setup;
|
||||
@@ -393,15 +393,16 @@ EndFunction
|
||||
// Map Of KeyAndValue, Undefined - Error information or undefined if there is no error
|
||||
Function GetLastError(Val Connection) Export
|
||||
|
||||
Result = Connection.GetLastError();
|
||||
ErrorText = Connection.GetLastError();
|
||||
|
||||
If ValueIsFilled(Result) Then
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Else
|
||||
Result = Undefined;
|
||||
If ValueIsFilled(ErrorText) Then
|
||||
Result = New Map;
|
||||
Result.Insert("result", False);
|
||||
Result.Insert("error" , ErrorText);
|
||||
Return Result;
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
Return Undefined;
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
+10
-11
@@ -48,7 +48,6 @@
|
||||
|
||||
#Use "../../../tools/main"
|
||||
#Use "../../../tools/http"
|
||||
#Use "../../../formats/janx"
|
||||
|
||||
|
||||
#Region Public
|
||||
@@ -130,7 +129,7 @@ Function CreateConnection(Val Address
|
||||
ProxtString = OPI_Tools.JSONString(Proxy);
|
||||
|
||||
Setup = WSClient.SetProxySettings(ProxtString);
|
||||
Setup = OPI_Tools.JsonToStructure(Setup);
|
||||
Setup = OPI_AddIns.DesrializeJanx(Setup);
|
||||
|
||||
If Not OPI_Tools.GetOr(Setup, "result", False) Then
|
||||
Return Setup;
|
||||
@@ -145,7 +144,7 @@ Function CreateConnection(Val Address
|
||||
SettingsString = OPI_Tools.JSONString(Logging);
|
||||
|
||||
LogResult = WSClient.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -160,7 +159,7 @@ Function CreateConnection(Val Address
|
||||
|
||||
HeadersAsString = OPI_Tools.JSONString(Headers);
|
||||
Result = WSClient.SetHeaders(HeadersAsString);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Not OPI_Tools.GetOr(Result, "result", False) Then
|
||||
Return Result;
|
||||
@@ -169,7 +168,7 @@ Function CreateConnection(Val Address
|
||||
EndIf;
|
||||
|
||||
Result = WSClient.Connect(Address);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], WSClient, Result);
|
||||
|
||||
@@ -193,7 +192,7 @@ Function CloseConnection(Val Connection, Val Code = 1000, Val Reason = "") Expor
|
||||
OPI_TypeConversion.GetLine(Reason);
|
||||
|
||||
Result = Connection.Close(Code, Reason);
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Else
|
||||
|
||||
@@ -227,7 +226,7 @@ Function SendPing(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.SendPing();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -254,7 +253,7 @@ Function SendPong(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.SendPong();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -284,7 +283,7 @@ Function GetMessage(Val Connection, Val Timeout = 10000) Export
|
||||
OPI_TypeConversion.GetNumber(Timeout);
|
||||
|
||||
ResultBD = Connection.ReceiveMessage(Timeout);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
MessageType = OPI_Tools.GetOr(Result, "type", "");
|
||||
Data = OPI_Tools.GetOr(Result, "data", "");
|
||||
@@ -332,7 +331,7 @@ Function SendTextMessage(Val Connection, Val Text) Export
|
||||
OPI_TypeConversion.GetLine(Text, True);
|
||||
|
||||
Result = Connection.SendText(Text);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -362,7 +361,7 @@ Function SendBinaryMessage(Val Connection, Val Data) Export
|
||||
OPI_TypeConversion.GetBinaryData(Data, True);
|
||||
|
||||
Result = Connection.SendBinary(Data);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
+6
-7
@@ -48,7 +48,6 @@
|
||||
|
||||
#Use "../../../tools/main"
|
||||
#Use "../../../tools/http"
|
||||
#Use "../../../formats/janx"
|
||||
|
||||
|
||||
#Region Public
|
||||
@@ -265,7 +264,7 @@ Function SendData(Val Connection, Val Data, Val Timeout = Undefined) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.Send(Data, Timeout);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -302,7 +301,7 @@ Function ReceiveData(Val Connection, Val Timeout) Export
|
||||
|
||||
ResultBD = Connection.Recv(Timeout);
|
||||
|
||||
Return OPI_Janx.DeserializeData(ResultBD);
|
||||
Return OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -358,7 +357,7 @@ Function Subscribe(Val Connection, Val Prefix) Export
|
||||
OPI_TypeConversion.GetLine(Prefix);
|
||||
|
||||
Result = Connection.Subscribe(Prefix);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -385,7 +384,7 @@ Function CloseConnection(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.Close();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -437,7 +436,7 @@ Function InitializeConnector(Val AddressPort, Val View, Val Logging = Undefined)
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = ZMQ.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult["result"] Then
|
||||
Return LogResult;
|
||||
@@ -473,7 +472,7 @@ Function ExecuteInitialization(Val Connector, Val AddressPort, Val View)
|
||||
Raise "Unsupported ZMQ initialization type!"
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
+77
-80
@@ -52,7 +52,7 @@
|
||||
// Data - Arbitrary - Serialization value - value
|
||||
//
|
||||
// Returns:
|
||||
// BinaryData - [u32 BE: JSON UTF-8 length][JSON][appendix: binary blocks]
|
||||
// BinaryData - [u16 BE: version][u32 BE: JSON length][u32 BE: markers count][JSON][appendix]
|
||||
Function SerializeData(Val Data) Export
|
||||
|
||||
ArrayOfBinary = New Array;
|
||||
@@ -61,12 +61,12 @@ Function SerializeData(Val Data) Export
|
||||
JSONBD = GetBinaryDataFromString(ValueInJSONJanx(Prepared), "UTF-8");
|
||||
JSONSize = JSONBD.Size();
|
||||
|
||||
PrefixBD = PackInt32BEJanx(JSONSize);
|
||||
|
||||
DataStream = New MemoryStream();
|
||||
Record = New DataWriter(DataStream);
|
||||
|
||||
Record.Write(PrefixBD);
|
||||
Record.WriteInt16(JanxFormatVersion(), ByteOrder.BigEndian);
|
||||
Record.WriteInt32(JSONSize , ByteOrder.BigEndian);
|
||||
Record.WriteInt32(ArrayOfBinary.Count(), ByteOrder.BigEndian);
|
||||
Record.Write(JSONBD);
|
||||
|
||||
For Each Block In ArrayOfBinary Do
|
||||
@@ -90,26 +90,38 @@ Function DeserializeData(Val Data) Export
|
||||
|
||||
TotalSize = Data.Size();
|
||||
|
||||
If TotalSize < PrefixSizeJanx() Then
|
||||
If TotalSize < JanxHeaderSize() Then
|
||||
Raise "Incorrect Janx format: data is too short";
|
||||
EndIf;
|
||||
|
||||
Buffer = GetBinaryDataBufferFromBinaryData(Data);
|
||||
Reading = New DataReader(Data);
|
||||
|
||||
JSONSize = ReadInt32BEJanx(Buffer, 0);
|
||||
JSONStart = PrefixSizeJanx();
|
||||
JSONEnd = JSONStart + JSONSize;
|
||||
Version = Reading.ReadInt16(ByteOrder.BigEndian);
|
||||
|
||||
If JSONEnd > TotalSize Then
|
||||
If Version <> JanxFormatVersion() Then
|
||||
Raise StrTemplate("Invalid Janx format: unsupported version %1", Version);
|
||||
EndIf;
|
||||
|
||||
JSONSize = Reading.ReadInt32(ByteOrder.BigEndian);
|
||||
MarkersCount = Reading.ReadInt32(ByteOrder.BigEndian);
|
||||
|
||||
If JSONSize > TotalSize - JanxHeaderSize() Then
|
||||
Reading.Close();
|
||||
Raise "Incorrect Janx format: JSON length exceeds data boundaries";
|
||||
EndIf;
|
||||
|
||||
JSONBuffer = Buffer.Read(JSONStart, JSONSize);
|
||||
JSONString = GetStringFromBinaryDataBuffer(JSONBuffer, "UTF-8");
|
||||
JSONTree = ReadJSONJanx(JSONString);
|
||||
Result = RestoreValueFromJSONJanx(JSONTree, Buffer, JSONEnd);
|
||||
JSONData = Reading.Read(JSONSize);
|
||||
AnnexBuffer = Reading.Read().GetBinaryDataBuffer();
|
||||
Reading.Close();
|
||||
|
||||
Return Result;
|
||||
JSONTree = ReadJSONJanx(JSONData);
|
||||
|
||||
Context = New Structure;
|
||||
Context.Insert("AnnexBuffer" , AnnexBuffer);
|
||||
Context.Insert("MarkersTotal" , MarkersCount);
|
||||
Context.Insert("MarkersRestored", 0);
|
||||
|
||||
Return RestoreValueFromJSONJanx(JSONTree, Context);
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -125,9 +137,21 @@ Function MarkerKeyBinaryJanx()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function JanxFormatVersion()
|
||||
|
||||
Return 1;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function PrefixSizeJanx()
|
||||
|
||||
Return 4;
|
||||
Return 2;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function JanxHeaderSize()
|
||||
|
||||
Return PrefixSizeJanx() + 8;
|
||||
|
||||
EndFunction
|
||||
|
||||
@@ -196,10 +220,12 @@ Function ValueInJSONJanx(Val Data)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ReadJSONJanx(Val JSONString)
|
||||
Function ReadJSONJanx(Val JSONData)
|
||||
|
||||
JSONReader = New JSONReader;
|
||||
JSONReader.SetString(JSONString);
|
||||
|
||||
JSONReader.SetString(GetStringFromBinaryData(JSONData.GetBinaryData(), "UTF-8"));
|
||||
|
||||
Return ReadJSON(JSONReader, True);
|
||||
|
||||
EndFunction
|
||||
@@ -208,13 +234,16 @@ EndFunction
|
||||
|
||||
#Region JSONRestoration
|
||||
|
||||
Function RestoreValueFromJSONJanx(Val Data, Val Buffer, Val AppendixOffset)
|
||||
Function RestoreValueFromJSONJanx(Val Data, Context)
|
||||
|
||||
MarkerValue = Undefined;
|
||||
JanxMarker = TryGetJanxMarker(Data, MarkerValue);
|
||||
If NeedToSearchJanxMarker(Data, Context) Then
|
||||
|
||||
MarkerValue = Undefined;
|
||||
|
||||
If TryGetJanxMarker(Data, MarkerValue) Then
|
||||
Return ExtractBinaryByJanxMarker(MarkerValue, Context);
|
||||
EndIf;
|
||||
|
||||
If JanxMarker Then
|
||||
Return ExtractBinaryByJanxMarker(MarkerValue, Buffer, AppendixOffset);
|
||||
EndIf;
|
||||
|
||||
DataType = TypeOf(Data);
|
||||
@@ -224,7 +253,7 @@ Function RestoreValueFromJSONJanx(Val Data, Val Buffer, Val AppendixOffset)
|
||||
Result = New Array;
|
||||
|
||||
For Each Element In Data Do
|
||||
Result.Add(RestoreValueFromJSONJanx(Element, Buffer, AppendixOffset));
|
||||
Result.Add(RestoreValueFromJSONJanx(Element, Context));
|
||||
EndDo;
|
||||
|
||||
Return Result;
|
||||
@@ -233,10 +262,11 @@ Function RestoreValueFromJSONJanx(Val Data, Val Buffer, Val AppendixOffset)
|
||||
|
||||
If DataType = Type("Map") Then
|
||||
|
||||
Result = New Map;
|
||||
Result = New(DataType);
|
||||
|
||||
For Each Pair In Data Do
|
||||
RestoredValue = RestoreValueFromJSONJanx(Pair.Value, Buffer, AppendixOffset); Result.Insert(Pair.Key, RestoredValue);
|
||||
RestoredValue = RestoreValueFromJSONJanx(Pair.Value, Context);
|
||||
Result.Insert(Pair.Key, RestoredValue);
|
||||
EndDo;
|
||||
|
||||
Return Result;
|
||||
@@ -247,71 +277,38 @@ Function RestoreValueFromJSONJanx(Val Data, Val Buffer, Val AppendixOffset)
|
||||
|
||||
EndFunction
|
||||
|
||||
Function NeedToSearchJanxMarker(Val Data, Context)
|
||||
|
||||
If Context.MarkersRestored = Context.MarkersTotal Then
|
||||
Return False;
|
||||
EndIf;
|
||||
|
||||
Return TypeOf(Data) = Type("Map");
|
||||
|
||||
EndFunction
|
||||
|
||||
Function TryGetJanxMarker(Val Data, MarkerValue)
|
||||
|
||||
MarkerValue = Undefined;
|
||||
Key = MarkerKeyBinaryJanx();
|
||||
DataType = TypeOf(Data);
|
||||
|
||||
If DataType = Type("Structure") Then
|
||||
|
||||
If Data.Property(Key, MarkerValue) Then
|
||||
Return True;
|
||||
EndIf;
|
||||
|
||||
ElsIf DataType = Type("Map") Then
|
||||
|
||||
If Data.Get(Key) <> Undefined Then
|
||||
MarkerValue = Data[Key];
|
||||
Return True;
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
|
||||
Return False;
|
||||
MarkerValue = Data.Get(MarkerKeyBinaryJanx());
|
||||
Return MarkerValue <> Undefined;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ExtractBinaryByJanxMarker(Val Description, Val Buffer, Val AppendixOffset)
|
||||
Function ExtractBinaryByJanxMarker(Val Description, Context)
|
||||
|
||||
Start = AppendixOffset + Description["s"];
|
||||
Start = Description["s"];
|
||||
Length = Description["l"];
|
||||
|
||||
If Length = 0 Then
|
||||
Return GetBinaryDataFromString("");
|
||||
If Length = 0 Then
|
||||
Result = GetBinaryDataFromString("");
|
||||
Else
|
||||
Fragment = Context.AnnexBuffer.Read(Start, Length);
|
||||
Result = GetBinaryDataFromBinaryDataBuffer(Fragment);
|
||||
EndIf;
|
||||
|
||||
Fragment = Buffer.Read(Start, Length);
|
||||
Context.MarkersRestored = Context.MarkersRestored + 1;
|
||||
|
||||
Return GetBinaryDataFromBinaryDataBuffer(Fragment);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region BinaryPrefix
|
||||
|
||||
Function PackInt32BEJanx(Val Number)
|
||||
|
||||
Buffer = New BinaryDataBuffer(PrefixSizeJanx(), ByteOrder.BigEndian);
|
||||
|
||||
Buffer.Set(0, Int(Number / 16777216) % 256);
|
||||
Buffer.Set(1, Int(Number / 65536) % 256);
|
||||
Buffer.Set(2, Int(Number / 256) % 256);
|
||||
Buffer.Set(3, Number % 256);
|
||||
|
||||
Return GetBinaryDataFromBinaryDataBuffer(Buffer);
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ReadInt32BEJanx(Val Buffer, Val Position)
|
||||
|
||||
Byte0 = Buffer.Get(Position);
|
||||
Byte1 = Buffer.Get(Position + 1);
|
||||
Byte2 = Buffer.Get(Position + 2);
|
||||
Byte3 = Buffer.Get(Position + 3);
|
||||
|
||||
Return Byte0 * 16777216 + Byte1 * 65536 + Byte2 * 256 + Byte3;
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
@@ -2791,6 +2791,10 @@
|
||||
"ExecuteCodeFromFile": {
|
||||
"addin_mode": "Manual selection of external component connection mode (for 1C): Isolated, NotIsolated",
|
||||
"dontwait": "Creates a background job and returns its data (for 1C and OneScript only)"
|
||||
},
|
||||
"CallFunction": {
|
||||
"addin_mode": "Manual selection of external component connection mode (for 1C): Isolated, NotIsolated",
|
||||
"dontwait": "Creates a background job and returns its data (for 1C and OneScript only)"
|
||||
}
|
||||
},
|
||||
"OPI_MongoDB": {
|
||||
|
||||
+2
-2
@@ -257,9 +257,9 @@ Procedure CDEK_CreateOrder(FunctionParameters)
|
||||
Product.Insert("weight" , 700);
|
||||
Product.Insert("url" , "www.item.ru");
|
||||
|
||||
Product.Add(Product);
|
||||
Products.Add(Product);
|
||||
|
||||
Package.Insert("items" , Product);
|
||||
Package.Insert("items" , Products);
|
||||
Package.Insert("number" , "bar-001");
|
||||
Package.Insert("comment", "Packaging");
|
||||
Package.Insert("height" , 10);
|
||||
|
||||
+6
-6
@@ -291,12 +291,12 @@ Procedure Janx_Benchmark()
|
||||
Result.Insert("JanxDeserializationWithoutBinMs", CurrentUniversalDateInMilliseconds() - Start);
|
||||
Result.Insert("JanxRestoredWithoutBin" , JanxRestored);
|
||||
|
||||
JanxBuffer = GetBinaryDataBufferFromBinaryData(JanxData);
|
||||
JSONJanxSize = JanxBuffer.Get(0) * 16777216
|
||||
+ JanxBuffer.Get(1) * 65536
|
||||
+ JanxBuffer.Get(2) * 256
|
||||
+ JanxBuffer.Get(3);
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 4 - JSONJanxSize);
|
||||
JanxReading = New DataReader(JanxData);
|
||||
JanxReading.ReadInt16(ByteOrder.BigEndian);
|
||||
JSONJanxSize = JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.Close();
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 10 - JSONJanxSize);
|
||||
|
||||
OPI_TestDataRetrieval.Process(Result, "Janx", "Benchmark", , Original);
|
||||
|
||||
|
||||
+2
-2
@@ -269,9 +269,9 @@ Procedure CDEK_CreateOrder(FunctionParameters)
|
||||
Product.Insert("weight" , 700);
|
||||
Product.Insert("url" , "www.item.ru");
|
||||
|
||||
Product.Add(Product);
|
||||
Products.Add(Product);
|
||||
|
||||
Package.Insert("items" , Product);
|
||||
Package.Insert("items" , Products);
|
||||
Package.Insert("number" , "bar-001");
|
||||
Package.Insert("comment", "Packaging");
|
||||
Package.Insert("height" , 10);
|
||||
|
||||
+6
-6
@@ -293,12 +293,12 @@ Procedure Janx_Benchmark()
|
||||
Result.Insert("JanxDeserializationWithoutBinMs", CurrentUniversalDateInMilliseconds() - Start);
|
||||
Result.Insert("JanxRestoredWithoutBin" , JanxRestored);
|
||||
|
||||
JanxBuffer = GetBinaryDataBufferFromBinaryData(JanxData);
|
||||
JSONJanxSize = JanxBuffer.Get(0) * 16777216
|
||||
+ JanxBuffer.Get(1) * 65536
|
||||
+ JanxBuffer.Get(2) * 256
|
||||
+ JanxBuffer.Get(3);
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 4 - JSONJanxSize);
|
||||
JanxReading = New DataReader(JanxData);
|
||||
JanxReading.ReadInt16(ByteOrder.BigEndian);
|
||||
JSONJanxSize = JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.ReadInt32(ByteOrder.BigEndian);
|
||||
JanxReading.Close();
|
||||
Result.Insert("AppendixSize", JanxData.Size() - 10 - JSONJanxSize);
|
||||
|
||||
OPI_TestDataRetrieval.ProcessCLI(Result, "Janx", "Benchmark", , Original);
|
||||
|
||||
|
||||
+10
-6
@@ -15204,13 +15204,17 @@ EndFunction
|
||||
|
||||
Procedure CheckPrefixJanx(Val Data)
|
||||
|
||||
Buffer = GetBinaryDataBufferFromBinaryData(Data);
|
||||
JSONSize = Buffer.Get(0) * 16777216
|
||||
+ Buffer.Get(1) * 65536
|
||||
+ Buffer.Get(2) * 256
|
||||
+ Buffer.Get(3);
|
||||
Reading = New DataReader(Data);
|
||||
|
||||
ExpectsThat(4 + JSONSize <= Data.Size()).Равно(True);
|
||||
ExpectsThat(Reading.ReadInt16(ByteOrder.BigEndian)).Равно(1);
|
||||
|
||||
JSONSize = Reading.ReadInt32(ByteOrder.BigEndian);
|
||||
|
||||
ExpectsThat(Reading.ReadInt32(ByteOrder.BigEndian) >= 0).Равно(True);
|
||||
|
||||
Reading.Close();
|
||||
|
||||
ExpectsThat(10 + JSONSize <= Data.Size()).Равно(True);
|
||||
|
||||
EndProcedure
|
||||
|
||||
|
||||
+27
-2
@@ -45,6 +45,7 @@
|
||||
//@skip-check server-execution-safe-mode
|
||||
|
||||
#Use "./internal"
|
||||
#Use "../../../formats/janx"
|
||||
|
||||
|
||||
#Region Internal
|
||||
@@ -141,7 +142,7 @@ Function SetTls(Val AddIn, Val Tls) Export
|
||||
OPI_TypeConversion.GetLine(CertFilepath);
|
||||
|
||||
Result = AddIn.SetTLS(UseTls, DisableValidation, CertFilepath);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -188,6 +189,22 @@ EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Janx
|
||||
|
||||
Function SerializeJanx(Val Data) Export
|
||||
|
||||
Return OPI_Janx.SerializeData(Data);
|
||||
|
||||
EndFunction
|
||||
|
||||
Function DesrializeJanx(Val Data) Export
|
||||
|
||||
Return OPI_Janx.DeserializeData(Data);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Logging
|
||||
|
||||
Function GetLoggingSettings(Val WriteToMemory = True
|
||||
@@ -230,7 +247,7 @@ Function GetLog(Val ServerObject, Val AsString = False, Val EventCount = 100) Ex
|
||||
OPI_TypeConversion.GetBoolean(AsString);
|
||||
|
||||
Result = ServerObject.GetLogs(EventCount);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = DesrializeJanx(Result);
|
||||
|
||||
If AsString And Result["result"] Then
|
||||
Result = StrConcat(Result["logs"], Chars.LF);
|
||||
@@ -502,6 +519,14 @@ Function ПолучитьНастройкиПрокси(Val Адрес, Val По
|
||||
Return GetProxySettings(Адрес, Порт, Вид, Логин, Пароль);
|
||||
EndFunction
|
||||
|
||||
Function СериализоватьJanx(Val Данные) Export
|
||||
Return SerializeJanx(Данные);
|
||||
EndFunction
|
||||
|
||||
Function ДесериализоватьJanx(Val Данные) Export
|
||||
Return DesrializeJanx(Данные);
|
||||
EndFunction
|
||||
|
||||
Function ПолучитьНастройкиЛогирования(Val ЗаписьВПамять = True, Val МаксимумСобытий = 300, Val ПутьКФайлу = "") Export
|
||||
Return GetLoggingSettings(ЗаписьВПамять, МаксимумСобытий, ПутьКФайлу);
|
||||
EndFunction
|
||||
|
||||
+9
-10
@@ -43,7 +43,6 @@
|
||||
//@skip-check constructor-function-return-section
|
||||
|
||||
#Use "./internal"
|
||||
#Use "../../../formats/janx"
|
||||
|
||||
|
||||
#Region Internal
|
||||
@@ -69,7 +68,7 @@ Function StartServer(Val Module, Val Port, Val PoolSize = 100, Val Logging = Und
|
||||
AddIn = OPI_AddIns.GetAddIn(AddInName);
|
||||
|
||||
Result = AddIn.Start(Port, PoolSize, SettingsString);
|
||||
Result = OPI_Tools.JsonToStructure(Result, False);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result["result"], AddIn, Result);
|
||||
|
||||
@@ -84,7 +83,7 @@ Function StopServer(Val Module, Val ServerObject) Export
|
||||
Else
|
||||
|
||||
Result = ServerObject.Stop();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -112,7 +111,7 @@ Function GetNextConnectionData(Val Module
|
||||
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Janx.DeserializeData(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -140,7 +139,7 @@ Function GetConnectionData(Val Module
|
||||
|
||||
EndIf;
|
||||
|
||||
Result = OPI_Janx.DeserializeData(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -156,7 +155,7 @@ Function SendData(Val Module, Val ServerObject, Val ConnectionID, Val Data) Expo
|
||||
OPI_TypeConversion.GetLine(ConnectionID);
|
||||
|
||||
Result = ServerObject.SendMessage(ConnectionID, Data);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -177,7 +176,7 @@ Function CloseIncomingConnection(Val Module, Val ServerObject, Val ConnectionID,
|
||||
OPI_TypeConversion.GetBoolean(RemoveImmediately);
|
||||
Result = ServerObject.CloseConnection(ConnectionID, RemoveImmediately);
|
||||
EndIf;
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -192,7 +191,7 @@ Function CompleteSend(Val Module, Val ServerObject, Val ConnectionID) Export
|
||||
OPI_TypeConversion.GetLine(ConnectionID);
|
||||
|
||||
Result = ServerObject.ShutdownWrite(ConnectionID);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -207,7 +206,7 @@ Function FinishReceiving(Val Module, Val ServerObject, Val ConnectionID) Export
|
||||
OPI_TypeConversion.GetLine(ConnectionID);
|
||||
|
||||
Result = ServerObject.ShutdownRead(ConnectionID);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -220,7 +219,7 @@ Function GetConnectionList(Val Module, Val ServerObject) Export
|
||||
EndIf;
|
||||
|
||||
Result = ServerObject.ListConnections();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
+11
-12
@@ -43,7 +43,6 @@
|
||||
//@skip-check constructor-function-return-section
|
||||
|
||||
#Use "./internal"
|
||||
#Use "../../../formats/janx"
|
||||
|
||||
|
||||
#Region Internal
|
||||
@@ -1224,10 +1223,10 @@ Function ProcessRecordsBatch(Val Module
|
||||
|
||||
Try
|
||||
|
||||
OPI_Janx.SerializeData(BlanksArray).Write(BlanksPath);
|
||||
OPI_AddIns.SerializeJanx(BlanksArray).Write(BlanksPath);
|
||||
|
||||
Initialization = Connection.BatchQuery(BlanksPath, KeysPath);
|
||||
Initialization = OPI_Tools.JsonToStructure(Initialization);
|
||||
Initialization = OPI_AddIns.DesrializeJanx(Initialization);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(BlanksPath, "Failed to delete query package file after installation");
|
||||
|
||||
@@ -1236,7 +1235,7 @@ Function ProcessRecordsBatch(Val Module
|
||||
EndIf;
|
||||
|
||||
JanxBD = New BinaryData(KeysPath);
|
||||
Keys = OPI_Janx.DeserializeData(JanxBD);
|
||||
Keys = OPI_AddIns.DesrializeJanx(JanxBD);
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(KeysPath, "Failed to delete key file after initialization");
|
||||
|
||||
@@ -1794,7 +1793,7 @@ Function InitializeQuery(Val Connector, Val QueryText, Val ForceResult)
|
||||
QueryKey = Connector.InitQuery(QueryText, ForceResult, False);
|
||||
EndIf;
|
||||
|
||||
QueryKey = OPI_Tools.JSONToStructure(QueryKey);
|
||||
QueryKey = OPI_AddIns.DesrializeJanx(QueryKey);
|
||||
|
||||
Return QueryKey;
|
||||
|
||||
@@ -1812,7 +1811,7 @@ Function SetQueryParams(Val Connector, Val QueryKey, Val Parameters)
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Try
|
||||
JanxBD = OPI_Janx.SerializeData(Parameters);
|
||||
JanxBD = OPI_AddIns.SerializeJanx(Parameters);
|
||||
JanxBD.Write(TFN);
|
||||
Except
|
||||
ErrInfo = ErrorDescription();
|
||||
@@ -1824,11 +1823,11 @@ Function SetQueryParams(Val Connector, Val QueryKey, Val Parameters)
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Failed to delete query parameters file after execution");
|
||||
|
||||
Else
|
||||
JanxParameters = OPI_Janx.SerializeData(Parameters);
|
||||
JanxParameters = OPI_AddIns.SerializeJanx(Parameters);
|
||||
Adding = Connector.SetParamsFromString(QueryKey, JanxParameters);
|
||||
EndIf;
|
||||
|
||||
Adding = OPI_Tools.JsonToStructure(Adding);
|
||||
Adding = OPI_AddIns.DesrializeJanx(Adding);
|
||||
|
||||
Return Adding;
|
||||
|
||||
@@ -1836,7 +1835,7 @@ EndFunction
|
||||
|
||||
Function ProcessQueryResult(Val Connector, Val QueryKey, Val ExecutionResult)
|
||||
|
||||
ExecutionResult = OPI_Tools.JsonToStructure(ExecutionResult);
|
||||
ExecutionResult = OPI_AddIns.DesrializeJanx(ExecutionResult);
|
||||
|
||||
If Not ExecutionResult["result"] Then
|
||||
|
||||
@@ -1859,18 +1858,18 @@ Function ProcessQueryResult(Val Connector, Val QueryKey, Val ExecutionResult)
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Result = Connector.GetResultAsFile(QueryKey, TFN);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
If Result["result"] Then
|
||||
JanxBD = New BinaryData(TFN);
|
||||
Result = OPI_Janx.DeserializeData(JanxBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(JanxBD);
|
||||
EndIf;
|
||||
|
||||
OPI_Tools.RemoveFileWithTry(TFN, "Failed to delete result file after execution");
|
||||
|
||||
Else
|
||||
ResultBD = Connector.GetResultAsString(QueryKey);
|
||||
Result = OPI_Janx.DeserializeData(ResultBD);
|
||||
Result = OPI_AddIns.DesrializeJanx(ResultBD);
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
|
||||
+6
-6
@@ -72,7 +72,7 @@ Function CreateConnection(Val SSHSettings, Val Proxy = "", Val Logging = Undefin
|
||||
If ValueIsFilled(SettingsString) Then
|
||||
|
||||
LogResult = Connector.SetLogger(SettingsString);
|
||||
LogResult = OPI_Tools.JsonToStructure(LogResult, False);
|
||||
LogResult = OPI_AddIns.DesrializeJanx(LogResult);
|
||||
|
||||
If Not LogResult[Result_] Then
|
||||
Return LogResult;
|
||||
@@ -93,7 +93,7 @@ Function CreateConnection(Val SSHSettings, Val Proxy = "", Val Logging = Undefin
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return ?(Result[Result_], Connector, Result);
|
||||
|
||||
@@ -121,7 +121,7 @@ Function ExecuteCommand(Val Connection, Val Command) Export
|
||||
OPI_TypeConversion.GetLine(Command);
|
||||
|
||||
Result = Connection.Execute(Command);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Output = Result["stdout"];
|
||||
|
||||
@@ -150,7 +150,7 @@ Function CloseConnection(Val Connection) Export
|
||||
EndIf;
|
||||
|
||||
Result = Connection.Disconnect();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return Result;
|
||||
@@ -322,7 +322,7 @@ Function SetSettings(Val Connector, Val SSHSettings)
|
||||
SettingsString = OPI_Tools.JSONString(SSHSettings);
|
||||
|
||||
Result = Connector.SetSettings(SettingsString);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
@@ -350,7 +350,7 @@ Function SetProxy(Val Connector, Val Proxy)
|
||||
ProxyString = OPI_Tools.JSONString(Proxy);
|
||||
|
||||
Result = Connector.SetProxy(ProxyString);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
Result = OPI_AddIns.DesrializeJanx(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@
|
||||
|
||||
Function GetHashSum() Export
|
||||
|
||||
LastBuildHash = "46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87";
|
||||
LastBuildHash = "4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8";
|
||||
|
||||
Return LastBuildHash;
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
|
||||
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
|
||||
+30
@@ -8,6 +8,7 @@
|
||||
{
|
||||
"name": "Public",
|
||||
"methods": [
|
||||
"CallFunction",
|
||||
"ExecuteCodeFromFile",
|
||||
"ExecuteCodeFromString"
|
||||
]
|
||||
@@ -57,6 +58,35 @@
|
||||
}
|
||||
],
|
||||
"region": "Public"
|
||||
},
|
||||
{
|
||||
"name": "CallFunction",
|
||||
"id": "CALLFUNCTION",
|
||||
"description": "Calls a Lua function with arguments passed as an array",
|
||||
"params": [
|
||||
{
|
||||
"name": "--lua",
|
||||
"types": "Arbitrary",
|
||||
"description": "Lua AddIn or Lua version to run",
|
||||
"default": null,
|
||||
"short": "-l"
|
||||
},
|
||||
{
|
||||
"name": "--func",
|
||||
"types": "String",
|
||||
"description": "Function name or path in module.func format",
|
||||
"default": null,
|
||||
"short": "-f"
|
||||
},
|
||||
{
|
||||
"name": "--args",
|
||||
"types": "Array",
|
||||
"description": "Call arguments (BinaryData allowed))",
|
||||
"default": "Empty value",
|
||||
"short": "-a"
|
||||
}
|
||||
],
|
||||
"region": "Public"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
Function GetHashSum() Export
|
||||
|
||||
LastBuildHash = "46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87";
|
||||
LastBuildHash = "4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8";
|
||||
|
||||
Return LastBuildHash;
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
Запись = Новый ЗаписьДанных(ПотокДанных);
|
||||
|
||||
Запись.ЗаписатьЦелое16(ВерсияФорматаJanx(), ПорядокБайтов.BigEndian);
|
||||
Запись.ЗаписатьЦелое32(РазмерJSON, ПорядокБайтов.BigEndian);
|
||||
Запись.ЗаписатьЦелое32(РазмерJSON , ПорядокБайтов.BigEndian);
|
||||
Запись.ЗаписатьЦелое32(МассивДвоичных.Количество(), ПорядокБайтов.BigEndian);
|
||||
Запись.Записать(JSONДД);
|
||||
|
||||
@@ -111,8 +111,8 @@
|
||||
ВызватьИсключение "Некорректный формат Janx: длина JSON выходит за границы данных";
|
||||
КонецЕсли;
|
||||
|
||||
JSONДанные = Чтение.Прочитать(РазмерJSON);
|
||||
БуферПриложения = Чтение.Прочитать().ПолучитьБуферДвоичныхДанных();
|
||||
JSONДанные = Чтение.Прочитать(РазмерJSON);
|
||||
БуферПриложения = Чтение.Прочитать().ПолучитьБуферДвоичныхДанных();
|
||||
Чтение.Закрыть();
|
||||
|
||||
ДеревоJSON = ПрочитатьJSONJanx(JSONДанные);
|
||||
@@ -224,10 +224,10 @@
|
||||
Функция ПрочитатьJSONJanx(Знач JSONДанные)
|
||||
|
||||
ЧтениеJSON = Новый ЧтениеJSON;
|
||||
|
||||
|
||||
ЧтениеJSON.ОткрытьПоток(JSONДанные.ОткрытьПотокДляЧтения(), "UTF-8"); // !OPI
|
||||
// !OInt ЧтениеJSON.УстановитьСтроку(ПолучитьСтрокуИзДвоичныхДанных(JSONДанные.ПолучитьДвоичныеДанные(), "UTF-8"));
|
||||
|
||||
|
||||
Возврат ПрочитатьJSON(ЧтениеJSON, Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -174,9 +174,9 @@
|
||||
// Вызывает функцию Lua с аргументами, переданными массивом
|
||||
//
|
||||
// Параметры:
|
||||
// Lua - Произвольный - Компонента Lua или версия Lua для запуска - lua
|
||||
// ИмяФункции - Строка - Имя функции или путь вида module.func - func
|
||||
// Аргументы - Массив - Аргументы вызова (допускаются ДвоичныеДанные) - args
|
||||
// Lua - Произвольный - Компонента Lua или версия Lua для запуска - lua
|
||||
// ИмяФункции - Строка - Имя функции или путь вида module.func - func
|
||||
// Аргументы - Массив - Аргументы вызова (допускаются ДвоичныеДанные) - args
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Результат вызова
|
||||
|
||||
@@ -399,7 +399,7 @@
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error", ТекстОшибки);
|
||||
Результат.Вставить("error" , ТекстОшибки);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(УдалятьСразу);
|
||||
Результат = ОбъектСервера.CloseConnection(IDСоединения, УдалятьСразу);
|
||||
КонецЕсли;
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
@@ -2791,6 +2791,10 @@
|
||||
"ВыполнитьКодИзФайла": {
|
||||
"addin_mode": "Ручной выбор режима подключения внешней компоненты (для 1С): Изолированно, НеИзолированно",
|
||||
"dontwait": "Создает фоновое задание и возвращает его данные (только для 1С и OneScript)"
|
||||
},
|
||||
"ВызватьФункцию": {
|
||||
"addin_mode": "Ручной выбор режима подключения внешней компоненты (для 1С): Изолированно, НеИзолированно",
|
||||
"dontwait": "Создает фоновое задание и возвращает его данные (только для 1С и OneScript)"
|
||||
}
|
||||
},
|
||||
"OPI_MongoDB": {
|
||||
|
||||
+1
-1
@@ -292,7 +292,7 @@
|
||||
Результат.Вставить("JanxДесериализацияБезBinМс", ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало);
|
||||
Результат.Вставить("JanxВосстановленноеБезBin" , JanxВосстановленное);
|
||||
|
||||
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
|
||||
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
|
||||
ЧтениеJanx.ПрочитатьЦелое16(ПорядокБайтов.BigEndian);
|
||||
РазмерJSONJanx = ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
|
||||
@@ -269,9 +269,9 @@
|
||||
Товар.Вставить("weight" , 700);
|
||||
Товар.Вставить("url" , "www.item.ru");
|
||||
|
||||
Товар.Добавить(Товар);
|
||||
Товары.Добавить(Товар);
|
||||
|
||||
Пакет.Вставить("items" , Товар);
|
||||
Пакет.Вставить("items" , Товары);
|
||||
Пакет.Вставить("number" , "bar-001");
|
||||
Пакет.Вставить("comment", "Упаковка");
|
||||
Пакет.Вставить("height" , 10);
|
||||
|
||||
@@ -293,12 +293,12 @@
|
||||
Результат.Вставить("JanxДесериализацияБезBinМс", ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало);
|
||||
Результат.Вставить("JanxВосстановленноеБезBin" , JanxВосстановленное);
|
||||
|
||||
БуферJanx = ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(JanxДанные);
|
||||
РазмерJSONJanx = БуферJanx.Получить(0) * 16777216
|
||||
+ БуферJanx.Получить(1) * 65536
|
||||
+ БуферJanx.Получить(2) * 256
|
||||
+ БуферJanx.Получить(3);
|
||||
Результат.Вставить("РазмерAppendix", JanxДанные.Размер() - 4 - РазмерJSONJanx);
|
||||
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
|
||||
ЧтениеJanx.ПрочитатьЦелое16(ПорядокБайтов.BigEndian);
|
||||
РазмерJSONJanx = ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
ЧтениеJanx.Закрыть();
|
||||
Результат.Вставить("РазмерAppendix", JanxДанные.Размер() - 10 - РазмерJSONJanx);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОбработатьCLI(Результат, "Janx", "Бенчмарк", , Исходное);
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
|
||||
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
|
||||
+2
-2
@@ -923,7 +923,7 @@
|
||||
Если OPI_GRPC.ЭтоКоннектор(Соединение) Тогда
|
||||
ЗакрыватьСоединение = Ложь;
|
||||
Коннектор = Соединение;
|
||||
НастройкиСоединения = OPI_Инструменты.JsonВСтруктуру(Коннектор.GetSettings());
|
||||
НастройкиСоединения = OPI_Компоненты.ДесериализоватьJanx(Коннектор.GetSettings());
|
||||
Иначе
|
||||
ЗакрыватьСоединение = Истина;
|
||||
Коннектор = ОткрытьСоединениеGRPC(Соединение);
|
||||
@@ -957,7 +957,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если OPI_GRPC.ЭтоКоннектор(Соединение) Тогда
|
||||
НастройкиСоединения = OPI_Инструменты.JsonВСтруктуру(Соединение.GetSettings());
|
||||
НастройкиСоединения = OPI_Компоненты.ДесериализоватьJanx(Соединение.GetSettings());
|
||||
Иначе
|
||||
НастройкиСоединения = Соединение;
|
||||
КонецЕсли;
|
||||
|
||||
+22
-22
@@ -107,7 +107,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Коннектор.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога[Result_] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -116,7 +116,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JSONВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат ?(Результат[Result_], Коннектор, Результат);
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Соединение.Close();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Результат;
|
||||
@@ -191,7 +191,7 @@
|
||||
Возврат Соединение;
|
||||
Иначе
|
||||
Результат = Соединение.GetWelcomeMsg();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
@@ -221,7 +221,7 @@
|
||||
Возврат Соединение;
|
||||
Иначе
|
||||
Результат = Соединение.GetFeatures();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
@@ -283,7 +283,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекстКоманды);
|
||||
|
||||
Результат = Соединение.ExecuteCommand(ТекстКоманды);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекстКоманды);
|
||||
|
||||
Результат = Соединение.ExecuteStandardCommand(ТекстКоманды);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -350,7 +350,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.GetObjectSize(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -388,7 +388,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(НовыйПуть);
|
||||
|
||||
Результат = Соединение.RenameObject(Путь, НовыйПуть);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -581,7 +581,7 @@
|
||||
Путь = ?(Путь = ".", "", Путь);
|
||||
|
||||
Результат = Соединение.ListDirectory(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если Результат["result"] Тогда
|
||||
|
||||
@@ -626,7 +626,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.MakeDirectory(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -690,7 +690,7 @@
|
||||
Возврат Соединение;
|
||||
Иначе
|
||||
Результат = Соединение.GetCurrentDirectory();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
@@ -724,7 +724,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.ChangeCurrentDirectory(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -799,7 +799,7 @@
|
||||
Результат = СоединениеОбработки.UploadFile(Файл, Путь);
|
||||
КонецЕсли;
|
||||
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -834,7 +834,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.RemoveFile(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -873,7 +873,7 @@
|
||||
OPI_Инструменты.ВернутьУправляющиеПоследовательности(ИмяФайла);
|
||||
|
||||
Результат = Соединение.DownloadToFile(Путь, ИмяФайла);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -917,7 +917,7 @@
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Результат = Соединение.DownloadToFile(Путь, ИВФ);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если Результат["result"] Тогда
|
||||
|
||||
@@ -932,7 +932,7 @@
|
||||
Данные = Соединение.DownloadToBuffer(Путь);
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Строка") Тогда
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Данные);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Данные);
|
||||
Иначе
|
||||
Возврат Данные;
|
||||
КонецЕсли;
|
||||
@@ -965,7 +965,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.UpdateSettings(Настройки);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -987,7 +987,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.UpdateProxy(Настройки);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -1121,7 +1121,7 @@
|
||||
|
||||
Если Не Основной Или УдалятьТекущую Тогда
|
||||
Результат = Соединение.RemoveDirectory(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
Иначе
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Истина);
|
||||
@@ -1157,7 +1157,7 @@
|
||||
Функция ПолучитьКопиюСоединения(Знач Соединение)
|
||||
|
||||
Конфигурация = Соединение.GetConfiguration();
|
||||
Конфигурация = OPI_Инструменты.JSONВСтруктуру(Конфигурация);
|
||||
Конфигурация = OPI_Компоненты.ДесериализоватьJanx(Конфигурация);
|
||||
|
||||
Если Не Конфигурация["result"] Тогда
|
||||
Возврат Конфигурация;
|
||||
|
||||
+18
-19
@@ -52,7 +52,6 @@
|
||||
|
||||
#Использовать "../../../tools/main"
|
||||
#Использовать "../../../tools/http"
|
||||
#Использовать "../../../formats/janx"
|
||||
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
@@ -105,7 +104,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Коннектор.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -120,7 +119,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JSONВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(Результат, "result", Ложь) Тогда
|
||||
Возврат Результат;
|
||||
@@ -161,7 +160,7 @@
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
Результат = Соединение.Disconnect();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -202,7 +201,7 @@
|
||||
МетаданныеСтрокой = OPI_Инструменты.JSONСтрокой(Метаданные);
|
||||
|
||||
Результат = Соединение.SetMetadata(МетаданныеСтрокой);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -241,9 +240,9 @@
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураВызова = СформироватьСтрокуВызова(Коннектор, Сервис, Метод, Таймаут, Запрос);
|
||||
ВызовДД = OPI_Janx.СериализоватьДанные(СтруктураВызова);
|
||||
ВызовДД = OPI_Компоненты.СериализоватьJanx(СтруктураВызова);
|
||||
РезультатДД = Коннектор.Call(ВызовДД);
|
||||
Результат = OPI_Janx.ДесериализоватьДанные(РезультатДД);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(РезультатДД);
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
ЗакрытьСоединение(Коннектор);
|
||||
@@ -396,7 +395,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.ListServices();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
ЗакрытьСоединение(Коннектор);
|
||||
@@ -433,7 +432,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Сервис);
|
||||
|
||||
Результат = Коннектор.ListMethods(Сервис);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
ЗакрытьСоединение(Коннектор);
|
||||
@@ -472,7 +471,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод);
|
||||
|
||||
Результат = Коннектор.GetMethodInfo(Сервис, Метод);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
ЗакрытьСоединение(Коннектор);
|
||||
@@ -573,10 +572,10 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПотока);
|
||||
|
||||
ОбработанныйЗапрос = ОбработатьЗапросПередОтправкой(Соединение, Запрос);
|
||||
ЗапросДД = OPI_Janx.СериализоватьДанные(ОбработанныйЗапрос);
|
||||
ЗапросДД = OPI_Компоненты.СериализоватьJanx(ОбработанныйЗапрос);
|
||||
|
||||
Результат = Соединение.SendMessage(IDПотока, ЗапросДД);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -606,7 +605,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПотока);
|
||||
|
||||
РезультатДД = Соединение.GetNextMessage(IDПотока);
|
||||
Результат = OPI_Janx.ДесериализоватьДанные(РезультатДД);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(РезультатДД);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -636,7 +635,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПотока);
|
||||
|
||||
Результат = Соединение.FinishSending(IDПотока);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -666,7 +665,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПотока);
|
||||
|
||||
Результат = Соединение.CloseStream(IDПотока);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -960,7 +959,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийКонтент, Истина);
|
||||
|
||||
Результат = Коннектор.LoadProto(Proto.Ключ, ТекущийКонтент);
|
||||
Результат = OPI_Инструменты.JSONВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если Не Результат["result"] Тогда
|
||||
Возврат Результат;
|
||||
@@ -969,7 +968,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
Результат = Коннектор.CompileProtos();
|
||||
Результат = OPI_Инструменты.JSONВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Иначе
|
||||
Результат = Новый Структура("result", Истина);
|
||||
@@ -1038,7 +1037,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураВызова = СформироватьСтрокуВызова(Соединение, Сервис, Метод, Таймаут, Запрос);
|
||||
ВызовДД = OPI_Janx.СериализоватьДанные(СтруктураВызова);
|
||||
ВызовДД = OPI_Компоненты.СериализоватьJanx(СтруктураВызова);
|
||||
|
||||
Если Вид = "client" Тогда
|
||||
Результат = Соединение.StartClientStream(ВызовДД);
|
||||
@@ -1048,7 +1047,7 @@
|
||||
Результат = Соединение.StartBidiStream(ВызовДД);
|
||||
КонецЕсли;
|
||||
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
+8
-8
@@ -89,7 +89,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Компонента.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -173,9 +173,9 @@
|
||||
// Вызывает функцию Lua с аргументами, переданными массивом
|
||||
//
|
||||
// Параметры:
|
||||
// Lua - Произвольный - Компонента Lua или версия Lua для запуска - lua
|
||||
// ИмяФункции - Строка - Имя функции или путь вида module.func - func
|
||||
// Аргументы - Массив - Аргументы вызова (допускаются ДвоичныеДанные) - args
|
||||
// Lua - Произвольный - Компонента Lua или версия Lua для запуска - lua
|
||||
// ИмяФункции - Строка - Имя функции или путь вида module.func - func
|
||||
// Аргументы - Массив - Аргументы вызова (допускаются ДвоичныеДанные) - args
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Результат вызова
|
||||
@@ -195,7 +195,7 @@
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Аргументы);
|
||||
|
||||
АргументыДД = OPI_Janx.СериализоватьДанные(Аргументы);
|
||||
АргументыДД = OPI_Компоненты.СериализоватьJanx(Аргументы);
|
||||
РезультатДД = Компонента.CallFunction(ИмяФункции, АргументыДД);
|
||||
|
||||
Возврат РезультатИзJanx(РезультатДД);
|
||||
@@ -225,7 +225,7 @@
|
||||
|
||||
Функция РезультатИзJanx(Знач ДанныеJanx)
|
||||
|
||||
Результат = OPI_Janx.ДесериализоватьДанные(ДанныеJanx);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(ДанныеJanx);
|
||||
|
||||
Если Не Результат["result"] Тогда
|
||||
ВызватьИсключение Результат["error"];
|
||||
@@ -253,8 +253,8 @@ Function ExecuteCodeFromFile(Val Lua, Val Path) Export
|
||||
Return ВыполнитьКодИзФайла(Lua, Path);
|
||||
EndFunction
|
||||
|
||||
Function CallFunction(Val Lua, Val FunctionName, Val Args = Undefined) Export
|
||||
Return ВызватьФункцию(Lua, FunctionName, Args);
|
||||
Function CallFunction(Val Lua, Val FunctionName, Val Arguments = Undefined) Export
|
||||
Return ВызватьФункцию(Lua, FunctionName, Arguments);
|
||||
EndFunction
|
||||
|
||||
Function IsVM(Val Value) Export
|
||||
|
||||
+5
-6
@@ -49,7 +49,6 @@
|
||||
|
||||
#Использовать "../../../tools/main"
|
||||
#Использовать "../../../tools/http"
|
||||
#Использовать "../../../formats/janx"
|
||||
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
@@ -91,7 +90,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Коннектор.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -102,7 +101,7 @@
|
||||
Коннектор.ConnectionString = СтрокаПодключения;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
@@ -121,7 +120,7 @@
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
Результат = Соединение.Disconnect();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -265,10 +264,10 @@
|
||||
СтруктураОперации.Вставить("data", ОбработанныеДанные);
|
||||
КонецЕсли;
|
||||
|
||||
ОперацияJanx = OPI_Janx.СериализоватьДанные(СтруктураОперации);
|
||||
ОперацияJanx = OPI_Компоненты.СериализоватьJanx(СтруктураОперации);
|
||||
|
||||
РезультатДД = Коннектор.Execute(ОперацияJanx);
|
||||
Результат = OPI_Janx.ДесериализоватьДанные(РезультатДД);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(РезультатДД);
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
ЗакрытьСоединение(Коннектор);
|
||||
|
||||
+3
-3
@@ -90,7 +90,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Коннектор.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -107,7 +107,7 @@
|
||||
Коннектор.ConnectionString = СтрокаПодключения;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
Результат = Соединение.Close();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
+3
-3
@@ -90,7 +90,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Коннектор.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -107,7 +107,7 @@
|
||||
Коннектор.ConnectionString = СтрокаПодключения;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
Результат = Соединение.Close();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
+3
-3
@@ -90,7 +90,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Коннектор.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -107,7 +107,7 @@
|
||||
Коннектор.ConnectionString = СтрокаПодключения;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
Результат = Соединение.Close();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
+3
-3
@@ -94,7 +94,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Коннектор.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -113,7 +113,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(ТаймаутЗаписи);
|
||||
|
||||
Результат = Коннектор.Connect(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Команда);
|
||||
|
||||
Результат = Коннектор.Command(Команда);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
+12
-12
@@ -72,7 +72,7 @@
|
||||
|
||||
Если ЭтоКоннектор(СоединениеSSH) Тогда
|
||||
Результат = СоединениеSSH.ToSFTP();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
Иначе
|
||||
Возврат СоединениеSSH;
|
||||
КонецЕсли;
|
||||
@@ -140,7 +140,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Перезаписывать);
|
||||
|
||||
Результат = Соединение.RenameObject(Путь, НовыйПуть, Перезаписывать);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.ListDirectory(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
ОбработатьРезультатПолученияСписка(Результат, Соединение, Рекурсивно);
|
||||
|
||||
@@ -329,7 +329,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.MakeDirectory(Путь, Права);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -363,7 +363,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.RemoveDirectory(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -462,7 +462,7 @@
|
||||
Результат = Соединение.UploadFile(Файл, Путь);
|
||||
КонецЕсли;
|
||||
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -494,7 +494,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.RemoveFile(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -530,7 +530,7 @@
|
||||
OPI_Инструменты.ВернутьУправляющиеПоследовательности(ИмяФайла);
|
||||
|
||||
Результат = Соединение.DownloadToFile(Путь, ИмяФайла);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -571,7 +571,7 @@
|
||||
// BSLLS:MissingTemporaryFileDeletion-on
|
||||
|
||||
Результат = Соединение.DownloadToFile(Путь, ИВФ);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если Результат["result"] Тогда
|
||||
|
||||
@@ -586,7 +586,7 @@
|
||||
Данные = Соединение.DownloadToBuffer(Путь);
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Строка") Тогда
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Данные);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Данные);
|
||||
Иначе
|
||||
Возврат Данные;
|
||||
КонецЕсли;
|
||||
@@ -623,7 +623,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
|
||||
Результат = Соединение.GetFileInfo(Путь);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -661,7 +661,7 @@
|
||||
Если Не ЭтоSFTP Тогда
|
||||
|
||||
Результат = Соединение.ToSFTP();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
Соединение = ?(Результат["result"], Соединение, Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
+4
-4
@@ -88,7 +88,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = Коннектор.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -99,7 +99,7 @@
|
||||
Коннектор.Database = База;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
Результат = Соединение.Close();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -245,7 +245,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.LoadExtension(ПутьКФайлу, ТочкаВхода);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если Временный Тогда
|
||||
|
||||
|
||||
+10
-9
@@ -128,7 +128,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = TCPКлиент.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Janx.ДесериализоватьДанные(РезультатЛога);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -137,7 +137,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Успех = TCPКлиент.SetAddress(Адрес);
|
||||
Успех = OPI_Janx.ДесериализоватьДанные(Успех);
|
||||
Успех = OPI_Компоненты.ДесериализоватьJanx(Успех);
|
||||
|
||||
Если Не Успех["result"] Тогда
|
||||
Возврат Успех;
|
||||
@@ -155,7 +155,7 @@
|
||||
ПроксиСтрокой = OPI_Инструменты.JSONСтрокой(Прокси);
|
||||
|
||||
Установка = TCPКлиент.SetProxySettings(ПроксиСтрокой);
|
||||
Установка = OPI_Инструменты.JsonВСтруктуру(Установка);
|
||||
Установка = OPI_Компоненты.ДесериализоватьJanx(Установка);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(Установка, "result", Ложь) Тогда
|
||||
Возврат Установка;
|
||||
@@ -393,15 +393,16 @@
|
||||
// Соответствие Из КлючИЗначение, Неопределено - Информация об ошибке или неопределено, если ошибки нет
|
||||
Функция ПолучитьПоследнююОшибку(Знач Соединение) Экспорт
|
||||
|
||||
Результат = Соединение.GetLastError();
|
||||
ТекстОшибки = Соединение.GetLastError();
|
||||
|
||||
Если ЗначениеЗаполнено(Результат) Тогда
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Иначе
|
||||
Результат = Неопределено;
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , ТекстОшибки);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+10
-11
@@ -48,7 +48,6 @@
|
||||
|
||||
#Использовать "../../../tools/main"
|
||||
#Использовать "../../../tools/http"
|
||||
#Использовать "../../../formats/janx"
|
||||
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
@@ -130,7 +129,7 @@
|
||||
ПроксиСтрокой = OPI_Инструменты.JSONСтрокой(Прокси);
|
||||
|
||||
Установка = WSКлиент.SetProxySettings(ПроксиСтрокой);
|
||||
Установка = OPI_Инструменты.JsonВСтруктуру(Установка);
|
||||
Установка = OPI_Компоненты.ДесериализоватьJanx(Установка);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(Установка, "result", Ложь) Тогда
|
||||
Возврат Установка;
|
||||
@@ -145,7 +144,7 @@
|
||||
СтрокаНастроек = OPI_Инструменты.JSONСтрокой(Логирование);
|
||||
|
||||
РезультатЛога = WSКлиент.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога, Ложь);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -160,7 +159,7 @@
|
||||
|
||||
ЗаголовкиСтрокой = OPI_Инструменты.JSONСтрокой(Заголовки);
|
||||
Результат = WSКлиент.SetHeaders(ЗаголовкиСтрокой);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(Результат, "result", Ложь) Тогда
|
||||
Возврат Результат;
|
||||
@@ -169,7 +168,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = WSКлиент.Connect(Адрес);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат ?(Результат["result"], WSКлиент, Результат);
|
||||
|
||||
@@ -193,7 +192,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Причина);
|
||||
|
||||
Результат = Соединение.Close(Код, Причина);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -227,7 +226,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Соединение.SendPing();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -254,7 +253,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Соединение.SendPong();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -284,7 +283,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
||||
|
||||
РезультатДД = Соединение.ReceiveMessage(Таймаут);
|
||||
Результат = OPI_Janx.ДесериализоватьДанные(РезультатДД);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(РезультатДД);
|
||||
|
||||
ТипСообщения = OPI_Инструменты.ПолучитьИли(Результат, "type", "");
|
||||
Данные = OPI_Инструменты.ПолучитьИли(Результат, "data", "");
|
||||
@@ -332,7 +331,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст, Истина);
|
||||
|
||||
Результат = Соединение.SendText(Текст);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -362,7 +361,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные, Истина);
|
||||
|
||||
Результат = Соединение.SendBinary(Данные);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
+6
-7
@@ -48,7 +48,6 @@
|
||||
|
||||
#Использовать "../../../tools/main"
|
||||
#Использовать "../../../tools/http"
|
||||
#Использовать "../../../formats/janx"
|
||||
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
@@ -265,7 +264,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Соединение.Send(Данные, Таймаут);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -302,7 +301,7 @@
|
||||
|
||||
РезультатДД = Соединение.Recv(Таймаут);
|
||||
|
||||
Возврат OPI_Janx.ДесериализоватьДанные(РезультатДД);
|
||||
Возврат OPI_Компоненты.ДесериализоватьJanx(РезультатДД);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -358,7 +357,7 @@
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Префикс);
|
||||
|
||||
Результат = Соединение.Subscribe(Префикс);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -385,7 +384,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Соединение.Close();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -437,7 +436,7 @@
|
||||
Если ЗначениеЗаполнено(СтрокаНастроек) Тогда
|
||||
|
||||
РезультатЛога = ZMQ.SetLogger(СтрокаНастроек);
|
||||
РезультатЛога = OPI_Инструменты.JsonВСтруктуру(РезультатЛога);
|
||||
РезультатЛога = OPI_Компоненты.ДесериализоватьJanx(РезультатЛога);
|
||||
|
||||
Если Не РезультатЛога["result"] Тогда
|
||||
Возврат РезультатЛога;
|
||||
@@ -473,7 +472,7 @@
|
||||
ВызватьИсключение "Неподдерживаемый вид инициализации ZMQ!"
|
||||
КонецЕсли;
|
||||
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
Результат = OPI_Компоненты.ДесериализоватьJanx(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
+10
-28
@@ -65,7 +65,7 @@
|
||||
Запись = Новый ЗаписьДанных(ПотокДанных);
|
||||
|
||||
Запись.ЗаписатьЦелое16(ВерсияФорматаJanx(), ПорядокБайтов.BigEndian);
|
||||
Запись.ЗаписатьЦелое32(РазмерJSON, ПорядокБайтов.BigEndian);
|
||||
Запись.ЗаписатьЦелое32(РазмерJSON , ПорядокБайтов.BigEndian);
|
||||
Запись.ЗаписатьЦелое32(МассивДвоичных.Количество(), ПорядокБайтов.BigEndian);
|
||||
Запись.Записать(JSONДД);
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
ВызватьИсключение "Некорректный формат Janx: длина JSON выходит за границы данных";
|
||||
КонецЕсли;
|
||||
|
||||
JSONДанные = Чтение.Прочитать(РазмерJSON).ПолучитьДвоичныеДанные();
|
||||
JSONДанные = Чтение.Прочитать(РазмерJSON);
|
||||
БуферПриложения = Чтение.Прочитать().ПолучитьБуферДвоичныхДанных();
|
||||
Чтение.Закрыть();
|
||||
|
||||
@@ -223,7 +223,9 @@
|
||||
Функция ПрочитатьJSONJanx(Знач JSONДанные)
|
||||
|
||||
ЧтениеJSON = Новый ЧтениеJSON;
|
||||
ЧтениеJSON.ОткрытьПоток(JSONДанные.ОткрытьПотокДляЧтения(), "UTF-8");
|
||||
|
||||
ЧтениеJSON.УстановитьСтроку(ПолучитьСтрокуИзДвоичныхДанных(JSONДанные.ПолучитьДвоичныеДанные(), "UTF-8"));
|
||||
|
||||
Возврат ПрочитатьJSON(ЧтениеJSON, Истина);
|
||||
|
||||
КонецФункции
|
||||
@@ -258,7 +260,7 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипДанных = Тип("Структура") Или ТипДанных = Тип("Соответствие") Тогда
|
||||
Если ТипДанных = Тип("Соответствие") Тогда
|
||||
|
||||
Результат = Новый(ТипДанных);
|
||||
|
||||
@@ -277,38 +279,18 @@
|
||||
|
||||
Функция НужноИскатьМаркерJanx(Знач Данные, Контекст)
|
||||
|
||||
Если Контекст.МаркеровВосстановлено >= Контекст.МаркеровВсего Тогда
|
||||
Если Контекст.МаркеровВосстановлено = Контекст.МаркеровВсего Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ТипДанных = ТипЗнч(Данные);
|
||||
|
||||
Возврат ТипДанных = Тип("Структура") Или ТипДанных = Тип("Соответствие");
|
||||
Возврат ТипЗнч(Данные) = Тип("Соответствие");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПопытатьсяПолучитьМаркерJanx(Знач Данные, ЗначениеМаркера)
|
||||
|
||||
ЗначениеМаркера = Неопределено;
|
||||
Ключ = КлючМаркераБинарныхJanx();
|
||||
ТипДанных = ТипЗнч(Данные);
|
||||
|
||||
Если ТипДанных = Тип("Структура") Тогда
|
||||
|
||||
Если Данные.Свойство(Ключ, ЗначениеМаркера) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли ТипДанных = Тип("Соответствие") Тогда
|
||||
|
||||
Если Данные.Получить(Ключ) <> Неопределено Тогда
|
||||
ЗначениеМаркера = Данные[Ключ];
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
ЗначениеМаркера = Данные.Получить(КлючМаркераБинарныхJanx());
|
||||
Возврат ЗначениеМаркера <> Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -2791,6 +2791,10 @@
|
||||
"ВыполнитьКодИзФайла": {
|
||||
"addin_mode": "Ручной выбор режима подключения внешней компоненты (для 1С): Изолированно, НеИзолированно",
|
||||
"dontwait": "Создает фоновое задание и возвращает его данные (только для 1С и OneScript)"
|
||||
},
|
||||
"ВызватьФункцию": {
|
||||
"addin_mode": "Ручной выбор режима подключения внешней компоненты (для 1С): Изолированно, НеИзолированно",
|
||||
"dontwait": "Создает фоновое задание и возвращает его данные (только для 1С и OneScript)"
|
||||
}
|
||||
},
|
||||
"OPI_MongoDB": {
|
||||
|
||||
+2
-2
@@ -257,9 +257,9 @@
|
||||
Товар.Вставить("weight" , 700);
|
||||
Товар.Вставить("url" , "www.item.ru");
|
||||
|
||||
Товар.Добавить(Товар);
|
||||
Товары.Добавить(Товар);
|
||||
|
||||
Пакет.Вставить("items" , Товар);
|
||||
Пакет.Вставить("items" , Товары);
|
||||
Пакет.Вставить("number" , "bar-001");
|
||||
Пакет.Вставить("comment", "Упаковка");
|
||||
Пакет.Вставить("height" , 10);
|
||||
|
||||
+1
-1
@@ -291,7 +291,7 @@
|
||||
Результат.Вставить("JanxДесериализацияБезBinМс", ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало);
|
||||
Результат.Вставить("JanxВосстановленноеБезBin" , JanxВосстановленное);
|
||||
|
||||
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
|
||||
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
|
||||
ЧтениеJanx.ПрочитатьЦелое16(ПорядокБайтов.BigEndian);
|
||||
РазмерJSONJanx = ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
|
||||
+2
-2
@@ -269,9 +269,9 @@
|
||||
Товар.Вставить("weight" , 700);
|
||||
Товар.Вставить("url" , "www.item.ru");
|
||||
|
||||
Товар.Добавить(Товар);
|
||||
Товары.Добавить(Товар);
|
||||
|
||||
Пакет.Вставить("items" , Товар);
|
||||
Пакет.Вставить("items" , Товары);
|
||||
Пакет.Вставить("number" , "bar-001");
|
||||
Пакет.Вставить("comment", "Упаковка");
|
||||
Пакет.Вставить("height" , 10);
|
||||
|
||||
+6
-6
@@ -293,12 +293,12 @@
|
||||
Результат.Вставить("JanxДесериализацияБезBinМс", ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало);
|
||||
Результат.Вставить("JanxВосстановленноеБезBin" , JanxВосстановленное);
|
||||
|
||||
БуферJanx = ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(JanxДанные);
|
||||
РазмерJSONJanx = БуферJanx.Получить(0) * 16777216
|
||||
+ БуферJanx.Получить(1) * 65536
|
||||
+ БуферJanx.Получить(2) * 256
|
||||
+ БуферJanx.Получить(3);
|
||||
Результат.Вставить("РазмерAppendix", JanxДанные.Размер() - 4 - РазмерJSONJanx);
|
||||
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
|
||||
ЧтениеJanx.ПрочитатьЦелое16(ПорядокБайтов.BigEndian);
|
||||
РазмерJSONJanx = ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
ЧтениеJanx.Закрыть();
|
||||
Результат.Вставить("РазмерAppendix", JanxДанные.Размер() - 10 - РазмерJSONJanx);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОбработатьCLI(Результат, "Janx", "Бенчмарк", , Исходное);
|
||||
|
||||
|
||||
+10
-6
@@ -15204,13 +15204,17 @@
|
||||
|
||||
Процедура ПроверитьПрефиксJanx(Знач Данные)
|
||||
|
||||
Буфер = ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(Данные);
|
||||
РазмерJSON = Буфер.Получить(0) * 16777216
|
||||
+ Буфер.Получить(1) * 65536
|
||||
+ Буфер.Получить(2) * 256
|
||||
+ Буфер.Получить(3);
|
||||
Чтение = Новый ЧтениеДанных(Данные);
|
||||
|
||||
ОжидаетЧто(4 + РазмерJSON <= Данные.Размер()).Равно(Истина);
|
||||
ОжидаетЧто(Чтение.ПрочитатьЦелое16(ПорядокБайтов.BigEndian)).Равно(1);
|
||||
|
||||
РазмерJSON = Чтение.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
|
||||
|
||||
ОжидаетЧто(Чтение.ПрочитатьЦелое32(ПорядокБайтов.BigEndian) >= 0).Равно(Истина);
|
||||
|
||||
Чтение.Закрыть();
|
||||
|
||||
ОжидаетЧто(10 + РазмерJSON <= Данные.Размер()).Равно(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user