1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-04-13 11:50:53 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2025-02-14 20:57:13 +03:00
parent cf40594ab1
commit c7846ad3e9
58 changed files with 7079 additions and 6785 deletions

View File

@ -0,0 +1,4 @@
{
"Address": "93.125.42.204",
"Password": "12we..."
}

View File

@ -0,0 +1,14 @@
 Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "testbase1";
// When using the connection string, a new connection is initialised,
// which will be closed after the function is executed.
// If several operations are performed, it is desirable to use one connection,
// previously created by the CreateConnection function()
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Table = "testtable";
Result = OPI_PostgreSQL.ClearTable(Table, ConnectionString);

View File

@ -3,35 +3,49 @@
Password = "12we...";
Base = "testbase1";
// When using the connection string, a new connection is initialised,
// which will be closed after the function is executed.
// If several operations are performed, it is desirable to use one connection,
// previously created by the CreateConnection function()
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Table = "testtable";
// All records without filters
Table = "testtable";
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
// Filter, selected fields, limit and sorting
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);
Table = "test_data";
Fields = New Array;
Fields.Add("bool_field");
Fields.Add("oldchar_field");
Fields.Add("smallint_field");
Fields.Add("smallserial_field");
Fields.Add("int_field");
Fields.Add("serial_field");
Fields.Add("oid_field");
Fields.Add("bigint_field");
Fields.Add("bigserial_field");
Fields.Add("real_field");
Fields.Add("dp_field");
Fields.Add("text_field");
Fields.Add("varchar_field");
Fields.Add("charn_field");
Fields.Add("char_field");
Fields.Add("name_field");
Fields.Add("bytea_field");
Fields.Add("ts_field");
Fields.Add("tswtz_field");
Fields.Add("ip_field");
Fields.Add("json_field");
Fields.Add("jsonb_field");
Fields.Add("date_field");
Fields.Add("time_field");
Fields.Add("uuid_field");
Fields.Add("first_name");
Fields.Add("last_name");
Fields.Add("email");
Result = OPI_PostgreSQL.GetRecords(Table, Fields, , , , ConnectionString);
Filters = New Array;
FilterStructure1 = New Structure;
FilterStructure1.Insert("field", "gender");
FilterStructure1.Insert("type" , "=");
FilterStructure1.Insert("value", "Male");
FilterStructure1.Insert("union", "AND");
FilterStructure1.Insert("raw" , False);
FilterStructure2 = New Structure;
FilterStructure2.Insert("field", "id");
FilterStructure2.Insert("type" , "BETWEEN");
FilterStructure2.Insert("value", "20 AND 50");
FilterStructure2.Insert("raw" , True);
Filters.Add(FilterStructure1);
Filters.Add(FilterStructure2);
Sort = New Structure("ip_address", "DESC");
Count = 5;
Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);

View File

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

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
Result = OPI_SQLite.ClearTable(Table, Base);

View File

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

View File

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

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
Result = OPI_SQLite.DeleteTable(Table, Base);

View File

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

View File

@ -1,4 +1,4 @@
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
 Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
Result = OPI_SQLite.GetTableInformation(Table, Base);

View File

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

View File

@ -26,7 +26,20 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Address = "93.125.42.204";
Login = "bayselonarrend";
Password = "12we...";
Base = "testbase1";
// When using the connection string, a new connection is initialised,
// which will be closed after the function is executed.
// If several operations are performed, it is desirable to use one connection,
// previously created by the CreateConnection function()
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Table = "testtable";
Result = OPI_PostgreSQL.ClearTable(Table, ConnectionString);
```

View File

@ -39,38 +39,52 @@ Values of the Binary data type (BLOB) are returned as `{'blob':Base64 string}`
Password = "12we...";
Base = "testbase1";
// When using the connection string, a new connection is initialised,
// which will be closed after the function is executed.
// If several operations are performed, it is desirable to use one connection,
// previously created by the CreateConnection function()
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Table = "testtable";
// All records without filters
Table = "testtable";
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
// Filter, selected fields, limit and sorting
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);
Table = "test_data";
Fields = New Array;
Fields.Add("bool_field");
Fields.Add("oldchar_field");
Fields.Add("smallint_field");
Fields.Add("smallserial_field");
Fields.Add("int_field");
Fields.Add("serial_field");
Fields.Add("oid_field");
Fields.Add("bigint_field");
Fields.Add("bigserial_field");
Fields.Add("real_field");
Fields.Add("dp_field");
Fields.Add("text_field");
Fields.Add("varchar_field");
Fields.Add("charn_field");
Fields.Add("char_field");
Fields.Add("name_field");
Fields.Add("bytea_field");
Fields.Add("ts_field");
Fields.Add("tswtz_field");
Fields.Add("ip_field");
Fields.Add("json_field");
Fields.Add("jsonb_field");
Fields.Add("date_field");
Fields.Add("time_field");
Fields.Add("uuid_field");
Fields.Add("first_name");
Fields.Add("last_name");
Fields.Add("email");
Result = OPI_PostgreSQL.GetRecords(Table, Fields, , , , ConnectionString);
Filters = New Array;
FilterStructure1 = New Structure;
FilterStructure1.Insert("field", "gender");
FilterStructure1.Insert("type" , "=");
FilterStructure1.Insert("value", "Male");
FilterStructure1.Insert("union", "AND");
FilterStructure1.Insert("raw" , False);
FilterStructure2 = New Structure;
FilterStructure2.Insert("field", "id");
FilterStructure2.Insert("type" , "BETWEEN");
FilterStructure2.Insert("value", "20 AND 50");
FilterStructure2.Insert("raw" , True);
Filters.Add(FilterStructure1);
Filters.Add(FilterStructure2);
Sort = New Structure("ip_address", "DESC");
Count = 5;
Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);
```

