1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-26 05:37:27 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2025-01-04 00:54:05 +03:00
parent ffc4661df8
commit aa3d913382
31 changed files with 6452 additions and 6218 deletions

View File

@ -0,0 +1,3 @@
{
"Base": "C:\\Users\\Administrator\\AppData\\Local\\Temp\\v8_3590_23.sqlite"
}

View File

@ -4,7 +4,7 @@
PictureFile = GetTempFileName("png");
Image.Write(PictureFile); // PictureFile - File to disk
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Table = "test";
DataArray = New Array;

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Table = "test";
ColoumnsStruct = New Structure;

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Table = "test";
Fields = New Array;

View File

@ -0,0 +1,20 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Table = "test";
FieldsStructure = New Structure;
FieldsStructure.Insert("name" , "Vitaly A.");
FieldsStructure.Insert("salary", "999999");
Filters = New Array;
FilterStructure = New Structure;
FilterStructure.Insert("field", "name");
FilterStructure.Insert("type" , "=");
FilterStructure.Insert("value", "Vitaly");
FilterStructure.Insert("union", "AND");
FilterStructure.Insert("raw" , False);
Filters.Add(FilterStructure);
Result = OPI_SQLite.UpdateRecords(Table, FieldsStructure, FilterStructure, Base);

View File

@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
PictureFile = GetTempFileName("png");
Image.Write(PictureFile); // PictureFile - File to disk
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Table = "test";
DataArray = New Array;

View File

@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Table = "test";
ColoumnsStruct = New Structure;

View File

@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Table = "test";
Fields = New Array;

View File

@ -28,7 +28,26 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Table = "test";
FieldsStructure = New Structure;
FieldsStructure.Insert("name" , "Vitaly A.");
FieldsStructure.Insert("salary", "999999");
Filters = New Array;
FilterStructure = New Structure;
FilterStructure.Insert("field", "name");
FilterStructure.Insert("type" , "=");
FilterStructure.Insert("value", "Vitaly");
FilterStructure.Insert("union", "AND");
FilterStructure.Insert("raw" , False);
Filters.Add(FilterStructure);
Result = OPI_SQLite.UpdateRecords(Table, FieldsStructure, FilterStructure, Base);
```

View File

@ -0,0 +1,3 @@
{
"База": "C:\\Users\\Administrator\\AppData\\Local\\Temp\\v8_3590_23.sqlite"
}

View File

@ -4,7 +4,7 @@
ФайлКартинки = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ФайлКартинки); // ФайлКартинки - Файл на диске
База = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test";
МассивДанных = Новый Массив;

View File

@ -0,0 +1,20 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test";
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("name" , "Vitaly A.");
СтруктураПолей.Вставить("salary", "999999");
Фильтры = Новый Массив;
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("field", "name");
СтруктураФильтра.Вставить("type" , "=");
СтруктураФильтра.Вставить("value", "Vitaly");
СтруктураФильтра.Вставить("union", "AND");
СтруктураФильтра.Вставить("raw" , Ложь);
Фильтры.Добавить(СтруктураФильтра);
Результат = OPI_SQLite.ОбновитьЗаписи(Таблица, СтруктураПолей, СтруктураФильтра, База);

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test";
Поля = Новый Массив;

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test";
СтруктураКолонок = Новый Структура;

View File

@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
ФайлКартинки = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ФайлКартинки); // ФайлКартинки - Файл на диске
База = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test";
МассивДанных = Новый Массив;

View File

@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test";
СтруктураКолонок = Новый Структура;

View File

@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test";
Поля = Новый Массив;

View File

@ -28,7 +28,26 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test";
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("name" , "Vitaly A.");
СтруктураПолей.Вставить("salary", "999999");
Фильтры = Новый Массив;
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("field", "name");
СтруктураФильтра.Вставить("type" , "=");
СтруктураФильтра.Вставить("value", "Vitaly");
СтруктураФильтра.Вставить("union", "AND");
СтруктураФильтра.Вставить("raw" , Ложь);
Фильтры.Добавить(СтруктураФильтра);
Результат = OPI_SQLite.ОбновитьЗаписи(Таблица, СтруктураПолей, СтруктураФильтра, База);
```

