Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2026-06-01 21:48:48 +03:00
parent 0ccebf1495
commit cdb7e9ae34
107 changed files with 12296 additions and 11995 deletions
+1 -1
View File
@@ -1 +1 @@
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
+2 -2
View File
@@ -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);
+6 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 | &#x2714; | Lua AddIn or Lua version to run |
| FunctionName | --func | String | &#x2714; | Function name or path in module.func format |
| Arguments | --args | Array | &#x2716; | 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/>
+1 -1
View File
@@ -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
View File
@@ -49,9 +49,9 @@
Товар.Вставить("weight" , 700);
Товар.Вставить("url" , "www.item.ru");
Товар.Добавить(Товар);
Товары.Добавить(Товар);
Пакет.Вставить("items" , Товар);
Пакет.Вставить("items" , Товары);
Пакет.Вставить("number" , "bar-001");
Пакет.Вставить("comment", "Упаковка");
Пакет.Вставить("height" , 10);
+6 -6
View File
@@ -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
View File
@@ -107,9 +107,9 @@ import Admonition from '@theme/Admonition';
Товар.Вставить("weight" , 700);
Товар.Вставить("url" , "www.item.ru");
Товар.Добавить(Товар);
Товары.Добавить(Товар);
Пакет.Вставить("items" , Товар);
Пакет.Вставить("items" , Товары);
Пакет.Вставить("number" , "bar-001");
Пакет.Вставить("comment", "Упаковка");
Пакет.Вставить("height" , 10);
+59
View File
@@ -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 | Произвольный | &#x2714; | Компонента Lua или версия Lua для запуска |
| ИмяФункции | --func | Строка | &#x2714; | Имя функции или путь вида module.func |
| Аргументы | --args | Массив | &#x2716; | Аргументы вызова (допускаются ДвоичныеДанные) |
<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/>
+1 -1
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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;
@@ -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;
@@ -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
View File
@@ -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
View File
@@ -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);
+2 -2
View File
@@ -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
View File
@@ -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);
+1 -1
View File
@@ -1 +1 @@
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+4
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
@@ -32,7 +32,7 @@
Function GetHashSum() Export
LastBuildHash = "46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87";
LastBuildHash = "4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8";
Return LastBuildHash;
+1 -1
View File
@@ -1 +1 @@
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
+30
View File
@@ -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
View File
@@ -292,7 +292,7 @@
Результат.Вставить("JanxДесериализацияБезBinМс", ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало);
Результат.Вставить("JanxВосстановленноеБезBin" , JanxВосстановленное);
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
ЧтениеJanx = Новый ЧтениеДанных(JanxДанные);
ЧтениеJanx.ПрочитатьЦелое16(ПорядокБайтов.BigEndian);
РазмерJSONJanx = ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
ЧтениеJanx.ПрочитатьЦелое32(ПорядокБайтов.BigEndian);
+2 -2
View File
@@ -269,9 +269,9 @@
Товар.Вставить("weight" , 700);
Товар.Вставить("url" , "www.item.ru");
Товар.Добавить(Товар);
Товары.Добавить(Товар);
Пакет.Вставить("items" , Товар);
Пакет.Вставить("items" , Товары);
Пакет.Вставить("number" , "bar-001");
Пакет.Вставить("comment", "Упаковка");
Пакет.Вставить("height" , 10);
+6 -6
View File
@@ -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", "Бенчмарк", , Исходное);
+1 -1
View File
@@ -1 +1 @@
46EA9859F6DB8FCF0CC0F669EA34BB4DAB0946A55CE222FDEC03B34BA7FA8E87
4440B74CAA890251F9BAD7B8BBB4654A27429E8414E451E19F3C97CC7C5F34A8
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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());
Возврат ЗначениеМаркера <> Неопределено;
КонецФункции
+4
View File
@@ -2791,6 +2791,10 @@
"ВыполнитьКодИзФайла": {
"addin_mode": "Ручной выбор режима подключения внешней компоненты (для 1С): Изолированно, НеИзолированно",
"dontwait": "Создает фоновое задание и возвращает его данные (только для 1С и OneScript)"
},
"ВызватьФункцию": {
"addin_mode": "Ручной выбор режима подключения внешней компоненты (для 1С): Изолированно, НеИзолированно",
"dontwait": "Создает фоновое задание и возвращает его данные (только для 1С и OneScript)"
}
},
"OPI_MongoDB": {
+2 -2
View File
@@ -257,9 +257,9 @@
Товар.Вставить("weight" , 700);
Товар.Вставить("url" , "www.item.ru");
Товар.Добавить(Товар);
Товары.Добавить(Товар);
Пакет.Вставить("items" , Товар);
Пакет.Вставить("items" , Товары);
Пакет.Вставить("number" , "bar-001");
Пакет.Вставить("comment", "Упаковка");
Пакет.Вставить("height" , 10);
+1 -1
View File
@@ -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
View File
@@ -269,9 +269,9 @@
Товар.Вставить("weight" , 700);
Товар.Вставить("url" , "www.item.ru");
Товар.Добавить(Товар);
Товары.Добавить(Товар);
Пакет.Вставить("items" , Товар);
Пакет.Вставить("items" , Товары);
Пакет.Вставить("number" , "bar-001");
Пакет.Вставить("comment", "Упаковка");
Пакет.Вставить("height" , 10);
+6 -6
View File
@@ -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
View File
@@ -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