From 3c005053ea2e372ffe80f2354b7ebeadfe311705 Mon Sep 17 00:00:00 2001 From: Anton Titovets Date: Sun, 13 Jul 2025 00:05:21 +0300 Subject: [PATCH] =?UTF-8?q?MSSQL:=20=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20CLI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci/os/internal/Modules/МетодыCLI.os | 14 +- docs/docusaurus/src/css/custom.css | 2 +- .../src/CommonModules/OPI_ТестыCLI/Module.bsl | 512 ++++++++++++------ 3 files changed, 358 insertions(+), 170 deletions(-) diff --git a/ci/os/internal/Modules/МетодыCLI.os b/ci/os/internal/Modules/МетодыCLI.os index eb6d660d57..5671ccddef 100644 --- a/ci/os/internal/Modules/МетодыCLI.os +++ b/ci/os/internal/Modules/МетодыCLI.os @@ -423,12 +423,12 @@ ТекущийФайлСостава.ДобавитьСтроку(Символы.ПС); ТекущийФайлСостава.ДобавитьСтроку(Символы.ПС); ТекущийФайлСостава.ДобавитьСтроку(" Возврат """); - ТекущийФайлСостава.ДобавитьСтроку(" | Контекст = Новый Структура;"); + ТекущийФайлСостава.ДобавитьСтроку(" |Контекст = Новый Структура;"); - ШаблонКонтекста = " | Контекст.Вставить(""""%1"""", Неопределено);"; - ШаблонОсновного = " | %1 = ЗагрузитьСценарий(""""%2"""", Контекст);"; - ШаблонПодключения = " | %1 = ЗагрузитьСценарий(""""%2"""", Контекст); - | | Контекст.Вставить(""""%1"""", %1);"; + ШаблонКонтекста = " |Контекст.Вставить(""""%1"""", Неопределено);"; + ШаблонОсновного = " |%1 = ЗагрузитьСценарий(""""%2"""", Контекст);"; + ШаблонПодключения = " |%1 = ЗагрузитьСценарий(""""%2"""", Контекст); + | |Контекст.Вставить(""""%1"""", %1);"; МассивКонтекста = Новый Массив; МассивПодключений = Новый Массив; @@ -447,9 +447,9 @@ ТекстПодключения = СтрСоединить(МассивПодключений, Символы.ПС); ТекущийФайлСостава.ДобавитьСтроку(ТекстКонтекста); - ТекущийФайлСостава.ДобавитьСтроку(" | "); + ТекущийФайлСостава.ДобавитьСтроку(" |"); ТекущийФайлСостава.ДобавитьСтроку(ТекстПодключения); - ТекущийФайлСостава.ДобавитьСтроку(" | "); + ТекущийФайлСостава.ДобавитьСтроку(" |"); ТекущийФайлСостава.ДобавитьСтроку(ТекстОсновного); ТекущийФайлСостава.ДобавитьСтроку(" |"" + Символы.ПС;"); diff --git a/docs/docusaurus/src/css/custom.css b/docs/docusaurus/src/css/custom.css index 1131b099bb..053e153de8 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; } - 27% { + 25% { 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 24c2b4715e..91af51511c 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl @@ -2745,6 +2745,17 @@ CLI_MSSQL_СоздатьБазуДанных(ПараметрыТеста); CLI_MSSQL_СоздатьТаблицу(ПараметрыТеста); CLI_MSSQL_ДобавитьЗаписи(ПараметрыТеста); + CLI_MSSQL_ПолучитьЗаписи(ПараметрыТеста); + CLI_MSSQL_ОбновитьЗаписи(ПараметрыТеста); + CLI_MSSQL_УдалитьЗаписи(ПараметрыТеста); + CLI_MSSQL_ОчиститьТаблицу(ПараметрыТеста); + CLI_MSSQL_ПолучитьИнформациюОТаблице(ПараметрыТеста); + CLI_MSSQL_ДобавитьКолонкуТаблицы(ПараметрыТеста); + CLI_MSSQL_УдалитьКолонкуТаблицы(ПараметрыТеста); + CLI_MSSQL_ГарантироватьТаблицу(ПараметрыТеста); + CLI_MSSQL_УдалитьТаблицу(ПараметрыТеста); + CLI_MSSQL_УдалитьБазуДанных(ПараметрыТеста); + CLI_MSSQL_ПолучитьСтруктуруФильтраЗаписей(ПараметрыТеста); КонецПроцедуры @@ -25470,36 +25481,53 @@ КонецПроцедуры -Процедура 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"; - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - Если ЗначениеЗаполнено(Результат["data"]) Тогда // SKIP - Результат["data"][0]["varbinary_field"]["BYTES"] = Лев(Результат["data"][0]["varbinary_field"]["BYTES"], 10) + "..."; // SKIP - КонецЕсли; // SKIP + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьЗаписи", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи", "MSSQL"); // SKIP - OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // SKIP + Если ЗначениеЗаполнено(Результат["data"]) Тогда + Результат["data"][0]["varbinary_field"]["BYTES"] = Лев(Результат["data"][0]["varbinary_field"]["BYTES"], 10) + "..."; + КонецЕсли; + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьЗаписи", "MSSQL"); + OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); // Отборы, выбранные поля, количество и сортировка - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, "test_data", Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , "test_data"); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); + + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); Таблица = "test_data"; @@ -25531,25 +25559,43 @@ Сортировка = Новый Структура("ip_address", "DESC"); Количество = 5; - Результат = OPI_MSSQL.ПолучитьЗаписи(Таблица, Поля, Фильтры, Сортировка, Количество, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("fields", Поля); + Опции.Вставить("filter", Фильтры); + Опции.Вставить("order" , Сортировка); + Опции.Вставить("limit" , Количество); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - // END + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьЗаписи", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗаписи (отборы)", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьЗаписи (отборы)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 5); КонецПроцедуры -Процедура MSSQL_ОбновитьЗаписи(ПараметрыФункции) +Процедура CLI_MSSQL_ОбновитьЗаписи(ПараметрыФункции) Адрес = ПараметрыФункции["PG_IP"]; Логин = "SA"; Пароль = ПараметрыФункции["PG_Password"]; База = "test_data"; - НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина); - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , База); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); + + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); + + Опции = Новый Структура; + Опции.Вставить("trust", Истина); + + НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); Таблица = "test_data"; @@ -25567,24 +25613,38 @@ Фильтры.Добавить(СтруктураФильтра); - Количество = OPI_MSSQL.ПолучитьЗаписи(Таблица, , Фильтры, , , СтрокаПодключения, НастройкиTLS); // SKIP - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Количество, "ОбновитьЗаписи (количество)", "MSSQL"); // SKIP - Количество = Количество["data"].Количество(); // SKIP + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("filter", Фильтры); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.ОбновитьЗаписи(Таблица, СтруктураПолей, СтруктураФильтра, СтрокаПодключения, НастройкиTLS); + Количество = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьЗаписи", Опции); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Количество, "ОбновитьЗаписи (количество)", "MSSQL"); + Количество = Количество["data"].Количество(); - // END + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("values", СтруктураПолей); + Опции.Вставить("filter", СтруктураФильтра); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьЗаписи", "MSSQL"); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ОбновитьЗаписи", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОбновитьЗаписи", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); - Проверка = OPI_MSSQL.ПолучитьЗаписи(Таблица, "['ip_address']", Фильтры, , , СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("fields", "['ip_address']"); + Опции.Вставить("filter", Фильтры); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ОбновитьЗаписи (проверка)", "MSSQL"); + Проверка = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьЗаписи", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ОбновитьЗаписи (проверка)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка); OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], Количество); @@ -25594,15 +25654,26 @@ КонецПроцедуры -Процедура MSSQL_УдалитьЗаписи(ПараметрыФункции) +Процедура CLI_MSSQL_УдалитьЗаписи(ПараметрыФункции) Адрес = ПараметрыФункции["PG_IP"]; Логин = "SA"; Пароль = ПараметрыФункции["PG_Password"]; База = "test_data"; - НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина); - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , База); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); + + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); + + Опции = Новый Структура; + Опции.Вставить("trust", Истина); + + НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); Таблица = "test_data"; @@ -25625,142 +25696,183 @@ СтруктураФильтра.Вставить("value", Новый Структура("NVARCHAR", "127.0.0.1")); СтруктураФильтра.Вставить("raw" , Ложь); - Получение = OPI_MSSQL.ПолучитьЗаписи(Таблица, , Фильтры, , , СтрокаПодключения, НастройкиTls); // SKIP + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("filter", Фильтры); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.УдалитьЗаписи(Таблица, Фильтры, СтрокаПодключения, НастройкиTls); + Получение = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьЗаписи", Опции); - // END + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("filter", Фильтры); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Получение, "УдалитьЗаписи (получение)", "MSSQL"); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьЗаписи", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Получение, "УдалитьЗаписи (получение)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); Количество = Получение["data"].Количество(); Остаток = 100 - Количество; - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьЗаписи", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); - Результат = OPI_MSSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗаписи (проверка)", "MSSQL"); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьЗаписи", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьЗаписи (проверка)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], Остаток); КонецПроцедуры -Процедура 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"; - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.УдалитьТаблицу(Таблица, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - // END + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьТаблицу", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьТаблицу", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); База = "test_data"; Таблица = "test_data"; - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); - Результат = OPI_MSSQL.УдалитьТаблицу(Таблица, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , База); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьТаблицу (тест)", "MSSQL"); + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); + + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьТаблицу", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьТаблицу (тест)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); КонецПроцедуры -Процедура MSSQL_УдалитьБазуДанных(ПараметрыФункции) +Процедура CLI_MSSQL_УдалитьБазуДанных(ПараметрыФункции) Адрес = ПараметрыФункции["PG_IP"]; Логин = "SA"; Пароль = ПараметрыФункции["PG_Password"]; - НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина); - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); + + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); + + Опции = Новый Структура; + Опции.Вставить("trust", Истина); + + НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); База = "testbase1"; - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.УдалитьБазуДанных(База, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("base" , База); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - // END + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьБазуДанных", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьБазуДанных", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); - База = "testbase2"; + Опции = Новый Структура; + Опции.Вставить("base" , База); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - Подключение = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьБазуДанных", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Подключение, "УдалитьБазуДанных (открытие)", "MSSQL"); - OPI_ПолучениеДанныхТестов.Проверка_Компонента(Подключение, "AddIn.OPI_MSSQL.Main"); - - Результат = OPI_MSSQL.УдалитьБазуДанных(База, Подключение); - - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (подключение)", "MSSQL"); - OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); - - Результат = OPI_MSSQL.УдалитьБазуДанных(База, Подключение); - - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБазуДанных (ошибка)", "MSSQL"); - OPI_ПолучениеДанныхТестов.Проверка_РезультатЛожь(Результат); - - Закрытие = OPI_MSSQL.ЗакрытьСоединение(Подключение); - - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Закрытие, "УдалитьБазуДанных (закрытие)", "MSSQL"); - OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Закрытие); - - Результат = OPI_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"; - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.ОчиститьТаблицу(Таблица, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - // END + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ОчиститьТаблицу", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ОчиститьТаблицу", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); - Результат = OPI_MSSQL.ПолучитьЗаписи(Таблица, , , , , СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьЗаписи", Опции); OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОчиститьТаблицу (проверка)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); @@ -25768,39 +25880,54 @@ КонецПроцедуры -Процедура 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"; - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - // END + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьИнформациюОТаблице", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьИнформациюОТаблице", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 16); Таблица = "heyho"; - Результат = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОТаблице (ошибка)", "MSSQL"); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьИнформациюОТаблице", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьИнформациюОТаблице (ошибка)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат["data"], 0); КонецПроцедуры -Процедура MSSQL_ДобавитьКолонкуТаблицы(ПараметрыФункции) +Процедура CLI_MSSQL_ДобавитьКолонкуТаблицы(ПараметрыФункции) Адрес = ПараметрыФункции["PG_IP"]; Логин = "SA"; @@ -25811,22 +25938,40 @@ Имя = "new_field"; ТипДанных = "bigint"; - НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина); - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , База); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.ДобавитьКолонкуТаблицы(Таблица, Имя, ТипДанных, СтрокаПодключения, НастройкиTLS); + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); - // END + Опции = Новый Структура; + Опции.Вставить("trust", Истина); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКолонкуТаблицы", "MSSQL"); + НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); + + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("name" , Имя); + Опции.Вставить("type" , ТипДанных); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ДобавитьКолонкуТаблицы", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ДобавитьКолонкуТаблицы", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); - Результат = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКолонкуТаблицы (проверка)", "MSSQL"); + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьИнформациюОТаблице", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ДобавитьКолонкуТаблицы (проверка)", "MSSQL"); Найдена = Ложь; @@ -25846,7 +25991,7 @@ КонецПроцедуры -Процедура MSSQL_УдалитьКолонкуТаблицы(ПараметрыФункции) +Процедура CLI_MSSQL_УдалитьКолонкуТаблицы(ПараметрыФункции) Адрес = ПараметрыФункции["PG_IP"]; Логин = "SA"; @@ -25856,22 +26001,33 @@ Таблица = "testtable"; Имя = "new_field"; - НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина); - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , База); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.УдалитьКолонкуТаблицы(Таблица, Имя, СтрокаПодключения, НастройкиTLS); + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); - // END + Опции = Новый Структура; + Опции.Вставить("trust", Истина); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы", "MSSQL"); + НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); + + Опции = Новый Структура; + Опции.Вставить("table" , Таблица); + Опции.Вставить("name" , Имя); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "УдалитьКолонкуТаблицы", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьКолонкуТаблицы", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); Результат = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКолонкуТаблицы (проверка)", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "УдалитьКолонкуТаблицы (проверка)", "MSSQL"); Найдена = Ложь; @@ -25887,7 +26043,7 @@ КонецПроцедуры -Процедура MSSQL_ГарантироватьТаблицу(ПараметрыФункции) +Процедура CLI_MSSQL_ГарантироватьТаблицу(ПараметрыФункции) Адрес = ПараметрыФункции["PG_IP"]; Логин = "SA"; @@ -25896,8 +26052,19 @@ База = "testbase1"; Таблица = "testtable"; - НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина); - СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль); + Опции = Новый Структура; + Опции.Вставить("addr" , Адрес); + Опции.Вставить("db" , База); + Опции.Вставить("login", Логин); + Опции.Вставить("pass" , Пароль); + + СтрокаПодключения = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "СформироватьСтрокуПодключения", Опции, Ложь); + СтрокаПодключения = ПолучитьСтрокуИзДвоичныхДанных(СтрокаПодключения); + + Опции = Новый Структура; + Опции.Вставить("trust", Истина); + + НастройкиTLS = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьНастройкиTls", Опции, Ложь); СтруктураКолонок = Новый Структура; СтруктураКолонок.Вставить("smallint_field" , "smallint"); @@ -25905,21 +26072,26 @@ СтруктураКолонок.Вставить("bigint_field" , "bigint"); СтруктураКолонок.Вставить("custom_field" , "nvarchar"); - // При использовании строки подключения инициализируется новое соединение, - // которое будет закрыто после выполнения функции. - // В случае выполнения нескольких операций желательно использовать одно соединение, - // заранее созданное функцией ОткрытьСоединение() - Результат = OPI_MSSQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("cols" , СтруктураКолонок); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - // END + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ГарантироватьТаблицу", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ГарантироватьТаблицу", "MSSQL"); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ГарантироватьТаблицу", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]); - Проверка = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ГарантироватьТаблицу (проверка)", "MSSQL"); + Проверка = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьИнформациюОТаблице", Опции, Ложь); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ГарантироватьТаблицу (проверка)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка); OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество()); @@ -25930,15 +26102,26 @@ Таблица = "test_new"; - Результат = OPI_MSSQL.ГарантироватьТаблицу(Таблица, СтруктураКолонок, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("cols" , СтруктураКолонок); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ГарантироватьТаблицу (новая)", "MSSQL"); + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ГарантироватьТаблицу", Опции, Ложь); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ГарантироватьТаблицу (новая)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); OPI_ПолучениеДанныхТестов.Проверка_Истина(Результат["commit"]["result"]); - Проверка = OPI_MSSQL.ПолучитьИнформациюОТаблице(Таблица, СтрокаПодключения, НастройкиTLS); + Опции = Новый Структура; + Опции.Вставить("table", Таблица); + Опции.Вставить("dbc" , СтрокаПодключения); + Опции.Вставить("tls" , НастройкиTLS); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Проверка, "ГарантироватьТаблицу (новая, проверка)", "MSSQL"); + Проверка = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьИнформациюОТаблице", Опции, Ложь); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Проверка, "ГарантироватьТаблицу (новая, проверка)", "MSSQL"); OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Проверка); OPI_ПолучениеДанныхТестов.Проверка_Массив(Проверка["data"], СтруктураКолонок.Количество()); @@ -25949,17 +26132,22 @@ КонецПроцедуры -Процедура MSSQL_ПолучитьСтруктуруФильтраЗаписей(ПараметрыФункции) +Процедура CLI_MSSQL_ПолучитьСтруктуруФильтраЗаписей(ПараметрыФункции) - Результат = OPI_MSSQL.ПолучитьСтруктуруФильтраЗаписей(); + Опции = Новый Структура; + Опции.Вставить("empty", Ложь); - // END + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьСтруктуруФильтраЗаписей", Опции); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЗаписей", "MSSQL"); - OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат); + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруФильтраЗаписей", "MSSQL"); + OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат); - Результат = OPI_MSSQL.ПолучитьСтруктуруФильтраЗаписей(Истина); - OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЗаписей (пустая)", "MSSQL"); + Опции = Новый Структура; + Опции.Вставить("empty", Истина); + + Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("mssql", "ПолучитьСтруктуруФильтраЗаписей", Опции); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛогCLI(Результат, "ПолучитьСтруктуруФильтраЗаписей (пустая)", "MSSQL"); Для Каждого Элемент Из Результат Цикл