You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
Дополнение словарей
This commit is contained in:
7116
service/dictionaries/en.json
vendored
7116
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
13
src/ru/OInt/core/Modules/OPI_SQLite.os
vendored
13
src/ru/OInt/core/Modules/OPI_SQLite.os
vendored
@@ -45,7 +45,7 @@
|
||||
|
||||
#Область ОсновныеМетоды
|
||||
|
||||
// Создать подключение !NOCLI
|
||||
// Открыть соединение !NOCLI
|
||||
// Создает подключение к указанной базе
|
||||
//
|
||||
// Параметры:
|
||||
@@ -53,7 +53,7 @@
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Объект коннектора или структура с информацией об ошибке
|
||||
Функция СоздатьПодключение(Знач База = "") Экспорт
|
||||
Функция ОткрытьСоединение(Знач База = "") Экспорт
|
||||
|
||||
Если ЭтоКоннектор(База) Тогда
|
||||
Возврат База;
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Закрыть подключение !NOCLI
|
||||
// Закрыть соединение !NOCLI
|
||||
// Явно закрывает переданное соединение
|
||||
//
|
||||
// Параметры:
|
||||
@@ -80,7 +80,7 @@
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Результат закрытия соединения
|
||||
Функция ЗакрытьПодключение(Знач Соединение) Экспорт
|
||||
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
|
||||
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
@@ -119,14 +119,15 @@
|
||||
, Знач Соединение = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекстЗапроса);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(ФорсироватьРезультат);
|
||||
|
||||
Параметры_ = ОбработатьПараметры(Параметры);
|
||||
Коннектор = СоздатьПодключение(Соединение);
|
||||
Коннектор = ОткрытьСоединение(Соединение);
|
||||
|
||||
Если ТипЗнч(Коннектор) <> Тип("AddIn.OPI_SQLite.Main") Тогда
|
||||
Возврат Коннектор;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Результат = Коннектор.Execute(ТекстЗапроса, Параметры_, ФорсироватьРезультат);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
|
||||
|
||||
|
125
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
125
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@@ -2218,7 +2218,9 @@
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
|
||||
SQLite_СоздатьПодключение(ПараметрыТеста);
|
||||
SQLite_ОткрытьСоединение(ПараметрыТеста);
|
||||
SQLite_ЗакрытьСоединение(ПараметрыТеста);
|
||||
SQLite_ВыполнитьЗапросSQL(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -16065,12 +16067,12 @@
|
||||
|
||||
#Область SQLite
|
||||
|
||||
Процедура SQLite_СоздатьПодключение(ПараметрыФункции)
|
||||
Процедура SQLite_ОткрытьСоединение(ПараметрыФункции)
|
||||
|
||||
ИВФ = ПолучитьИмяВременногоФайла("sqlite");
|
||||
|
||||
БазаНаДиске = OPI_SQLite.СоздатьПодключение(ИВФ);
|
||||
БазаВПамяти = OPI_SQLite.СоздатьПодключение();
|
||||
БазаНаДиске = OPI_SQLite.ОткрытьСоединение(ИВФ);
|
||||
БазаВПамяти = OPI_SQLite.ОткрытьСоединение();
|
||||
|
||||
// END
|
||||
|
||||
@@ -16080,7 +16082,7 @@
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(БазаВПамяти, "СоздатьПодключение (im)", "SQLite");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(БазаВПамяти, "AddIn.OPI_SQLite.Main");
|
||||
|
||||
Закрытие = OPI_SQLite.ЗакрытьПодключение(БазаНаДиске);
|
||||
Закрытие = OPI_SQLite.ЗакрытьСоединение(БазаНаДиске);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Закрытие, "ЗакрытьПодключение", "SQLite");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Закрытие);
|
||||
@@ -16093,6 +16095,119 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура SQLite_ЗакрытьСоединение(ПараметрыФункции)
|
||||
|
||||
ИВФ = ПолучитьИмяВременногоФайла("sqlite");
|
||||
|
||||
Соединение = OPI_SQLite.ОткрытьСоединение(ИВФ);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Соединение, "ОткрытьСоединение (закрытие)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Соединение, "AddIn.OPI_SQLite.Main"); // SKIP
|
||||
|
||||
Закрытие = OPI_SQLite.ЗакрытьСоединение(Соединение);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Закрытие, "ЗакрытьПодключение", "SQLite");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Закрытие);
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(ИВФ);
|
||||
Исключение
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(ОписаниеОшибки(), "Ошибка удаления файла базы", "SQLite");
|
||||
КонецПопытки
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура SQLite_ВыполнитьЗапросSQL(ПараметрыФункции)
|
||||
|
||||
ИВФ = ПолучитьИмяВременногоФайла("sqlite");
|
||||
|
||||
Соединение = OPI_SQLite.ОткрытьСоединение(ИВФ);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Соединение, "ОткрытьСоединение (запрос)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Соединение, "AddIn.OPI_SQLite.Main"); // SKIP
|
||||
|
||||
// CREATE
|
||||
|
||||
ТекстЗапроса = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INTEGER PRIMARY KEY,
|
||||
|name TEXT,
|
||||
|age INTEGER,
|
||||
|salary REAL,
|
||||
|is_active BOOLEAN,
|
||||
|created_at DATETIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL (Create)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
|
||||
// INSERT с параметрами
|
||||
|
||||
ТекстЗапроса = "
|
||||
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|
||||
|VALUES (?1, ?2, ?3, ?4, ?5, ?6);";
|
||||
|
||||
МассивПараметров = Новый Массив;
|
||||
МассивПараметров.Добавить("Vitaly"); // TEXT
|
||||
МассивПараметров.Добавить(25); // INTEGER
|
||||
МассивПараметров.Добавить(1000.12); // REAL
|
||||
МассивПараметров.Добавить(Истина); // BOOL
|
||||
МассивПараметров.Добавить(OPI_Инструменты.ПолучитьТекущуюДату()); // DATETIME
|
||||
МассивПараметров.Добавить(ПолучитьДвоичныеДанныеИзСтроки("Hello world")); // BLOB
|
||||
|
||||
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, МассивПараметров, , Соединение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL (Insert)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
|
||||
// SELECT (Результат этого запроса приведен в следующем блоке)
|
||||
|
||||
ТекстЗапроса = "SELECT id, name, age, salary, is_active, created_at, data FROM test_table;";
|
||||
|
||||
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL (Select)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
|
||||
// Транзакция
|
||||
|
||||
ТекстЗапроса = "BEGIN TRANSACTION;
|
||||
| CREATE TABLE IF NOT EXISTS users (
|
||||
| id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
| name TEXT NOT NULL,
|
||||
| age INTEGER NOT NULL
|
||||
| );
|
||||
| INSERT INTO users (name, age) VALUES ('Alice', 30);
|
||||
| INSERT INTO users (name, age) VALUES ('Bob', 25);
|
||||
| INSERT INTO users (name, age) VALUES ('Charlie', 35);
|
||||
| COMMIT;";
|
||||
|
||||
|
||||
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL (Transaction)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
|
||||
Закрытие = OPI_SQLite.ЗакрытьСоединение(Соединение);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗакрытьПодключение (запрос)", "SQLite");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат);
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(ИВФ);
|
||||
Исключение
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(ОписаниеОшибки(), "Ошибка удаления файла базы", "SQLite");
|
||||
КонецПопытки
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@@ -2106,9 +2106,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@@ -45,7 +45,7 @@
|
||||
|
||||
#Область ОсновныеМетоды
|
||||
|
||||
// Создать соединение !NOCLI
|
||||
// Открыть соединение !NOCLI
|
||||
// Создает подключение к указанной базе
|
||||
//
|
||||
// Параметры:
|
||||
|
@@ -16132,24 +16132,23 @@
|
||||
|
||||
ТекстЗапроса = "
|
||||
|CREATE TABLE test_table (
|
||||
|id INTEGER PRIMARY KEY, -- Автоинкрементируемый целочисленный идентификатор
|
||||
|name TEXT, -- Текстовое поле
|
||||
|age INTEGER, -- Целое число
|
||||
|salary REAL, -- Число с плавающей точкой
|
||||
|is_active BOOLEAN, -- Логическое значение
|
||||
|created_at DATETIME, -- Дата/время в формате ISO 8601
|
||||
|id INTEGER PRIMARY KEY,
|
||||
|name TEXT,
|
||||
|age INTEGER,
|
||||
|salary REAL,
|
||||
|is_active BOOLEAN,
|
||||
|created_at DATETIME,
|
||||
|data BLOB
|
||||
|);";
|
||||
|
||||
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапрос (Create)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL (Create)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
|
||||
// INSERT с параметрами
|
||||
|
||||
ТекстЗапроса = "
|
||||
|-- Вставляем данные с использованием позиционных параметров
|
||||
|INSERT INTO test_table (name, age, salary, is_active, created_at, data)
|
||||
|VALUES (?1, ?2, ?3, ?4, ?5, ?6);";
|
||||
|
||||
@@ -16163,8 +16162,8 @@
|
||||
|
||||
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, МассивПараметров, , Соединение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапрос (Insert)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL (Insert)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
|
||||
// SELECT (Результат этого запроса приведен в следующем блоке)
|
||||
|
||||
@@ -16172,8 +16171,8 @@
|
||||
|
||||
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапрос (Select)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL (Select)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
|
||||
// Транзакция
|
||||
|
||||
@@ -16191,8 +16190,8 @@
|
||||
|
||||
Результат = OPI_SQLite.ВыполнитьЗапросSQL(ТекстЗапроса, , , Соединение);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапрос (Transaction)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВыполнитьЗапросSQL (Transaction)", "SQLite"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат); // SKIP
|
||||
|
||||
Закрытие = OPI_SQLite.ЗакрытьСоединение(Соединение);
|
||||
|
||||
|
Reference in New Issue
Block a user