From 0e79427e28697c8620f895b384eb0e7cfaf639a4 Mon Sep 17 00:00:00 2001 From: Anton Titovets Date: Sat, 12 Jul 2025 19:22:06 +0300 Subject: [PATCH] =?UTF-8?q?MSSQL:=20=D0=94=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=20CLI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/docusaurus/src/css/custom.css | 2 +- .../src/CommonModules/OPI_ТестыCLI/Module.bsl | 108 ++++++++++++------ 2 files changed, 77 insertions(+), 33 deletions(-) diff --git a/docs/docusaurus/src/css/custom.css b/docs/docusaurus/src/css/custom.css index be151c0138..1131b099bb 100644 --- a/docs/docusaurus/src/css/custom.css +++ b/docs/docusaurus/src/css/custom.css @@ -463,7 +463,7 @@ li > a.menu__link { transform: translateY(-30px) ; opacity: 0.3; } - 28% { + 27% { opacity: 0; } 100% { diff --git a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl index eaaaa80e98..5764669c31 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl @@ -2743,6 +2743,8 @@ OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста); CLI_MSSQL_СоздатьБазуДанных(ПараметрыТеста); + CLI_MSSQL_СоздатьТаблицу(ПараметрыТеста); + CLI_MSSQL_ДобавитьЗаписи(ПараметрыТеста); КонецПроцедуры @@ -25276,7 +25278,7 @@ Опции.Вставить("trust", Истина); НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); - + База = "testbase1"; Опции = Новый Структура; @@ -25284,7 +25286,7 @@ Опции.Вставить("dbc" , СтрокаПодключения); Опции.Вставить("tls" , НастройкиTLS); - Удаление = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьТаблицу", Опции, Ложь); + Удаление = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьБазуДанных", Опции, Ложь); OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Удаление, "СоздатьБазуДанных (удаление)", "MSSQL"); Опции = Новый Структура; @@ -25304,15 +25306,26 @@ КонецПроцедуры -Процедура MSSQL_СоздатьТаблицу(ПараметрыФункции) +Процедура CLI_MSSQL_СоздатьТаблицу(ПараметрыФункции) Адрес = ПараметрыФункции["PG_IP"]; Логин = "SA"; Пароль = ПараметрыФункции["PG_Password"]; База = "testbase1"; - НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина); - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , База); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); + + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); + + Опции = Новый Структура; + Опции.Вставить("trust", Истина); + + НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); Таблица = "testtable"; @@ -25334,51 +25347,76 @@ СтруктураКолонок.Вставить("dto_field" , "datetimeoffset"); СтруктураКолонок.Вставить("datetime_field" , "datetime"); - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("cols" , СтруктураКолонок); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СоздатьТаблицу", Опции, Ложь); - // END - - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьТаблицу", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); Таблица = "АБВ ГДЕ"; - Результат = OPI_MSSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("cols" , СтруктураКолонок); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СоздатьТаблицу", Опции, Ложь); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (ошибка имени)", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьТаблицу (ошибка имени)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат); Таблица = "somename"; СтруктураКолонок.Вставить("wtf_field", "WTF"); - Результат = OPI_MSSQL.СоздатьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("cols" , СтруктураКолонок); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СоздатьТаблицу", Опции, Ложь); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьТаблицу (ошибка типа)", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "СоздатьТаблицу (ошибка типа)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат); КонецПроцедуры -Процедура MSSQL_ДобавитьЗаписи(ПараметрыФункции) +Процедура CLI_MSSQL_ДобавитьЗаписи(ПараметрыФункции) Адрес = ПараметрыФункции["PG_IP"]; Логин = "SA"; Пароль = ПараметрыФункции["PG_Password"]; База = "testbase1"; - НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина); - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , База); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); + + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); + + Опции = Новый Структура; + Опции.Вставить("trust", Истина); + + НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); Таблица = "testtable"; МассивЗаписей = Новый Массив; Картинка = ПараметрыФункции["Picture"]; OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка); // Картинка - Тип: ДвоичныеДанные + ИВФ = ПолучитьИмяВременногоФайла(); + Картинка.Записать(ИВФ); - XML = " + XML = СтрЗаменить(" | | | Пример @@ -25388,7 +25426,7 @@ | Тест | 456 | - |"; + |", Символы.ПС, "\n"); ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); ТекущаяДатаЧП = OPI_Инструменты.ДатаRFC3339(ТекущаяДата, "+05:00"); @@ -25402,8 +25440,8 @@ СтруктураЗаписи.Вставить("float53_field" , Новый Структура("FLOAT53" , 10.123456789123456)); СтруктураЗаписи.Вставить("bit_field" , Новый Структура("BIT" , Истина)); СтруктураЗаписи.Вставить("nvarchar_field" , Новый Структура("NVARCHAR" , "Some text")); - СтруктураЗаписи.Вставить("varbinary_field", Новый Структура("BYTES" , Картинка)); - СтруктураЗаписи.Вставить("uid_field" , Новый Структура("UUID" , Новый УникальныйИдентификатор)); + СтруктураЗаписи.Вставить("varbinary_field", Новый Структура("BYTES" , ИВФ)); + СтруктураЗаписи.Вставить("uid_field" , Новый Структура("UUID" , Строка(Новый УникальныйИдентификатор))); СтруктураЗаписи.Вставить("numeric_field" , Новый Структура("NUMERIC" , 5.333)); СтруктураЗаписи.Вставить("xml_field" , Новый Структура("XML" , XML)); СтруктураЗаписи.Вставить("date_field" , Новый Структура("DATE" , ТекущаяДата)); @@ -25413,16 +25451,22 @@ МассивЗаписей.Добавить(СтруктураЗаписи); - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.ДобавитьЗаписи(Таблица, МассивЗаписей, Истина, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("rows" , МассивЗаписей); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ДобавитьЗаписи", Опции, Ложь); - // END - - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗаписи", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ДобавитьЗаписи", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); + + Попытка + УдалитьФайлы(ИВФ); + Исключение + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(ОписаниеОшибки(), "Ошибка удаления файла картинки", "MySQL"); + КонецПопытки; КонецПроцедуры