View File

@ -38,7 +38,7 @@ Binary data can also be transferred as a structure `{'blob':File path}`
PictureFile = GetTempFileName("png");
Image.Write(PictureFile); // PictureFile - File to disk
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
DataArray = New Array;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
Result = OPI_SQLite.ClearTable(Table, Base);

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_1A0B_60.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
ColoumnsStruct = New Structure;

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_1A0B_60.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
Filters = New Array;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
Result = OPI_SQLite.DeleteTable(Table, Base);

View File

@ -34,7 +34,7 @@ Values of the Binary data type (BLOB) are returned as `{'blob':Base64 string}`
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
Fields = New Array;

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
Base = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Table = "test";
Result = OPI_SQLite.GetTableInformation(Table, Base);

View File

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

View File

@ -0,0 +1,4 @@
{
"Адрес": "93.125.42.204",
"Пароль": "12we..."
}

View File

@ -0,0 +1,14 @@
 Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
Результат = OPI_PostgreSQL.ОчиститьТаблицу(Таблица, СтрокаПодключения);

View File

@ -3,35 +3,49 @@
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
// Все записи без отборов
Таблица = "testtable";
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
// Отборы, выбранные поля, количество и сортировка
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
Таблица = "test_data";
Поля = Новый Массив;
Поля.Добавить("bool_field");
Поля.Добавить("oldchar_field");
Поля.Добавить("smallint_field");
Поля.Добавить("smallserial_field");
Поля.Добавить("int_field");
Поля.Добавить("serial_field");
Поля.Добавить("oid_field");
Поля.Добавить("bigint_field");
Поля.Добавить("bigserial_field");
Поля.Добавить("real_field");
Поля.Добавить("dp_field");
Поля.Добавить("text_field");
Поля.Добавить("varchar_field");
Поля.Добавить("charn_field");
Поля.Добавить("char_field");
Поля.Добавить("name_field");
Поля.Добавить("bytea_field");
Поля.Добавить("ts_field");
Поля.Добавить("tswtz_field");
Поля.Добавить("ip_field");
Поля.Добавить("json_field");
Поля.Добавить("jsonb_field");
Поля.Добавить("date_field");
Поля.Добавить("time_field");
Поля.Добавить("uuid_field");
Поля.Добавить("first_name");
Поля.Добавить("last_name");
Поля.Добавить("email");
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, , , , СтрокаПодключения);
Фильтры = Новый Массив;
СтруктураФильтра1 = Новый Структура;
СтруктураФильтра1.Вставить("field", "gender");
СтруктураФильтра1.Вставить("type" , "=");
СтруктураФильтра1.Вставить("value", "Male");
СтруктураФильтра1.Вставить("union", "AND");
СтруктураФильтра1.Вставить("raw" , Ложь);
СтруктураФильтра2 = Новый Структура;
СтруктураФильтра2.Вставить("field", "id");
СтруктураФильтра2.Вставить("type" , "BETWEEN");
СтруктураФильтра2.Вставить("value", "20 AND 50");
СтруктураФильтра2.Вставить("raw" , Истина);
Фильтры.Добавить(СтруктураФильтра1);
Фильтры.Добавить(СтруктураФильтра2);
Сортировка = Новый Структура("ip_address", "DESC");
Количество = 5;
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, Фильтры, Сортировка, Количество, СтрокаПодключения);

View File

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

View File

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

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Таблица = "test";
Результат = OPI_SQLite.ОчиститьТаблицу(Таблица, База);

View File

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

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Таблица = "test";
Результат = OPI_SQLite.ПолучитьИнформациюОТаблице(Таблица, База);

View File

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

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Таблица = "test";
Фильтры = Новый Массив;

View File

@ -1,4 +1,4 @@
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
 База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Таблица = "test";
Результат = OPI_SQLite.УдалитьТаблицу(Таблица, База);

View File

@ -26,7 +26,20 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "93.125.42.204";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
Результат = OPI_PostgreSQL.ОчиститьТаблицу(Таблица, СтрокаПодключения);
```

View File

@ -39,38 +39,52 @@ import TabItem from '@theme/TabItem';
Пароль = "12we...";
База = "testbase1";
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Таблица = "testtable";
// Все записи без отборов
Таблица = "testtable";
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
// Отборы, выбранные поля, количество и сортировка
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
Таблица = "test_data";
Поля = Новый Массив;
Поля.Добавить("bool_field");
Поля.Добавить("oldchar_field");
Поля.Добавить("smallint_field");
Поля.Добавить("smallserial_field");
Поля.Добавить("int_field");
Поля.Добавить("serial_field");
Поля.Добавить("oid_field");
Поля.Добавить("bigint_field");
Поля.Добавить("bigserial_field");
Поля.Добавить("real_field");
Поля.Добавить("dp_field");
Поля.Добавить("text_field");
Поля.Добавить("varchar_field");
Поля.Добавить("charn_field");
Поля.Добавить("char_field");
Поля.Добавить("name_field");
Поля.Добавить("bytea_field");
Поля.Добавить("ts_field");
Поля.Добавить("tswtz_field");
Поля.Добавить("ip_field");
Поля.Добавить("json_field");
Поля.Добавить("jsonb_field");
Поля.Добавить("date_field");
Поля.Добавить("time_field");
Поля.Добавить("uuid_field");
Поля.Добавить("first_name");
Поля.Добавить("last_name");
Поля.Добавить("email");
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, , , , СтрокаПодключения);
Фильтры = Новый Массив;
СтруктураФильтра1 = Новый Структура;
СтруктураФильтра1.Вставить("field", "gender");
СтруктураФильтра1.Вставить("type" , "=");
СтруктураФильтра1.Вставить("value", "Male");
СтруктураФильтра1.Вставить("union", "AND");
СтруктураФильтра1.Вставить("raw" , Ложь);
СтруктураФильтра2 = Новый Структура;
СтруктураФильтра2.Вставить("field", "id");
СтруктураФильтра2.Вставить("type" , "BETWEEN");
СтруктураФильтра2.Вставить("value", "20 AND 50");
СтруктураФильтра2.Вставить("raw" , Истина);
Фильтры.Добавить(СтруктураФильтра1);
Фильтры.Добавить(СтруктураФильтра2);
Сортировка = Новый Структура("ip_address", "DESC");
Количество = 5;
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, Фильтры, Сортировка, Количество, СтрокаПодключения);
```

View File

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

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Таблица = "test";
Результат = OPI_SQLite.ОчиститьТаблицу(Таблица, База);

View File

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

View File

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

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Таблица = "test";
Результат = OPI_SQLite.УдалитьТаблицу(Таблица, База);

View File

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

View File

@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
База = "C:\Users\Administrator\AppData\Local\Temp\v8_1A0B_60.sqlite";
База = "C:\Users\Administrator\AppData\Local\Temp\v8_80B2_2a.sqlite";
Таблица = "test";
Результат = OPI_SQLite.ПолучитьИнформациюОТаблице(Таблица, База);

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -146,8 +146,8 @@ Function ExecuteSQLQuery(Val QueryText
CloseConnection = False;
Connector = Connection;
Else
CloseConnection = True;
Connector = CreateConnection(Connection);
CloseConnection = True;
Connector = CreateConnection(Connection);
EndIf;
If Not IsConnector(Connector) Then
@ -422,7 +422,7 @@ EndFunction
Function GetFeatures() Export
Features = New Structure;
Features = New Map;
Features.Insert("ParameterNumeration", True);
Features.Insert("ParameterMarker" , "$");

View File

@ -344,7 +344,7 @@ EndFunction
Function GetFeatures() Export
Features = New Structure;
Features = New Map;
Features.Insert("ParameterNumeration", True);
Features.Insert("ParameterMarker" , "?");

View File

@ -2340,6 +2340,7 @@ Procedure Postgres_ORM() Export
PostgreSQL_GetTableInformation(TestParameters);
PostgreSQL_AddRecords(TestParameters);
PostgreSQL_GetRecords(TestParameters);
PostgreSQL_ClearTable(TestParameters);
PostgreSQL_DeleteTable(TestParameters);
PostgreSQL_DropDatabase(TestParameters);
@ -17696,47 +17697,66 @@ Procedure PostgreSQL_GetRecords(FunctionParameters)
Password = FunctionParameters["PG_Password"];
Base = "testbase1";
// When using the connection string, a new connection is initialised,
// which will be closed after the function is executed.
// If several operations are performed, it is desirable to use one connection,
// previously created by the CreateConnection function()
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Table = "testtable";
// All records without filters
Table = "testtable";
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
If ValueIsFilled(Result["data"]) Then // SKIP
Result["data"][0]["bytea_field"]["BYTEA"] // SKIP
= Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
EndIf; // SKIP
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
// Filter, selected fields, limit and sorting
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);
Table = "test_data";
Fields = New Array;
Fields.Add("bool_field");
Fields.Add("oldchar_field");
Fields.Add("smallint_field");
Fields.Add("smallserial_field");
Fields.Add("int_field");
Fields.Add("serial_field");
Fields.Add("oid_field");
Fields.Add("bigint_field");
Fields.Add("bigserial_field");
Fields.Add("real_field");
Fields.Add("dp_field");
Fields.Add("text_field");
Fields.Add("varchar_field");
Fields.Add("charn_field");
Fields.Add("char_field");
Fields.Add("name_field");
Fields.Add("bytea_field");
Fields.Add("ts_field");
Fields.Add("tswtz_field");
Fields.Add("ip_field");
Fields.Add("json_field");
Fields.Add("jsonb_field");
Fields.Add("date_field");
Fields.Add("time_field");
Fields.Add("uuid_field");
Fields.Add("first_name");
Fields.Add("last_name");
Fields.Add("email");
Result = OPI_PostgreSQL.GetRecords(Table, Fields, , , , ConnectionString);
Filters = New Array;
FilterStructure1 = New Structure;
FilterStructure1.Insert("field", "gender");
FilterStructure1.Insert("type" , "=");
FilterStructure1.Insert("value", "Male");
FilterStructure1.Insert("union", "AND");
FilterStructure1.Insert("raw" , False);
FilterStructure2 = New Structure;
FilterStructure2.Insert("field", "id");
FilterStructure2.Insert("type" , "BETWEEN");
FilterStructure2.Insert("value", "20 AND 50");
FilterStructure2.Insert("raw" , True);
Filters.Add(FilterStructure1);
Filters.Add(FilterStructure2);
Sort = New Structure("ip_address", "DESC");
Count = 5;
Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);
// END
If ValueIsFilled(Result["data"]) Then
Result["data"][0]["bytea_field"]["BYTEA"] = Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "...";
EndIf;
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL");
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords (filters)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 5);
EndProcedure
@ -17815,6 +17835,36 @@ Procedure PostgreSQL_DropDatabase(FunctionParameters)
EndProcedure
Procedure PostgreSQL_ClearTable(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "testbase1";
// When using the connection string, a new connection is initialised,
// which will be closed after the function is executed.
// If several operations are performed, it is desirable to use one connection,
// previously created by the CreateConnection function()
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Table = "testtable";
Result = OPI_PostgreSQL.ClearTable(Table, ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "ClearTable", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "ClearTable (check)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 0);
EndProcedure
#EndRegion
#EndRegion

View File

@ -46,7 +46,7 @@
Function CreateDatabase(Val Module, Val Base, Val Connection = "") Export
Scheme = NewSQLScheme("CREATEDATABASE");
Scheme = NewSQLScheme("CREATEDATABASE", Module);
SetBaseName(Scheme, Base);
@ -59,7 +59,7 @@ EndFunction
Function DropDatabase(Val Module, Val Base, Val Connection = "") Export
Scheme = NewSQLScheme("DROPDATABASE");
Scheme = NewSQLScheme("DROPDATABASE", Module);
SetBaseName(Scheme, Base);
@ -75,7 +75,7 @@ Function CreateTable(Val Module, Val Table, Val ColoumnsStruct, Val Connection =
ErrorText = "The column structure is not a valid key-value structure";
OPI_TypeConversion.GetKeyValueCollection(ColoumnsStruct, ErrorText);
Scheme = NewSQLScheme("CREATE");
Scheme = NewSQLScheme("CREATE", Module);
SetTableName(Scheme, Table);
@ -121,7 +121,7 @@ Function GetRecords(Val Module
, Val Count = ""
, Val Connection = "") Export
Scheme = NewSQLScheme("SELECT");
Scheme = NewSQLScheme("SELECT", Module);
SetTableName(Scheme, Table);
SetLimit(Scheme, Count);
@ -144,7 +144,7 @@ Function UpdateRecords(Val Module
, Val Filters = ""
, Val Connection = "") Export
Scheme = NewSQLScheme("UPDATE");
Scheme = NewSQLScheme("UPDATE", Module);
FieldArray = New Array;
ValuesArray = New Array;
@ -169,7 +169,7 @@ EndFunction
Function DeletePosts(Val Module, Val Table, Val Filters = "", Val Connection = "") Export
Scheme = NewSQLScheme("DELETE");
Scheme = NewSQLScheme("DELETE", Module);
SetTableName(Scheme, Table);
@ -184,7 +184,7 @@ EndFunction
Function DeleteTable(Val Module, Val Table, Val Connection = "") Export
Scheme = NewSQLScheme("DROP");
Scheme = NewSQLScheme("DROP", Module);
SetTableName(Scheme, Table);
@ -197,7 +197,7 @@ EndFunction
Function ClearTable(Val Module, Val Table, Val Connection = "") Export
Scheme = NewSQLScheme("TRUNCATE");
Scheme = NewSQLScheme("TRUNCATE", Module);
SetTableName(Scheme, Table);
@ -233,7 +233,7 @@ EndFunction
#Region Scheme
Function NewSQLScheme(Val Action, Val Features = Undefined)
Function NewSQLScheme(Val Action, Val Module = Undefined)
OPI_TypeConversion.GetLine(Action);
@ -245,7 +245,7 @@ Function NewSQLScheme(Val Action, Val Features = Undefined)
ElsIf Action = "INSERT" Then
Scheme = EmptySchemeInsert(Features);
Scheme = EmptySchemeInsert();
ElsIf Action = "UPDATE" Then
@ -281,6 +281,13 @@ Function NewSQLScheme(Val Action, Val Features = Undefined)
EndIf;
Features = Module.GetFeatures();
ReplaceDefaultFeatures(Features);
Scheme.Insert("nump" , Features["ParameterNumeration"]);
Scheme.Insert("markp", Features["ParameterMarker"]);
Return Scheme;
EndFunction
@ -300,17 +307,12 @@ Function EmptySchemeSelect()
EndFunction
Function EmptySchemeInsert(Val Features)
Function EmptySchemeInsert()
Scheme = New Structure("type", "INSERT");
ParameterNumeration = ?(ValueIsFilled(Features), Features["ParameterNumeration"], False);
ParameterMarker = ?(ValueIsFilled(Features), Features["ParameterMarker"] , "?");
Scheme.Insert("table", "");
Scheme.Insert("set" , New Array);
Scheme.Insert("nump" , ParameterNumeration);
Scheme.Insert("markp", ParameterMarker);
Return Scheme;
@ -513,9 +515,11 @@ Function FormTextUpdate(Val Scheme)
CheckSchemeRequiredFields(Scheme, "table,set,values");
Table = Scheme["table"];
Fields = Scheme["set"];
Filters = Scheme["filter"];
Table = Scheme["table"];
Fields = Scheme["set"];
Filters = Scheme["filter"];
Numeration = Scheme["nump"];
Marker = Scheme["markp"];
SQLTemplate = "UPDATE %1 SET %2 %3;";
@ -523,7 +527,13 @@ Function FormTextUpdate(Val Scheme)
For N = 0 To Fields.UBound() Do
Fields[N] = Fields[N] + " = ?" + OPI_Tools.NumberToString(N + 1);
CurrentMarker = Marker;
If Numeration Then
CurrentMarker = CurrentMarker + OPI_Tools.NumberToString(N + 1);
EndIf;
Fields[N] = Fields[N] + " = " + CurrentMarker;
EndDo;
@ -741,7 +751,7 @@ Function AddRow(Val Module, Val Table, Val Record, Val Connection)
Features = Module.GetFeatures();
Scheme = NewSQLScheme("INSERT", Features);
Scheme = NewSQLScheme("INSERT", Module);
SetTableName(Scheme, Table);
SplitDataCollection(Record, FieldArray, ValuesArray);
@ -1002,13 +1012,21 @@ Procedure AddField(Scheme, Val Name) Export
EndProcedure
Procedure AddFilter(Scheme, Val Field, Val Type, Val Value, Val Grouping, Val Raw)
Procedure AddFilter(Scheme
, Val Field
, Val Type
, Val Value
, Val Grouping
, Val Raw)
OPI_TypeConversion.GetLine(Field);
OPI_TypeConversion.GetLine(Type);
OPI_TypeConversion.GetLine(Grouping);
OPI_TypeConversion.GetBoolean(Raw);
Numeration = Scheme["nump"];
Marker = Scheme["markp"];
MainStructure = New Structure("field,type,union"
, Field
, Type
@ -1022,8 +1040,14 @@ Procedure AddFilter(Scheme, Val Field, Val Type, Val Value, Val Grouping, Val Ra
Scheme["values"].Add(Value);
OrderNumber = Scheme["values"].Count();
MainStructure.Insert("value", "?" + OPI_Tools.NumberToString(OrderNumber));
CurrentMarker = Marker;
If Numeration Then
OrderNumber = Scheme["values"].Count();
CurrentMarker = CurrentMarker + + OPI_Tools.NumberToString(OrderNumber);
EndIf;
MainStructure.Insert("value", CurrentMarker);
EndIf;
@ -1064,6 +1088,20 @@ Procedure SetLimit(Scheme, Val Count)
EndProcedure
Procedure ReplaceDefaultFeatures(Features)
DefaultFeatures = New Map;
DefaultFeatures.Insert("ParameterNumeration", True); // nump
DefaultFeatures.Insert("ParameterMarker" , "?"); // markp
For Each Feature In Features Do
DefaultFeatures.Insert(Feature.Key, Feature.Value);
EndDo;
Features = DefaultFeatures;
EndProcedure
#EndRegion
#EndRegion

View File

@ -146,8 +146,8 @@ Function ExecuteSQLQuery(Val QueryText
CloseConnection = False;
Connector = Connection;
Else
CloseConnection = True;
Connector = CreateConnection(Connection);
CloseConnection = True;
Connector = CreateConnection(Connection);
EndIf;
If Not IsConnector(Connector) Then
@ -422,7 +422,7 @@ EndFunction
Function GetFeatures() Export
Features = New Structure;
Features = New Map;
Features.Insert("ParameterNumeration", True);
Features.Insert("ParameterMarker" , "$");

View File

@ -46,7 +46,7 @@
Function CreateDatabase(Val Module, Val Base, Val Connection = "") Export
Scheme = NewSQLScheme("CREATEDATABASE");
Scheme = NewSQLScheme("CREATEDATABASE", Module);
SetBaseName(Scheme, Base);
@ -59,7 +59,7 @@ EndFunction
Function DropDatabase(Val Module, Val Base, Val Connection = "") Export
Scheme = NewSQLScheme("DROPDATABASE");
Scheme = NewSQLScheme("DROPDATABASE", Module);
SetBaseName(Scheme, Base);
@ -75,7 +75,7 @@ Function CreateTable(Val Module, Val Table, Val ColoumnsStruct, Val Connection =
ErrorText = "The column structure is not a valid key-value structure";
OPI_TypeConversion.GetKeyValueCollection(ColoumnsStruct, ErrorText);
Scheme = NewSQLScheme("CREATE");
Scheme = NewSQLScheme("CREATE", Module);
SetTableName(Scheme, Table);
@ -121,7 +121,7 @@ Function GetRecords(Val Module
, Val Count = ""
, Val Connection = "") Export
Scheme = NewSQLScheme("SELECT");
Scheme = NewSQLScheme("SELECT", Module);
SetTableName(Scheme, Table);
SetLimit(Scheme, Count);
@ -144,7 +144,7 @@ Function UpdateRecords(Val Module
, Val Filters = ""
, Val Connection = "") Export
Scheme = NewSQLScheme("UPDATE");
Scheme = NewSQLScheme("UPDATE", Module);
FieldArray = New Array;
ValuesArray = New Array;
@ -169,7 +169,7 @@ EndFunction
Function DeletePosts(Val Module, Val Table, Val Filters = "", Val Connection = "") Export
Scheme = NewSQLScheme("DELETE");
Scheme = NewSQLScheme("DELETE", Module);
SetTableName(Scheme, Table);
@ -184,7 +184,7 @@ EndFunction
Function DeleteTable(Val Module, Val Table, Val Connection = "") Export
Scheme = NewSQLScheme("DROP");
Scheme = NewSQLScheme("DROP", Module);
SetTableName(Scheme, Table);
@ -197,7 +197,7 @@ EndFunction
Function ClearTable(Val Module, Val Table, Val Connection = "") Export
Scheme = NewSQLScheme("TRUNCATE");
Scheme = NewSQLScheme("TRUNCATE", Module);
SetTableName(Scheme, Table);
@ -233,7 +233,7 @@ EndFunction
#Region Scheme
Function NewSQLScheme(Val Action, Val Features = Undefined)
Function NewSQLScheme(Val Action, Val Module = Undefined)
OPI_TypeConversion.GetLine(Action);
@ -245,7 +245,7 @@ Function NewSQLScheme(Val Action, Val Features = Undefined)
ElsIf Action = "INSERT" Then
Scheme = EmptySchemeInsert(Features);
Scheme = EmptySchemeInsert();
ElsIf Action = "UPDATE" Then
@ -281,6 +281,13 @@ Function NewSQLScheme(Val Action, Val Features = Undefined)
EndIf;
Features = Module.GetFeatures();
ReplaceDefaultFeatures(Features);
Scheme.Insert("nump" , Features["ParameterNumeration"]);
Scheme.Insert("markp", Features["ParameterMarker"]);
Return Scheme;
EndFunction
@ -300,17 +307,12 @@ Function EmptySchemeSelect()
EndFunction
Function EmptySchemeInsert(Val Features)
Function EmptySchemeInsert()
Scheme = New Structure("type", "INSERT");
ParameterNumeration = ?(ValueIsFilled(Features), Features["ParameterNumeration"], False);
ParameterMarker = ?(ValueIsFilled(Features), Features["ParameterMarker"] , "?");
Scheme.Insert("table", "");
Scheme.Insert("set" , New Array);
Scheme.Insert("nump" , ParameterNumeration);
Scheme.Insert("markp", ParameterMarker);
Return Scheme;
@ -513,9 +515,11 @@ Function FormTextUpdate(Val Scheme)
CheckSchemeRequiredFields(Scheme, "table,set,values");
Table = Scheme["table"];
Fields = Scheme["set"];
Filters = Scheme["filter"];
Table = Scheme["table"];
Fields = Scheme["set"];
Filters = Scheme["filter"];
Numeration = Scheme["nump"];
Marker = Scheme["markp"];
SQLTemplate = "UPDATE %1 SET %2 %3;";
@ -523,7 +527,13 @@ Function FormTextUpdate(Val Scheme)
For N = 0 To Fields.UBound() Do
Fields[N] = Fields[N] + " = ?" + OPI_Tools.NumberToString(N + 1);
CurrentMarker = Marker;
If Numeration Then
CurrentMarker = CurrentMarker + OPI_Tools.NumberToString(N + 1);
EndIf;
Fields[N] = Fields[N] + " = " + CurrentMarker;
EndDo;
@ -741,7 +751,7 @@ Function AddRow(Val Module, Val Table, Val Record, Val Connection)
Features = Module.GetFeatures();
Scheme = NewSQLScheme("INSERT", Features);
Scheme = NewSQLScheme("INSERT", Module);
SetTableName(Scheme, Table);
SplitDataCollection(Record, FieldArray, ValuesArray);
@ -1002,13 +1012,21 @@ Procedure AddField(Scheme, Val Name) Export
EndProcedure
Procedure AddFilter(Scheme, Val Field, Val Type, Val Value, Val Grouping, Val Raw)
Procedure AddFilter(Scheme
, Val Field
, Val Type
, Val Value
, Val Grouping
, Val Raw)
OPI_TypeConversion.GetLine(Field);
OPI_TypeConversion.GetLine(Type);
OPI_TypeConversion.GetLine(Grouping);
OPI_TypeConversion.GetBoolean(Raw);
Numeration = Scheme["nump"];
Marker = Scheme["markp"];
MainStructure = New Structure("field,type,union"
, Field
, Type
@ -1022,8 +1040,14 @@ Procedure AddFilter(Scheme, Val Field, Val Type, Val Value, Val Grouping, Val Ra
Scheme["values"].Add(Value);
OrderNumber = Scheme["values"].Count();
MainStructure.Insert("value", "?" + OPI_Tools.NumberToString(OrderNumber));
CurrentMarker = Marker;
If Numeration Then
OrderNumber = Scheme["values"].Count();
CurrentMarker = CurrentMarker + + OPI_Tools.NumberToString(OrderNumber);
EndIf;
MainStructure.Insert("value", CurrentMarker);
EndIf;
@ -1064,6 +1088,20 @@ Procedure SetLimit(Scheme, Val Count)
EndProcedure
Procedure ReplaceDefaultFeatures(Features)
DefaultFeatures = New Map;
DefaultFeatures.Insert("ParameterNumeration", True); // nump
DefaultFeatures.Insert("ParameterMarker" , "?"); // markp
For Each Feature In Features Do
DefaultFeatures.Insert(Feature.Key, Feature.Value);
EndDo;
Features = DefaultFeatures;
EndProcedure
#EndRegion
#EndRegion

View File

@ -344,7 +344,7 @@ EndFunction
Function GetFeatures() Export
Features = New Structure;
Features = New Map;
Features.Insert("ParameterNumeration", True);
Features.Insert("ParameterMarker" , "?");

View File

@ -2340,6 +2340,7 @@ Procedure Postgres_ORM() Export
PostgreSQL_GetTableInformation(TestParameters);
PostgreSQL_AddRecords(TestParameters);
PostgreSQL_GetRecords(TestParameters);
PostgreSQL_ClearTable(TestParameters);
PostgreSQL_DeleteTable(TestParameters);
PostgreSQL_DropDatabase(TestParameters);
@ -17696,47 +17697,66 @@ Procedure PostgreSQL_GetRecords(FunctionParameters)
Password = FunctionParameters["PG_Password"];
Base = "testbase1";
// When using the connection string, a new connection is initialised,
// which will be closed after the function is executed.
// If several operations are performed, it is desirable to use one connection,
// previously created by the CreateConnection function()
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Table = "testtable";
// All records without filters
Table = "testtable";
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
If ValueIsFilled(Result["data"]) Then // SKIP
Result["data"][0]["bytea_field"]["BYTEA"] // SKIP
= Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
EndIf; // SKIP
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL"); // SKIP
OPI_TestDataRetrieval.Check_ResultTrue(Result); // SKIP
// Filter, selected fields, limit and sorting
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);
Table = "test_data";
Fields = New Array;
Fields.Add("bool_field");
Fields.Add("oldchar_field");
Fields.Add("smallint_field");
Fields.Add("smallserial_field");
Fields.Add("int_field");
Fields.Add("serial_field");
Fields.Add("oid_field");
Fields.Add("bigint_field");
Fields.Add("bigserial_field");
Fields.Add("real_field");
Fields.Add("dp_field");
Fields.Add("text_field");
Fields.Add("varchar_field");
Fields.Add("charn_field");
Fields.Add("char_field");
Fields.Add("name_field");
Fields.Add("bytea_field");
Fields.Add("ts_field");
Fields.Add("tswtz_field");
Fields.Add("ip_field");
Fields.Add("json_field");
Fields.Add("jsonb_field");
Fields.Add("date_field");
Fields.Add("time_field");
Fields.Add("uuid_field");
Fields.Add("first_name");
Fields.Add("last_name");
Fields.Add("email");
Result = OPI_PostgreSQL.GetRecords(Table, Fields, , , , ConnectionString);
Filters = New Array;
FilterStructure1 = New Structure;
FilterStructure1.Insert("field", "gender");
FilterStructure1.Insert("type" , "=");
FilterStructure1.Insert("value", "Male");
FilterStructure1.Insert("union", "AND");
FilterStructure1.Insert("raw" , False);
FilterStructure2 = New Structure;
FilterStructure2.Insert("field", "id");
FilterStructure2.Insert("type" , "BETWEEN");
FilterStructure2.Insert("value", "20 AND 50");
FilterStructure2.Insert("raw" , True);
Filters.Add(FilterStructure1);
Filters.Add(FilterStructure2);
Sort = New Structure("ip_address", "DESC");
Count = 5;
Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);
// END
If ValueIsFilled(Result["data"]) Then
Result["data"][0]["bytea_field"]["BYTEA"] = Left(Result["data"][0]["bytea_field"]["BYTEA"], 10) + "...";
EndIf;
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords", "PostgreSQL");
OPI_TestDataRetrieval.WriteLog(Result, "GetRecords (filters)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 5);
EndProcedure
@ -17815,6 +17835,36 @@ Procedure PostgreSQL_DropDatabase(FunctionParameters)
EndProcedure
Procedure PostgreSQL_ClearTable(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "testbase1";
// When using the connection string, a new connection is initialised,
// which will be closed after the function is executed.
// If several operations are performed, it is desirable to use one connection,
// previously created by the CreateConnection function()
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);
Table = "testtable";
Result = OPI_PostgreSQL.ClearTable(Table, ConnectionString);
// END
OPI_TestDataRetrieval.WriteLog(Result, "ClearTable", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Result = OPI_PostgreSQL.GetRecords(Table, , , , , ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "ClearTable (check)", "PostgreSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
OPI_TestDataRetrieval.Check_Array(Result["data"], 0);
EndProcedure
#EndRegion
#EndRegion

View File

@ -146,8 +146,8 @@
ЗакрыватьСоединение = Ложь;
Коннектор = Соединение;
Иначе
ЗакрыватьСоединение = Истина;
Коннектор = ОткрытьСоединение(Соединение);
ЗакрыватьСоединение = Истина;
Коннектор = ОткрытьСоединение(Соединение);
КонецЕсли;
Если Не ЭтоКоннектор(Коннектор) Тогда

View File

@ -17700,28 +17700,28 @@
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
// Все записи без отборов
Таблица = "testtable";
Таблица = "testtable";
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
Результат["data"][0]["bytea_field"]["BYTEA"] // SKIP
= Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
КонецЕсли; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "PostgreSQL"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
// Отборы, выбранные поля, количество и сортировка
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
Таблица = "test_data";
= Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
КонецЕсли; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "PostgreSQL"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
// Отборы, выбранные поля, количество и сортировка
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
Таблица = "test_data";
Поля = Новый Массив;
Поля.Добавить("first_name");
Поля.Добавить("last_name");
@ -17856,13 +17856,13 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу (проверка)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
КонецПроцедуры
#КонецОбласти

View File

@ -280,11 +280,11 @@
Схема = Новый Структура;
КонецЕсли;
Особенности = Модуль.ПолучитьОсобенности();
ЗаменитьСтандартныеОсобенности(Особенности);
ЗаменитьСтандартныеОсобенности(Особенности);
Схема.Вставить("nump" , Особенности["НумерацияПараметров"]);
Схема.Вставить("markp", Особенности["МаркерПараметров"]);
@ -520,7 +520,7 @@
Фильтры = Схема["filter"];
Нумерация = Схема["nump"];
Маркер = Схема["markp"];
ШаблонSQL = "UPDATE %1 SET %2 %3;";
ТекстФильтра = СформироватьТекстФильтра(Фильтры);
@ -532,7 +532,7 @@
Если Нумерация Тогда
ТекущийМаркер = ТекущийМаркер + OPI_Инструменты.ЧислоВСтроку(Н + 1);
КонецЕсли;
Поля[Н] = Поля[Н] + " = " + ТекущийМаркер;
КонецЦикла;
@ -1013,11 +1013,11 @@
КонецПроцедуры
Процедура ДобавитьОтбор(Схема
, Знач Поле
, Знач Тип
, Знач Значение
, Знач Группировка
, Знач КакЕсть)
, Знач Поле
, Знач Тип
, Знач Значение
, Знач Группировка
, Знач КакЕсть)
OPI_ПреобразованиеТипов.ПолучитьСтроку(Поле);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Тип);
@ -1026,7 +1026,7 @@
Нумерация = Схема["nump"];
Маркер = Схема["markp"];
ОсновнаяСтруктура = Новый Структура("field,type,union"
, Поле
, Тип
@ -1040,13 +1040,13 @@
Схема["values"].Добавить(Значение);
ТекущийМаркер = Маркер;
Если Нумерация Тогда
ПорядковыйНомер = Схема["values"].Количество();
ТекущийМаркер = ТекущийМаркер + + OPI_Инструменты.ЧислоВСтроку(ПорядковыйНомер);
КонецЕсли;
ТекущийМаркер = Маркер;
Если Нумерация Тогда
ПорядковыйНомер = Схема["values"].Количество();
ТекущийМаркер = ТекущийМаркер + + OPI_Инструменты.ЧислоВСтроку(ПорядковыйНомер);
КонецЕсли;
ОсновнаяСтруктура.Вставить("value", ТекущийМаркер);
КонецЕсли;
@ -1089,17 +1089,17 @@
КонецПроцедуры
Процедура ЗаменитьСтандартныеОсобенности(Особенности)
СтандартныеОсобенности = Новый Соответствие;
СтандартныеОсобенности.Вставить("НумерацияПараметров", Истина); // nump
СтандартныеОсобенности.Вставить("МаркерПараметров" , "?"); // markp
Для Каждого Особенность Из Особенности Цикл
СтандартныеОсобенности.Вставить(Особенность.Ключ, Особенность.Значение);
КонецЦикла;
Особенности = СтандартныеОсобенности;
СтандартныеОсобенности = Новый Соответствие;
СтандартныеОсобенности.Вставить("НумерацияПараметров", Истина); // nump
СтандартныеОсобенности.Вставить("МаркерПараметров" , "?"); // markp
Для Каждого Особенность Из Особенности Цикл
СтандартныеОсобенности.Вставить(Особенность.Ключ, Особенность.Значение);
КонецЦикла;
Особенности = СтандартныеОсобенности;
КонецПроцедуры
#КонецОбласти

View File

@ -2155,9 +2155,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -146,8 +146,8 @@
ЗакрыватьСоединение = Ложь;
Коннектор = Соединение;
Иначе
ЗакрыватьСоединение = Истина;
Коннектор = ОткрытьСоединение(Соединение);
ЗакрыватьСоединение = Истина;
Коннектор = ОткрытьСоединение(Соединение);
КонецЕсли;
Если Не ЭтоКоннектор(Коннектор) Тогда

View File

@ -280,11 +280,11 @@
Схема = Новый Структура;
КонецЕсли;
Особенности = Модуль.ПолучитьОсобенности();
ЗаменитьСтандартныеОсобенности(Особенности);
ЗаменитьСтандартныеОсобенности(Особенности);
Схема.Вставить("nump" , Особенности["НумерацияПараметров"]);
Схема.Вставить("markp", Особенности["МаркерПараметров"]);
@ -520,7 +520,7 @@
Фильтры = Схема["filter"];
Нумерация = Схема["nump"];
Маркер = Схема["markp"];
ШаблонSQL = "UPDATE %1 SET %2 %3;";
ТекстФильтра = СформироватьТекстФильтра(Фильтры);
@ -532,7 +532,7 @@
Если Нумерация Тогда
ТекущийМаркер = ТекущийМаркер + OPI_Инструменты.ЧислоВСтроку(Н + 1);
КонецЕсли;
Поля[Н] = Поля[Н] + " = " + ТекущийМаркер;
КонецЦикла;
@ -1013,11 +1013,11 @@
КонецПроцедуры
Процедура ДобавитьОтбор(Схема
, Знач Поле
, Знач Тип
, Знач Значение
, Знач Группировка
, Знач КакЕсть)
, Знач Поле
, Знач Тип
, Знач Значение
, Знач Группировка
, Знач КакЕсть)
OPI_ПреобразованиеТипов.ПолучитьСтроку(Поле);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Тип);
@ -1026,7 +1026,7 @@
Нумерация = Схема["nump"];
Маркер = Схема["markp"];
ОсновнаяСтруктура = Новый Структура("field,type,union"
, Поле
, Тип
@ -1040,13 +1040,13 @@
Схема["values"].Добавить(Значение);
ТекущийМаркер = Маркер;
Если Нумерация Тогда
ПорядковыйНомер = Схема["values"].Количество();
ТекущийМаркер = ТекущийМаркер + + OPI_Инструменты.ЧислоВСтроку(ПорядковыйНомер);
КонецЕсли;
ТекущийМаркер = Маркер;
Если Нумерация Тогда
ПорядковыйНомер = Схема["values"].Количество();
ТекущийМаркер = ТекущийМаркер + + OPI_Инструменты.ЧислоВСтроку(ПорядковыйНомер);
КонецЕсли;
ОсновнаяСтруктура.Вставить("value", ТекущийМаркер);
КонецЕсли;
@ -1089,17 +1089,17 @@
КонецПроцедуры
Процедура ЗаменитьСтандартныеОсобенности(Особенности)
СтандартныеОсобенности = Новый Соответствие;
СтандартныеОсобенности.Вставить("НумерацияПараметров", Истина); // nump
СтандартныеОсобенности.Вставить("МаркерПараметров" , "?"); // markp
Для Каждого Особенность Из Особенности Цикл
СтандартныеОсобенности.Вставить(Особенность.Ключ, Особенность.Значение);
КонецЦикла;
Особенности = СтандартныеОсобенности;
СтандартныеОсобенности = Новый Соответствие;
СтандартныеОсобенности.Вставить("НумерацияПараметров", Истина); // nump
СтандартныеОсобенности.Вставить("МаркерПараметров" , "?"); // markp
Для Каждого Особенность Из Особенности Цикл
СтандартныеОсобенности.Вставить(Особенность.Ключ, Особенность.Значение);
КонецЦикла;
Особенности = СтандартныеОсобенности;
КонецПроцедуры
#КонецОбласти

View File

@ -17700,28 +17700,28 @@
// При использовании строки подключения инициализируется новое соединение,
// которое будет закрыто после выполнения функции.
// В случае выполнения нескольких операций желательно использовать одно соединение,
// заранее созданное функцией ОткрытьСоединение()
// заранее созданное функцией ОткрытьСоединение()
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
// Все записи без отборов
Таблица = "testtable";
Таблица = "testtable";
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP
Результат["data"][0]["bytea_field"]["BYTEA"] // SKIP
= Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
КонецЕсли; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "PostgreSQL"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
// Отборы, выбранные поля, количество и сортировка
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
Таблица = "test_data";
= Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "..."; // SKIP
КонецЕсли; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "PostgreSQL"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP
// Отборы, выбранные поля, количество и сортировка
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль);
Таблица = "test_data";
Поля = Новый Массив;
Поля.Добавить("first_name");
Поля.Добавить("last_name");
@ -17856,13 +17856,13 @@
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу (проверка)", "PostgreSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0);
КонецПроцедуры
#КонецОбласти