1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-10 22:41:43 +02:00
This commit is contained in:
Anton Titovets
2024-12-31 20:18:03 +03:00
parent 35629b2f14
commit d23d906a3d
4 changed files with 61 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_SQLite.os
// OneScript: ./OInt/core/Modules/OPI_SQLite.os
// Lib: SQLite
// CLI: sqlite
@@ -41,6 +41,7 @@
// Раскомментировать, если выполняется OneScript
// #Использовать "../../tools"
#Область ПрограммныйИнтерфейс
#Область ОсновныеМетоды

View File

@@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/OPI_ЗапросыSQL.os
// OneScript: ./OInt/tools/Modules/OPI_ЗапросыSQL.os
// MIT License
@@ -130,7 +130,10 @@
Возврат;
КонецЕсли;
Схема["columns"].Добавить(Новый Структура(Имя, Тип));
СоответствиеКолонки = Новый Соответствие;
СоответствиеКолонки.Вставить(Имя, Тип);
Схема["columns"].Добавить(СоответствиеКолонки);
КонецПроцедуры
@@ -259,7 +262,9 @@
МассивОписанийКолонок = Новый Массив;
Для Каждого Колонка Из Колонки Цикл
МассивОписанийКолонок.Добавить(СтрШаблон(ШаблонКолонки, Колонка.Ключ, Колонка.Значение));
Для Каждого Элемент Из Колонка Цикл
МассивОписанийКолонок.Добавить(СтрШаблон(ШаблонКолонки, Элемент.Ключ, Элемент.Значение));
КонецЦикла;
КонецЦикла;
ОписанияКолонок = СтрСоединить(МассивОписанийКолонок, "," + Символы.ПС);
@@ -274,7 +279,7 @@
Процедура ПроверитьОбязательныеПоляСхемы(Схема, Знач Поля)
МассивОбязательныхПолей = СтрСоединить(Поля, ",");
МассивОбязательныхПолей = СтрРазделить(Поля, ",");
МассивОтсутствующих = OPI_Инструменты.НайтиОтсутствующиеПоляКоллекции(Схема, МассивОбязательныхПолей);
Если ЗначениеЗаполнено(МассивОтсутствующих) Тогда

View File

@@ -268,6 +268,7 @@
НовыйТест(ТаблицаТестов, "AWS_РаботаСОбъектами" , "Работа с объектами" , S3_);
НовыйТест(ТаблицаТестов, "TC_Клиент" , "TCP Клиент" , TCP);
НовыйТест(ТаблицаТестов, "SQLL_ОсновныеМетоды" , "Основные методы" , SQLite);
НовыйТест(ТаблицаТестов, "SQLL_ORM" , "ORM" , SQLite);
Возврат ТаблицаТестов;

View File

@@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@@ -2225,6 +2225,27 @@
КонецПроцедуры
Процедура SQLL_ORM() Экспорт
ПараметрыТеста = Новый Структура;
База = ПолучитьИмяВременногоФайла("sqlite");
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("CDEK_OrderUUID", База);
OPI_Инструменты.ДобавитьПоле("SQLite_DB", База, "Строка", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture", ПараметрыТеста);
SQLite_СоздатьТаблицу(ПараметрыТеста);
Попытка
УдалитьФайлы(База);
Исключение
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(ОписаниеОшибки(), "Ошибка удаления файла базы", "SQLite");
КонецПопытки
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -16213,6 +16234,32 @@
КонецПроцедуры
Процедура SQLite_СоздатьТаблицу(ПараметрыФункции)
База = ПараметрыФункции["SQLite_DB"];
Таблица = "test";
СтруктураКолонок = Новый Структура;
СтруктураКолонок.Вставить("id" , "INTEGER PRIMARY KEY");
СтруктураКолонок.Вставить("name" , "TEXT");
СтруктураКолонок.Вставить("age" , "INTEGER");
СтруктураКолонок.Вставить("salary" , "REAL");
СтруктураКолонок.Вставить("is_active" , "BOOLEAN");
СтруктураКолонок.Вставить("created_at", "DATETIME");
СтруктураКолонок.Вставить("data" , "BLOB");
Результат = OPI_SQLite.СоздатьТаблицу(Таблица, СтруктураКолонок, , База);
// END
Текст = OPI_SQLite.СоздатьТаблицу(Таблица, СтруктураКолонок, Истина, База);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Текст, "СоздатьТаблицу (запрос)", "SQLite");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу", "SQLite");
OPI_ПолучениеДанныхТестов.Проверка_SQLiteУспех(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти