1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-10-30 23:47:46 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2025-01-04 00:54:05 +03:00
parent 4f6d5c8e17
commit 708641b267
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"); PictureFile = GetTempFileName("png");
Image.Write(PictureFile); // PictureFile - File to disk 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"; Table = "test";
DataArray = New Array; 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"; Table = "test";
ColoumnsStruct = New Structure; 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"; Table = "test";
Fields = New Array; 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"); PictureFile = GetTempFileName("png");
Image.Write(PictureFile); // PictureFile - File to disk 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"; Table = "test";
DataArray = New Array; DataArray = New Array;

View File

@@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example" ```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"; Table = "test";
ColoumnsStruct = New Structure; ColoumnsStruct = New Structure;

View File

@@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example" ```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"; Table = "test";
Fields = New Array; Fields = New Array;

View File

@@ -28,7 +28,26 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example" ```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"); ФайлКартинки = ПолучитьИмяВременногоФайла("png");
Картинка.Записать(ФайлКартинки); // ФайлКартинки - Файл на диске Картинка.Записать(ФайлКартинки); // ФайлКартинки - Файл на диске
База = "C:\Users\Administrator\AppData\Local\Temp\v8_BCCE_11.sqlite"; База = "C:\Users\Administrator\AppData\Local\Temp\v8_3590_23.sqlite";
Таблица = "test"; Таблица = "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"; Таблица = "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"; Таблица = "test";
СтруктураКолонок = Новый Структура; СтруктураКолонок = Новый Структура;

View File

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

View File

@@ -27,7 +27,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript" ```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"; Таблица = "test";
СтруктураКолонок = Новый Структура; СтруктураКолонок = Новый Структура;

View File

@@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript" ```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"; Таблица = "test";
Поля = Новый Массив; Поля = Новый Массив;

View File

@@ -28,7 +28,26 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript" ```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_CreateTable(TestParameters);
SQLite_AddRecords(TestParameters); SQLite_AddRecords(TestParameters);
SQLite_GetRecords(TestParameters); SQLite_GetRecords(TestParameters);
SQLite_UpdateRecords(TestParameters);
Try Try
DeleteFiles(Base); DeleteFiles(Base);
@@ -16402,6 +16403,47 @@ Procedure SQLite_GetRecords(FunctionParameters)
EndProcedure 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
#EndRegion #EndRegion

View File

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

View File

@@ -160,7 +160,11 @@ Function GetRecords(Val Module
Scheme = NewSQLScheme("SELECT"); Scheme = NewSQLScheme("SELECT");
SetTableName(Scheme, Table); SetTableName(Scheme, Table);
SetSelectOptions(Scheme, Fields, Filters, Sort, Count); SetLimit(Scheme, Count);
FillFields(Scheme, Fields);
FillFilters(Scheme, Filters);
FillSorting(Scheme, Sort);
Request = FormSQLText(Scheme); Request = FormSQLText(Scheme);
@@ -172,13 +176,25 @@ EndFunction
Function UpdateRecords(Val Module Function UpdateRecords(Val Module
, Val Table , Val Table
, Val ValuesArray , Val ValueStructure
, Val Filters = "" , Val Filters = ""
, Val Connection = "") Export , Val Connection = "") Export
Scheme = NewSQLScheme("UPDATE"); 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); Request = FormSQLText(Scheme);
Result = Module.ExecuteSQLQuery(Request, Scheme["values"], , Connection); Result = Module.ExecuteSQLQuery(Request, Scheme["values"], , Connection);
@@ -324,7 +340,23 @@ EndFunction
Function FormTextUpdate(Val Scheme) 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; Return TextSQL;
@@ -565,6 +597,9 @@ EndFunction
Procedure SplitDataCollection(Val Record, FieldArray, ValuesArray) Procedure SplitDataCollection(Val Record, FieldArray, ValuesArray)
ErrorText = "Incorrect data set for updating";
OPI_TypeConversion.GetKeyValueCollection(Record, ErrorText);
For Each Element In Record Do For Each Element In Record Do
FieldArray.Add(Element.Key); FieldArray.Add(Element.Key);
@@ -715,16 +750,6 @@ Procedure SetLimit(Scheme, Val Count)
EndProcedure 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
#EndRegion #EndRegion

View File

@@ -160,7 +160,11 @@ Function GetRecords(Val Module
Scheme = NewSQLScheme("SELECT"); Scheme = NewSQLScheme("SELECT");
SetTableName(Scheme, Table); SetTableName(Scheme, Table);
SetSelectOptions(Scheme, Fields, Filters, Sort, Count); SetLimit(Scheme, Count);
FillFields(Scheme, Fields);
FillFilters(Scheme, Filters);
FillSorting(Scheme, Sort);
Request = FormSQLText(Scheme); Request = FormSQLText(Scheme);
@@ -172,13 +176,25 @@ EndFunction
Function UpdateRecords(Val Module Function UpdateRecords(Val Module
, Val Table , Val Table
, Val ValuesArray , Val ValueStructure
, Val Filters = "" , Val Filters = ""
, Val Connection = "") Export , Val Connection = "") Export
Scheme = NewSQLScheme("UPDATE"); 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); Request = FormSQLText(Scheme);
Result = Module.ExecuteSQLQuery(Request, Scheme["values"], , Connection); Result = Module.ExecuteSQLQuery(Request, Scheme["values"], , Connection);
@@ -324,7 +340,23 @@ EndFunction
Function FormTextUpdate(Val Scheme) 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; Return TextSQL;
@@ -565,6 +597,9 @@ EndFunction
Procedure SplitDataCollection(Val Record, FieldArray, ValuesArray) Procedure SplitDataCollection(Val Record, FieldArray, ValuesArray)
ErrorText = "Incorrect data set for updating";
OPI_TypeConversion.GetKeyValueCollection(Record, ErrorText);
For Each Element In Record Do For Each Element In Record Do
FieldArray.Add(Element.Key); FieldArray.Add(Element.Key);
@@ -715,16 +750,6 @@ Procedure SetLimit(Scheme, Val Count)
EndProcedure 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
#EndRegion #EndRegion

View File

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

View File

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

View File

@@ -2238,6 +2238,7 @@ Procedure SQLL_ORM() Export
SQLite_CreateTable(TestParameters); SQLite_CreateTable(TestParameters);
SQLite_AddRecords(TestParameters); SQLite_AddRecords(TestParameters);
SQLite_GetRecords(TestParameters); SQLite_GetRecords(TestParameters);
SQLite_UpdateRecords(TestParameters);
Try Try
DeleteFiles(Base); DeleteFiles(Base);
@@ -16402,6 +16403,47 @@ Procedure SQLite_GetRecords(FunctionParameters)
EndProcedure 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
#EndRegion #EndRegion

View File

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

View File

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

View File

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

View File

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

View File

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