File diff suppressed because it is too large Load Diff

View File

@ -2238,6 +2238,7 @@ Procedure SQLL_ORM() Export
SQLite_CreateTable(TestParameters);
SQLite_AddRecords(TestParameters);
SQLite_GetRecords(TestParameters);
SQLite_UpdateRecords(TestParameters);
Try
DeleteFiles(Base);
@ -16402,6 +16403,47 @@ Procedure SQLite_GetRecords(FunctionParameters)
EndProcedure
Procedure SQLite_UpdateRecords(FunctionParameters)
Base = FunctionParameters["SQLite_DB"];
Table = "test";
FieldsStructure = New Structure;
FieldsStructure.Insert("name" , "Vitaly A.");
FieldsStructure.Insert("salary", "999999");
Filters = New Array;
FilterStructure = New Structure;
FilterStructure.Insert("field", "name");
FilterStructure.Insert("type" , "=");
FilterStructure.Insert("value", "Vitaly");
FilterStructure.Insert("union", "AND");
FilterStructure.Insert("raw" , False);
Filters.Add(FilterStructure);
Result = OPI_SQLite.UpdateRecords(Table, FieldsStructure, FilterStructure, Base);
// END
OPI_TestDataRetrieval.WriteLog(Result, "UpdateRecords", "SQLite");
OPI_TestDataRetrieval.Check_SQLiteSuccess(Result);
FilterStructure.Insert("value", "Vitaly A.");
Filters = New Array;
Filters.Add(FilterStructure);
Check = OPI_SQLite.GetRecords(Table, "['name','salary']", Filters, , , Base);
OPI_TestDataRetrieval.WriteLog(Check, "Check", "SQLite");
OPI_TestDataRetrieval.Check_SQLiteSuccess(Check);
OPI_TestDataRetrieval.Check_SQLiteFieldsValues(Check["data"][0], FieldsStructure);
EndProcedure
#EndRegion
#EndRegion

View File

@ -2083,6 +2083,14 @@ Procedure Check_SQLiteRows(Val Result, Val Count) Export
ExpectsThat(Result["rows"]).Равно(Count);
EndProcedure
Procedure Check_SQLiteFieldsValues(Val Result, Val ValueStructure) Export
For Each Value In ValueStructure Do
Result[Value.Key] = Value.Value;
EndDo;
EndProcedure
#EndRegion
#EndRegion

View File

@ -160,7 +160,11 @@ Function GetRecords(Val Module
Scheme = NewSQLScheme("SELECT");
SetTableName(Scheme, Table);
SetSelectOptions(Scheme, Fields, Filters, Sort, Count);
SetLimit(Scheme, Count);
FillFields(Scheme, Fields);
FillFilters(Scheme, Filters);
FillSorting(Scheme, Sort);
Request = FormSQLText(Scheme);
@ -172,13 +176,25 @@ EndFunction
Function UpdateRecords(Val Module
, Val Table
, Val ValuesArray
, Val ValueStructure
, Val Filters = ""
, Val Connection = "") Export
Scheme = NewSQLScheme("UPDATE");
FieldArray = New Array;
ValuesArray = New Array;
SetTableName(Scheme, Table);
SetTableName(Scheme, Table);
SplitDataCollection(ValueStructure, FieldArray, ValuesArray);
Scheme["values"] = ValuesArray;
For Each Field In FieldArray Do
AddField(Scheme, Field);
EndDo;
FillFilters(Scheme, Filters);
Request = FormSQLText(Scheme);
Result = Module.ExecuteSQLQuery(Request, Scheme["values"], , Connection);
@ -324,7 +340,23 @@ EndFunction
Function FormTextUpdate(Val Scheme)
TextSQL = "";
CheckSchemeRequiredFields(Scheme, "table,set,values");
Table = Scheme["table"];
Fields = Scheme["set"];
Filters = Scheme["filter"];
SQLTemplate = "UPDATE %1 SET %2 %3";
FilterText = FormFilterText(Filters);
For N = 0 To Fields.UBound() Do
Fields[N] = Fields[N] + " = ?" + OPI_Tools.NumberToString(N + 1);
EndDo;
TextSQL = StrTemplate(SQLTemplate, Table, StrConcat(Fields, "," + Chars.LF), FilterText);
Return TextSQL;
@ -565,6 +597,9 @@ EndFunction
Procedure SplitDataCollection(Val Record, FieldArray, ValuesArray)
ErrorText = "Incorrect data set for updating";
OPI_TypeConversion.GetKeyValueCollection(Record, ErrorText);
For Each Element In Record Do
FieldArray.Add(Element.Key);
@ -715,16 +750,6 @@ Procedure SetLimit(Scheme, Val Count)
EndProcedure
Procedure SetSelectOptions(Scheme, Val Fields, Val Filters, Val Sort, Val Count)
SetLimit(Scheme, Count);
FillFields(Scheme, Fields);
FillFilters(Scheme, Filters);
FillSorting(Scheme, Sort);
EndProcedure
#EndRegion
#EndRegion

View File

@ -160,7 +160,11 @@ Function GetRecords(Val Module
Scheme = NewSQLScheme("SELECT");
SetTableName(Scheme, Table);
SetSelectOptions(Scheme, Fields, Filters, Sort, Count);
SetLimit(Scheme, Count);
FillFields(Scheme, Fields);
FillFilters(Scheme, Filters);
FillSorting(Scheme, Sort);
Request = FormSQLText(Scheme);
@ -172,13 +176,25 @@ EndFunction
Function UpdateRecords(Val Module
, Val Table
, Val ValuesArray
, Val ValueStructure
, Val Filters = ""
, Val Connection = "") Export
Scheme = NewSQLScheme("UPDATE");
FieldArray = New Array;
ValuesArray = New Array;
SetTableName(Scheme, Table);
SplitDataCollection(ValueStructure, FieldArray, ValuesArray);
Scheme["values"] = ValuesArray;
For Each Field In FieldArray Do
AddField(Scheme, Field);
EndDo;
FillFilters(Scheme, Filters);
Request = FormSQLText(Scheme);
Result = Module.ExecuteSQLQuery(Request, Scheme["values"], , Connection);
@ -324,7 +340,23 @@ EndFunction
Function FormTextUpdate(Val Scheme)
TextSQL = "";
CheckSchemeRequiredFields(Scheme, "table,set,values");
Table = Scheme["table"];
Fields = Scheme["set"];
Filters = Scheme["filter"];
SQLTemplate = "UPDATE %1 SET %2 %3";
FilterText = FormFilterText(Filters);
For N = 0 To Fields.UBound() Do
Fields[N] = Fields[N] + " = ?" + OPI_Tools.NumberToString(N + 1);
EndDo;
TextSQL = StrTemplate(SQLTemplate, Table, StrConcat(Fields, "," + Chars.LF), FilterText);
Return TextSQL;
@ -565,6 +597,9 @@ EndFunction
Procedure SplitDataCollection(Val Record, FieldArray, ValuesArray)
ErrorText = "Incorrect data set for updating";
OPI_TypeConversion.GetKeyValueCollection(Record, ErrorText);
For Each Element In Record Do
FieldArray.Add(Element.Key);
@ -715,16 +750,6 @@ Procedure SetLimit(Scheme, Val Count)
EndProcedure
Procedure SetSelectOptions(Scheme, Val Fields, Val Filters, Val Sort, Val Count)
SetLimit(Scheme, Count);
FillFields(Scheme, Fields);
FillFilters(Scheme, Filters);
FillSorting(Scheme, Sort);
EndProcedure
#EndRegion
#EndRegion

View File

@ -3,7 +3,7 @@
<name>OPI_TCP</name>
<synonym>
<key>en</key>
<value>TCP</value>
<value>TCP (OPI)</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>

View File

@ -2083,6 +2083,14 @@ Procedure Check_SQLiteRows(Val Result, Val Count) Export
ExpectsThat(Result["rows"]).Равно(Count);
EndProcedure
Procedure Check_SQLiteFieldsValues(Val Result, Val ValueStructure) Export
For Each Value In ValueStructure Do
Result[Value.Key] = Value.Value;
EndDo;
EndProcedure
#EndRegion
#EndRegion

View File

@ -2238,6 +2238,7 @@ Procedure SQLL_ORM() Export
SQLite_CreateTable(TestParameters);
SQLite_AddRecords(TestParameters);
SQLite_GetRecords(TestParameters);
SQLite_UpdateRecords(TestParameters);
Try
DeleteFiles(Base);
@ -16402,6 +16403,47 @@ Procedure SQLite_GetRecords(FunctionParameters)
EndProcedure
Procedure SQLite_UpdateRecords(FunctionParameters)
Base = FunctionParameters["SQLite_DB"];
Table = "test";
FieldsStructure = New Structure;
FieldsStructure.Insert("name" , "Vitaly A.");
FieldsStructure.Insert("salary", "999999");
Filters = New Array;
FilterStructure = New Structure;
FilterStructure.Insert("field", "name");
FilterStructure.Insert("type" , "=");
FilterStructure.Insert("value", "Vitaly");
FilterStructure.Insert("union", "AND");
FilterStructure.Insert("raw" , False);
Filters.Add(FilterStructure);
Result = OPI_SQLite.UpdateRecords(Table, FieldsStructure, FilterStructure, Base);
// END
OPI_TestDataRetrieval.WriteLog(Result, "UpdateRecords", "SQLite");
OPI_TestDataRetrieval.Check_SQLiteSuccess(Result);
FilterStructure.Insert("value", "Vitaly A.");
Filters = New Array;
Filters.Add(FilterStructure);
Check = OPI_SQLite.GetRecords(Table, "['name','salary']", Filters, , , Base);
OPI_TestDataRetrieval.WriteLog(Check, "Check", "SQLite");
OPI_TestDataRetrieval.Check_SQLiteSuccess(Check);
OPI_TestDataRetrieval.Check_SQLiteFieldsValues(Check["data"][0], FieldsStructure);
EndProcedure
#EndRegion
#EndRegion

View File

@ -16404,7 +16404,7 @@
КонецПроцедуры
Процедура SQLite_ОбновитьЗаписи(ПараметрыФункции)
База = ПараметрыФункции["SQLite_DB"];
Таблица = "test";
@ -16421,27 +16421,27 @@
СтруктураФильтра.Вставить("value", "Vitaly");
СтруктураФильтра.Вставить("union", "AND");
СтруктураФильтра.Вставить("raw" , Ложь);
Фильтры.Добавить(СтруктураФильтра);
Результат = OPI_SQLite.ОбновитьЗаписи(Таблица, СтруктураПолей, СтруктураФильтра, База);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьЗаписи", "SQLite");
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат);
СтруктураФильтра.Вставить("value", "Vitaly A.");
Фильтры = Новый Массив;
Фильтры.Добавить(СтруктураФильтра);
Проверка = OPI_SQLite.ПолучитьЗаписи(Таблица, "['name','salary']", Фильтры, , , База);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "Проверка", "SQLite");
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Проверка);
OPI_ПолучениеДанныхТестов.Проверка_SQLiteЗначенияПолей(Проверка["data"][0], СтруктураПолей);
КонецПроцедуры
#КонецОбласти

