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:
12942
service/dictionaries/en.json
vendored
12942
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
160
src/ru/OInt/core/Modules/OPI_PostgreSQL.os
vendored
160
src/ru/OInt/core/Modules/OPI_PostgreSQL.os
vendored
@@ -245,44 +245,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Получить типы колонок таблицы
|
|
||||||
// Получает массив типов колонок таблицы
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Таблица - Строка - Имя таблицы - table
|
|
||||||
// Соединение - Строка, Произвольный - Соединение или строка подключения - dbc
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Массив, Соответствие Из КлючИЗначение - Массив типов или информация об ошибке
|
|
||||||
Функция ПолучитьТипыКолонокТаблицы(Знач Таблица, Знач Соединение = "") Экспорт
|
|
||||||
|
|
||||||
ИнформацияОТаблице = ПолучитьИнформациюОТаблице(Таблица, Соединение);
|
|
||||||
|
|
||||||
Если Не ИнформацияОТаблице["result"] Тогда
|
|
||||||
Возврат ИнформацияОТаблице;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
МассивТипов = Новый Массив;
|
|
||||||
|
|
||||||
Для Каждого Колонка Из ИнформацияОТаблице Цикл
|
|
||||||
|
|
||||||
ТекущийТип = Колонка["data_type"];
|
|
||||||
ТекущийТип = Строка(вРег(ТекущийТип));
|
|
||||||
ТекущийТип = СтрЗаменить(ТекущийТип, " " , "_");
|
|
||||||
ТекущийТип = СтрЗаменить(ТекущийТип, """CHAR""", "OLDCHAR");
|
|
||||||
|
|
||||||
Если СтрНачинаетсяС(ТекущийТип, "CHAR") Тогда
|
|
||||||
ТекущийТип = "CHAR";
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
МассивТипов.Добавить(ТекущийТип);
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат МассивТипов;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Создать таблицу
|
// Создать таблицу
|
||||||
// Создает пустую таблицу в базе
|
// Создает пустую таблицу в базе
|
||||||
//
|
//
|
||||||
@@ -416,49 +378,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Нормализовать набор параметров
|
|
||||||
// Преобразует массив значений параметров в массив структур описаний для передачи в запрос
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// МассивЗначений - Массив Из Произвольный - Массив значений параметров запроса - values
|
|
||||||
// МассивТипов - Массив Из Строка - Массив типов колонок. См. ПолучитьТипыКолонокТаблицы - types
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Массив Из Соответствие - Нормализованный набор параметров для запроса
|
|
||||||
Функция НормализоватьНаборПараметров(Знач МассивЗначений, Знач МассивТипов) Экспорт
|
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивЗначений);
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивТипов);
|
|
||||||
|
|
||||||
СоответствиеТипов = ПолучитьСоответствиеТипов();
|
|
||||||
ИтоговыйМассив = Новый Массив;
|
|
||||||
ГраницаТипов = МассивТипов.ВГраница();
|
|
||||||
|
|
||||||
Для Н = 0 По МассивЗначений.ВГраница() Цикл
|
|
||||||
|
|
||||||
Если Н > ГраницаТипов Тогда
|
|
||||||
Прервать;
|
|
||||||
Конецесли;
|
|
||||||
|
|
||||||
ТекущийТип = вРег(МассивТипов[Н]);
|
|
||||||
ТекущееЗначение = МассивЗначений[Н];
|
|
||||||
ОписаниеТипа = СоответствиеТипов.Получить(ТекущийТип);
|
|
||||||
|
|
||||||
Если ОписаниеТипа <> Неопределено Тогда
|
|
||||||
ТекущееЗначение = ОписаниеТипа.ПривестиЗначение(ТекущееЗначение);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ТекущееОписание = Новый Соответствие;
|
|
||||||
ТекущееОписание.Вставить(ТекущийТип, ТекущееЗначение);
|
|
||||||
|
|
||||||
ИтоговыйМассив.Добавить(ТекущееОписание);
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат ИтоговыйМассив;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Получить структуру фильтра записей
|
// Получить структуру фильтра записей
|
||||||
// Получает структуру шаблон для фильтрации записей в запросах ORM
|
// Получает структуру шаблон для фильтрации записей в запросах ORM
|
||||||
//
|
//
|
||||||
@@ -530,40 +449,72 @@
|
|||||||
|
|
||||||
ТекущийПараметр = Параметры[Н];
|
ТекущийПараметр = Параметры[Н];
|
||||||
|
|
||||||
Если ТипЗнч(ТекущийПараметр) = Тип("ДвоичныеДанные") Тогда
|
ТекущийПараметр = ОбработатьПараметр(ТекущийПараметр);
|
||||||
|
|
||||||
ТекущийПараметр = Новый Структура("BYTEA", Base64Строка(ТекущийПараметр));
|
|
||||||
|
|
||||||
ИначеЕсли OPI_Инструменты.ПолеКоллекцииСуществует(ТекущийПараметр, "BYTEA") Тогда
|
|
||||||
|
|
||||||
ТекущийПараметр = ОбработатьСтруктуруBlob(ТекущийПараметр);
|
|
||||||
|
|
||||||
ИначеЕсли ТипЗнч(ТекущийПараметр) = Тип("Дата") Тогда
|
|
||||||
|
|
||||||
ТекущийПараметр = Формат(ТекущийПараметр, "ДФ='yyyy-MM-dd HH:MM:ss'");
|
|
||||||
|
|
||||||
ИначеЕсли ТипЗнч(ТекущийПараметр) = Тип("Структура") Или ТипЗнч(ТекущийПараметр) = Тип("Соответствие") Тогда
|
|
||||||
|
|
||||||
Продолжить;
|
|
||||||
|
|
||||||
Иначе
|
|
||||||
|
|
||||||
Если Не OPI_Инструменты.ЭтоПримитивныйТип(ТекущийПараметр) Тогда
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Параметры[Н] = ТекущийПараметр;
|
Параметры[Н] = ТекущийПараметр;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Параметры_ = OPI_Инструменты.JSONСтрокой(Параметры, , Ложь);
|
Параметры_ = OPI_Инструменты.JSONСтрокой(Параметры, , Ложь);
|
||||||
|
|
||||||
|
Если СтрНачинаетсяС(Параметры_, "НЕ JSON") Тогда
|
||||||
|
ВызватьИсключение "Ошибка валидации JSON массив параметров!";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Параметры_;
|
Возврат Параметры_;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ОбработатьПараметр(ТекущийПараметр, Вложенный = Ложь)
|
||||||
|
|
||||||
|
ТекущийТип = ТипЗнч(ТекущийПараметр);
|
||||||
|
|
||||||
|
Если ТекущийТип = Тип("ДвоичныеДанные") Тогда
|
||||||
|
|
||||||
|
ТекущийПараметр = Новый Структура("BYTEA", Base64Строка(ТекущийПараметр));
|
||||||
|
|
||||||
|
ИначеЕсли ТекущийТип = Тип("УникальныйИдентификатор") Тогда
|
||||||
|
|
||||||
|
ТекущийПараметр = Строка(ТекущийПараметр);
|
||||||
|
|
||||||
|
ИначеЕсли ТекущийТип = Тип("Дата") Тогда
|
||||||
|
|
||||||
|
ТекущийПараметр = XMLСтрока(ТекущийПараметр);
|
||||||
|
|
||||||
|
ИначеЕсли OPI_Инструменты.ПолеКоллекцииСуществует(ТекущийПараметр, "BYTEA") Тогда
|
||||||
|
|
||||||
|
ТекущийПараметр = ОбработатьСтруктуруBlob(ТекущийПараметр);
|
||||||
|
|
||||||
|
ИначеЕсли ТекущийТип = Тип("Структура")
|
||||||
|
Или ТекущийТип = Тип("Соответствие") Тогда
|
||||||
|
|
||||||
|
Для Каждого ЭлементПараметра Из ТекущийПараметр Цикл
|
||||||
|
|
||||||
|
ТекущийКлюч = вРег(ЭлементПараметра.Ключ);
|
||||||
|
ТекущееЗначение = ЭлементПараметра.Значение;
|
||||||
|
|
||||||
|
Если ТекущийКлюч = "JSONB"
|
||||||
|
Или ТекущийКлюч = "JSON"
|
||||||
|
Или ТекущийКлюч = "HSTORE" Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТекущийПараметр[ЭлементПараметра.Ключ] = ОбработатьПараметр(ТекущееЗначение, Истина);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Если Не OPI_Инструменты.ЭтоПримитивныйТип(ТекущийПараметр) Тогда
|
||||||
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПараметр);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ТекущийПараметр;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Функция ОбработатьСтруктуруBlob(Знач Значение)
|
Функция ОбработатьСтруктуруBlob(Знач Значение)
|
||||||
|
|
||||||
ЗначениеДанных = Значение["BYTEA"];
|
ЗначениеДанных = Значение["BYTEA"];
|
||||||
@@ -622,6 +573,7 @@
|
|||||||
СоответствиеТипов.Вставить("LQUERY" , ОписаниеString);
|
СоответствиеТипов.Вставить("LQUERY" , ОписаниеString);
|
||||||
СоответствиеТипов.Вставить("LTXTQUERY" , ОписаниеString);
|
СоответствиеТипов.Вставить("LTXTQUERY" , ОписаниеString);
|
||||||
СоответствиеТипов.Вставить("INET" , ОписаниеString);
|
СоответствиеТипов.Вставить("INET" , ОписаниеString);
|
||||||
|
СоответствиеТипов.Вставить("UUID" , ОписаниеString);
|
||||||
|
|
||||||
Возврат СоответствиеТипов;
|
Возврат СоответствиеТипов;
|
||||||
|
|
||||||
|
144
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
144
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@@ -2324,7 +2324,8 @@
|
|||||||
PostgreSQL_СоздатьТаблицу(ПараметрыТеста);
|
PostgreSQL_СоздатьТаблицу(ПараметрыТеста);
|
||||||
PostgreSQL_ПолучитьИнформациюОТаблице(ПараметрыТеста);
|
PostgreSQL_ПолучитьИнформациюОТаблице(ПараметрыТеста);
|
||||||
PostgreSQL_ДобавитьЗаписи(ПараметрыТеста);
|
PostgreSQL_ДобавитьЗаписи(ПараметрыТеста);
|
||||||
PostgreSQL_УдалитьБазуДанных(ПараметрыТеста);
|
PostgreSQL_ПолучитьЗаписи(ПараметрыТеста);
|
||||||
|
//PostgreSQL_УдалитьБазуДанных(ПараметрыТеста);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -17306,8 +17307,9 @@
|
|||||||
|
|
||||||
База = "testbase1";
|
База = "testbase1";
|
||||||
|
|
||||||
OPI_PostgreSQL.УдалитьБазуДанных(База, СтрокаПодключения); // SKIP
|
Удаление = OPI_PostgreSQL.УдалитьБазуДанных(База, СтрокаПодключения); // SKIP
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Удаление, "СоздатьБазуДанных (удаление)", "PostgreSQL"); // SKIP
|
||||||
|
|
||||||
Результат = OPI_PostgreSQL.СоздатьБазуДанных(База, СтрокаПодключения);
|
Результат = OPI_PostgreSQL.СоздатьБазуДанных(База, СтрокаПодключения);
|
||||||
|
|
||||||
// END
|
// END
|
||||||
@@ -17349,18 +17351,30 @@
|
|||||||
Таблица = "testtable";
|
Таблица = "testtable";
|
||||||
|
|
||||||
СтруктураКолонок = Новый Структура;
|
СтруктураКолонок = Новый Структура;
|
||||||
СтруктураКолонок.Вставить("bool_field" , "BOOL");
|
СтруктураКолонок.Вставить("bool_field" , "BOOL");
|
||||||
СтруктураКолонок.Вставить("char_field" , """char""");
|
СтруктураКолонок.Вставить("oldchar_field" , """char""");
|
||||||
СтруктураКолонок.Вставить("smallint_field", "SMALLINT");
|
СтруктураКолонок.Вставить("smallint_field" , "SMALLINT");
|
||||||
СтруктураКолонок.Вставить("int_field" , "INT");
|
СтруктураКолонок.Вставить("smallserial_field", "SMALLSERIAL");
|
||||||
СтруктураКолонок.Вставить("oid_field" , "OID");
|
СтруктураКолонок.Вставить("int_field" , "INT");
|
||||||
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
|
СтруктураКолонок.Вставить("serial_field" , "SERIAL");
|
||||||
СтруктураКолонок.Вставить("real_field" , "REAL");
|
СтруктураКолонок.Вставить("oid_field" , "OID");
|
||||||
СтруктураКолонок.Вставить("dp_field" , "DOUBLE PRECISION");
|
СтруктураКолонок.Вставить("bigint_field" , "BIGINT");
|
||||||
СтруктураКолонок.Вставить("text_field" , "TEXT");
|
СтруктураКолонок.Вставить("bigserial_field" , "BIGSERIAL");
|
||||||
СтруктураКолонок.Вставить("bytea_field" , "BYTEA");
|
СтруктураКолонок.Вставить("real_field" , "REAL");
|
||||||
СтруктураКолонок.Вставить("ts_field" , "TIMESTAMP");
|
СтруктураКолонок.Вставить("dp_field" , "DOUBLE PRECISION");
|
||||||
СтруктураКолонок.Вставить("ip_field" , "INET");
|
СтруктураКолонок.Вставить("text_field" , "TEXT");
|
||||||
|
СтруктураКолонок.Вставить("varchar_field" , "VARCHAR");
|
||||||
|
СтруктураКолонок.Вставить("char_field" , "CHAR(1)");
|
||||||
|
СтруктураКолонок.Вставить("name_field" , "NAME");
|
||||||
|
СтруктураКолонок.Вставить("bytea_field" , "BYTEA");
|
||||||
|
СтруктураКолонок.Вставить("ts_field" , "TIMESTAMP");
|
||||||
|
СтруктураКолонок.Вставить("tswtz_field" , "TIMESTAMP WITH TIME ZONE");
|
||||||
|
СтруктураКолонок.Вставить("ip_field" , "INET");
|
||||||
|
СтруктураКолонок.Вставить("json_field" , "JSON");
|
||||||
|
СтруктураКолонок.Вставить("jsonb_field" , "JSONB");
|
||||||
|
СтруктураКолонок.Вставить("date_field" , "DATE");
|
||||||
|
СтруктураКолонок.Вставить("time_field" , "TIME");
|
||||||
|
СтруктураКолонок.Вставить("uuid_field" , "UUID");
|
||||||
|
|
||||||
Результат = OPI_PostgreSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
|
Результат = OPI_PostgreSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения);
|
||||||
|
|
||||||
@@ -17400,26 +17414,44 @@
|
|||||||
|
|
||||||
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||||
|
|
||||||
Таблица = "testtable";
|
Таблица = "testtable";
|
||||||
|
МассивЗаписей = Новый Массив;
|
||||||
|
|
||||||
Картинка = ПараметрыФункции["Picture"];
|
Картинка = ПараметрыФункции["Picture"];
|
||||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные
|
||||||
|
|
||||||
|
СлучайнаяСтруктура = Новый Структура("key,value", "ItsKey", 10);
|
||||||
|
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
|
||||||
|
|
||||||
СтруктураЗаписи = Новый Структура;
|
СтруктураЗаписи = Новый Структура;
|
||||||
СтруктураЗаписи.Вставить("bool_field" , Новый Структура("BOOL" , Истина));
|
СтруктураЗаписи.Вставить("bool_field" , Новый Структура("BOOL" , Истина));
|
||||||
СтруктураЗаписи.Вставить("char_field" , Новый Структура("OLDCHAR" , 1));
|
СтруктураЗаписи.Вставить("oldchar_field" , Новый Структура("OLDCHAR" , 1)); // или "char"
|
||||||
СтруктураЗаписи.Вставить("smallint_field", Новый Структура("SMALLINT" , 5));
|
СтруктураЗаписи.Вставить("smallint_field" , Новый Структура("SMALLINT" , 5));
|
||||||
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 100));
|
СтруктураЗаписи.Вставить("smallserial_field", Новый Структура("SMALLSERIAL" , 6));
|
||||||
СтруктураЗаписи.Вставить("oid_field" , Новый Структура("OID" , 24576));
|
СтруктураЗаписи.Вставить("int_field" , Новый Структура("INT" , 100));
|
||||||
СтруктураЗаписи.Вставить("bigint_field" , Новый Структура("BIGINT" , 9999999));
|
СтруктураЗаписи.Вставить("serial_field" , Новый Структура("SERIAL" , 100));
|
||||||
СтруктураЗаписи.Вставить("real_field" , Новый Структура("REAL" , 15.2));
|
СтруктураЗаписи.Вставить("oid_field" , Новый Структура("OID" , 24576));
|
||||||
СтруктураЗаписи.Вставить("dp_field" , Новый Структура("DOUBLE_PRECISION", 1.0000000000000002));
|
СтруктураЗаписи.Вставить("bigint_field" , Новый Структура("BIGINT" , 9999999));
|
||||||
СтруктураЗаписи.Вставить("text_field" , Новый Структура("TEXT" , "Some text"));
|
СтруктураЗаписи.Вставить("bigserial_field" , Новый Структура("BIGSERIAL" , 9999999));
|
||||||
СтруктураЗаписи.Вставить("bytea_field" , Новый Структура("BYTEA" , Картинка));
|
СтруктураЗаписи.Вставить("real_field" , Новый Структура("REAL" , 15.2));
|
||||||
СтруктураЗаписи.Вставить("ts_field" , Новый Структура("TIMESTAMP" , 1739207915));
|
СтруктураЗаписи.Вставить("dp_field" , Новый Структура("DOUBLE_PRECISION" , 1.0000000000000002)); // или DOUBLE PRECISION
|
||||||
СтруктураЗаписи.Вставить("ip_field" , Новый Структура("INET" , "127.0.0.1"));
|
СтруктураЗаписи.Вставить("text_field" , Новый Структура("TEXT" , "Some text"));
|
||||||
|
СтруктураЗаписи.Вставить("varchar_field" , Новый Структура("VARCHAR" , "Some varchar"));
|
||||||
Результат = OPI_PostgreSQL.ДобавитьЗаписи(Таблица, СтруктураЗаписи, Ложь, СтрокаПодключения);
|
СтруктураЗаписи.Вставить("char_field" , Новый Структура("CHAR" , "A"));
|
||||||
|
СтруктураЗаписи.Вставить("name_field" , Новый Структура("NAME" , "Vitaly"));
|
||||||
|
СтруктураЗаписи.Вставить("bytea_field" , Новый Структура("BYTEA" , Картинка));
|
||||||
|
СтруктураЗаписи.Вставить("ts_field" , Новый Структура("TIMESTAMP" , 1739207915));
|
||||||
|
СтруктураЗаписи.Вставить("tswtz_field" , Новый Структура("TIMESTAMP_WITH_TIME_ZONE", 1739207915)); // или TIMESTAMP WITH TIME ZONE
|
||||||
|
СтруктураЗаписи.Вставить("ip_field" , Новый Структура("INET" , "127.0.0.1"));
|
||||||
|
СтруктураЗаписи.Вставить("json_field" , Новый Структура("JSON" , СлучайнаяСтруктура));
|
||||||
|
СтруктураЗаписи.Вставить("jsonb_field" , Новый Структура("JSONB" , СлучайнаяСтруктура));
|
||||||
|
СтруктураЗаписи.Вставить("date_field" , Новый Структура("DATE" , ТекущаяДата));
|
||||||
|
СтруктураЗаписи.Вставить("time_field" , Новый Структура("TIME" , ТекущаяДата));
|
||||||
|
СтруктураЗаписи.Вставить("uuid_field" , Новый Структура("UUID" , Новый УникальныйИдентификатор()));
|
||||||
|
|
||||||
|
МассивЗаписей.Добавить(СтруктураЗаписи);
|
||||||
|
|
||||||
|
Результат = OPI_PostgreSQL.ДобавитьЗаписи(Таблица, МассивЗаписей, Истина, СтрокаПодключения);
|
||||||
|
|
||||||
// END
|
// END
|
||||||
|
|
||||||
@@ -17428,6 +17460,56 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура PostgreSQL_ПолучитьЗаписи(ПараметрыФункции)
|
||||||
|
|
||||||
|
Адрес = ПараметрыФункции["PG_IP"];
|
||||||
|
Логин = "bayselonarrend";
|
||||||
|
Пароль = ПараметрыФункции["PG_Password"];
|
||||||
|
База = "testbase1";
|
||||||
|
|
||||||
|
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
|
||||||
|
|
||||||
|
Таблица = "testtable";
|
||||||
|
|
||||||
|
Поля = Новый Массив;
|
||||||
|
Поля.Добавить("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");
|
||||||
|
Поля.Добавить("char_field");
|
||||||
|
Поля.Добавить("name_field");
|
||||||
|
Поля.Добавить("bytea_field");
|
||||||
|
Поля.Добавить("ts_field");
|
||||||
|
Поля.Добавить("tswtz_field");
|
||||||
|
Поля.Добавить("ip_field");
|
||||||
|
Поля.Добавить("json_field");
|
||||||
|
Поля.Добавить("jsonb_field");
|
||||||
|
Поля.Добавить("date_field");
|
||||||
|
Поля.Добавить("time_field");
|
||||||
|
Поля.Добавить("uuid_field");
|
||||||
|
|
||||||
|
Результат = OPI_PostgreSQL.ПолучитьЗаписи(Таблица, Поля, , , , СтрокаПодключения);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Результат["data"]) Тогда
|
||||||
|
Результат["data"][0]["bytea_field"]["BYTEA"] = Лев(Результат["data"][0]["bytea_field"]["BYTEA"], 10) + "...";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗаписи", "PostgreSQL");
|
||||||
|
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@@ -2148,9 +2148,9 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||||
|
|
||||||
Модуль = Вычислить(Имя);
|
Модуль = Вычислить(Имя);
|
||||||
|
|
||||||
Возврат Модуль;
|
Возврат Модуль;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@@ -458,7 +458,7 @@
|
|||||||
Параметры_ = OPI_Инструменты.JSONСтрокой(Параметры, , Ложь);
|
Параметры_ = OPI_Инструменты.JSONСтрокой(Параметры, , Ложь);
|
||||||
|
|
||||||
Если СтрНачинаетсяС(Параметры_, "НЕ JSON") Тогда
|
Если СтрНачинаетсяС(Параметры_, "НЕ JSON") Тогда
|
||||||
ВызватьИсключение "Ошибка валидации JSON массив параметров!";
|
ВызватьИсключение "Ошибка валидации JSON массива параметров!";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Параметры_;
|
Возврат Параметры_;
|
||||||
|
Reference in New Issue
Block a user