View File

@ -2084,11 +2084,11 @@
КонецПроцедуры
Процедура Проверка_SQLiteЗначенияПолей(Знач Результат, Знач СтруктураЗначений) Экспорт
Для Каждого Значение Из СтруктураЗначений Цикл
Результат[Значение.Ключ] = Значение.Значение;
Результат[Значение.Ключ] = Значение.Значение;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
@ -2127,9 +2127,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -181,19 +181,19 @@
, Знач Соединение = "") Экспорт
Схема = ПустаяСхемаSQL("UPDATE");
МассивПолей = Новый Массив;
МассивЗначений = Новый Массив;
УстановитьИмяТаблицы(Схема, Таблица);
УстановитьИмяТаблицы(Схема, Таблица);
РазделитьКоллекциюДанных(СтруктураЗначений, МассивПолей, МассивЗначений);
Схема["values"] = МассивЗначений;
Для Каждого Поле Из МассивПолей Цикл
ДобавитьПоле(Схема, Поле);
КонецЦикла;
ЗаполнитьФильтры(Схема, Фильтры);
Запрос = СформироватьТекстSQL(Схема);
@ -341,21 +341,21 @@
Функция СформироватьТекстUpdate(Знач Схема)
ПроверитьОбязательныеПоляСхемы(Схема, "table,set,values");
Таблица = Схема["table"];
Поля = Схема["set"];
Фильтры = Схема["filter"];
ШаблонSQL = "UPDATE %1 SET %2 %3";
ТекстФильтра = СформироватьТекстФильтра(Фильтры);
Для Н = 0 По Поля.ВГраница() Цикл
Поля[Н] = Поля[Н] + " = ?" + OPI_Инструменты.ЧислоВСтроку(Н + 1);
КонецЦикла;
ТекстSQL = СтрШаблон(ШаблонSQL, Таблица, СтрСоединить(Поля, "," + Символы.ПС), ТекстФильтра);
Возврат ТекстSQL;
@ -599,7 +599,7 @@
ТекстОшибки = "Некорректный набор данных для обновления";
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Запись, ТекстОшибки);
Для Каждого Элемент Из Запись Цикл
МассивПолей.Добавить(Элемент.Ключ);

View File

@ -2084,11 +2084,11 @@
КонецПроцедуры
Процедура Проверка_SQLiteЗначенияПолей(Знач Результат, Знач СтруктураЗначений) Экспорт
Для Каждого Значение Из СтруктураЗначений Цикл
Результат[Значение.Ключ] = Значение.Значение;
Результат[Значение.Ключ] = Значение.Значение;
КонецЦикла;
КонецПроцедуры
#КонецОбласти

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@ -16404,7 +16404,7 @@
КонецПроцедуры
Процедура SQLite_ОбновитьЗаписи(ПараметрыФункции)
База = ПараметрыФункции["SQLite_DB"];
Таблица = "test";
@ -16421,27 +16421,27 @@
СтруктураФильтра.Вставить("value", "Vitaly");
СтруктураФильтра.Вставить("union", "AND");
СтруктураФильтра.Вставить("raw" , Ложь);
Фильтры.Добавить(СтруктураФильтра);
Результат = OPI_SQLite.ОбновитьЗаписи(Таблица, СтруктураПолей, СтруктураФильтра, База);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьЗаписи", "SQLite");
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат);
СтруктураФильтра.Вставить("value", "Vitaly A.");
Фильтры = Новый Массив;
Фильтры.Добавить(СтруктураФильтра);
Проверка = OPI_SQLite.ПолучитьЗаписи(Таблица, "['name','salary']", Фильтры, , , База);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "Проверка", "SQLite");
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Проверка);
OPI_ПолучениеДанныхТестов.Проверка_SQLiteЗначенияПолей(Проверка["data"][0], СтруктураПолей);
КонецПроцедуры
#КонецОбласти