From 9eec1e8a20255d7bcd26cb8dbe6566009f1ec565 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 16 Jan 2024 03:04:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=20=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D0=BE=D0=B4=D1=8B=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B?= =?UTF-8?q?=20=D1=81=D0=BE=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B0=D0=BC?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ЮТЗапросыКлиентСервер/Module.bsl | 2 +- .../Module.bsl | 4 +- .../src/CommonModules/ЮТОбщий/Module.bsl | 49 ++++--------- .../ЮТПараметрыЗапуска/Module.bsl | 4 +- .../ЮТРегистрацияОшибок/Module.bsl | 4 +- .../src/CommonModules/ЮТСтроки/Module.bsl | 69 ++++++++++++++++++- .../Module.bsl | 4 +- .../CommonModules/ЮТУтверждения/Module.bsl | 4 +- 8 files changed, 91 insertions(+), 49 deletions(-) diff --git a/exts/yaxunit/src/CommonModules/ЮТЗапросыКлиентСервер/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТЗапросыКлиентСервер/Module.bsl index 20931ee4..61c469bd 100644 --- a/exts/yaxunit/src/CommonModules/ЮТЗапросыКлиентСервер/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТЗапросыКлиентСервер/Module.bsl @@ -45,7 +45,7 @@ ТипПараметра = ТипЗнч(ВыбираемыеПоля); Если ТипПараметра = Тип("Строка") Тогда - ВыбираемыеПоля = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ВыбираемыеПоля, ","); + ВыбираемыеПоля = ЮТСтроки.РазделитьСтроку(ВыбираемыеПоля, ","); ТипПараметра = Тип("Массив"); КонецЕсли; diff --git a/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанныхСлужебный/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанныхСлужебный/Module.bsl index 488135cf..8833e78f 100644 --- a/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанныхСлужебный/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанныхСлужебный/Module.bsl @@ -1,6 +1,6 @@ //©///////////////////////////////////////////////////////////////////////////©// // -// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// Copyright 2021-2024 BIA-Technologies Limited Liability Company // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -43,7 +43,7 @@ КонецЕсли; Если ОграничениеТипа <> Неопределено Тогда - ПолноеИмяРеквизита = ЮТОбщий.ДобавитьСтроку(Контекст.ТекущаяТабличнаяЧасть, ИмяРеквизита, "."); + ПолноеИмяРеквизита = ЮТСтроки.ДобавитьСтроку(Контекст.ТекущаяТабличнаяЧасть, ИмяРеквизита, "."); ТипЗначения = ПересечениеТипов(ОписаниеРеквизита.Тип, ОграничениеТипа, ПолноеИмяРеквизита); Иначе ТипЗначения = ОписаниеРеквизита.Тип; diff --git a/exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl index 1fcee54f..dce66bb9 100644 --- a/exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl @@ -70,7 +70,7 @@ #Область Строки -// ДобавитьСтроку +// Устарела Метод перенесен в см. ЮТСтроки.ДобавитьСтроку // Конкатенирует строки, разделяя их разделителем // // Параметры: @@ -80,28 +80,14 @@ // // Возвращаемое значение: // Строка - Результат конкатенации строк -// -Функция ДобавитьСтроку(Знач ИсходнаяСтрока, Знач ДополнительнаяСтрока, Знач Разделитель = ";") Экспорт +Функция ДобавитьСтроку(ИсходнаяСтрока, ДополнительнаяСтрока, Разделитель = ";") Экспорт - Если Не ПустаяСтрока(ДополнительнаяСтрока) Тогда - - Если Не ПустаяСтрока(ИсходнаяСтрока) Тогда - - Возврат Строка(ИсходнаяСтрока) + Разделитель + Строка(ДополнительнаяСтрока); - - Иначе - - Возврат Строка(ДополнительнаяСтрока); - - КонецЕсли; - - КонецЕсли; - - Возврат Строка(ИсходнаяСтрока); + ВызовУстаревшегоМетода("ЮТОбщий.ДобавитьСтроку", "ЮТСтроки.ДобавитьСтроку"); + Возврат ЮТСтроки.ДобавитьСтроку(ИсходнаяСтрока, ДополнительнаяСтрока, Разделитель); КонецФункции -// РазложитьСтрокуВМассивПодстрок +// Устарела Метод перенесен в см. ЮТСтроки.РазделитьСтроку // Возвращает массив на основании строки // // Параметры: @@ -111,26 +97,14 @@ // Возвращаемое значение: // Массив Из Строка - массив строк // -Функция РазложитьСтрокуВМассивПодстрок(Знач Значение, Разделитель = ";") Экспорт +Функция РазложитьСтрокуВМассивПодстрок(Значение, Разделитель = ";") Экспорт - КодУниверсальногоРазделителя = 5855; - УниверсальныйРазделитель = Символ(КодУниверсальногоРазделителя); - МодифицированнаяСтрока = СтрЗаменить(Значение, Разделитель, УниверсальныйРазделитель); - - МассивСтрок = ?(МодифицированнаяСтрока = "", Новый Массив, СтрРазделить(МодифицированнаяСтрока, - УниверсальныйРазделитель)); - - Для Индекс = 0 По МассивСтрок.ВГраница() Цикл - - МассивСтрок[Индекс] = СокрЛП(МассивСтрок[Индекс]); - - КонецЦикла; - - Возврат МассивСтрок; + ВызовУстаревшегоМетода("ЮТОбщий.РазложитьСтрокуВМассивПодстрок", "ЮТСтроки.РазбитьСтроку"); + Возврат ЮТСтроки.РазделитьСтроку(Значение, Разделитель); КонецФункции -// Сформировать строку символов. +// Устарела Метод перенесен в см. ЮТСтроки.СтрокаСимволов // Формирует строку из заданного количества повторяемых символов // Параметры: // Символ - Строка - Повторяемый символ @@ -140,7 +114,8 @@ // Строка - Строка повторяемых символов Функция СформироватьСтрокуСимволов(Символ, Количество) Экспорт - Возврат СтрСоединить(Новый Массив(Количество + 1), Символ); + ВызовУстаревшегоМетода("ЮТОбщий.СформироватьСтрокуСимволов", "ЮТСтроки.СтрокаСимволов"); + Возврат ЮТСтроки.СтрокаСимволов(Символ, Количество); КонецФункции @@ -210,7 +185,7 @@ Функция ПредставлениеПродолжительности(Знач Продолжительность) Экспорт Представление = ЧислоВСтроку(Цел(Продолжительность / 1000)); - Представление = ДобавитьСтроку(Представление, Формат(Продолжительность % 1000, "ЧЦ=3; ЧВН=;"), "."); + Представление = ЮТСтроки.ДобавитьСтроку(Представление, Формат(Продолжительность % 1000, "ЧЦ=3; ЧВН=;"), "."); Инкремент(Представление, " сек"); diff --git a/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl index 7bf99de4..22aa67bc 100644 --- a/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl @@ -73,7 +73,7 @@ Возврат Параметры; КонецЕсли; - ПарыКлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ПараметрыЗапускаСтрокой, ";"); + ПарыКлючЗначение = ЮТСтроки.РазделитьСтроку(ПараметрыЗапускаСтрокой, ";"); ПараметрыЗапуска = Новый Структура; @@ -83,7 +83,7 @@ Продолжить; КонецЕсли; - КлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Пара, "="); + КлючЗначение = ЮТСтроки.РазделитьСтроку(Пара, "="); Если КлючЗначение.Количество() = 1 Тогда ПараметрыЗапуска.Вставить(КлючЗначение[0], Истина); diff --git a/exts/yaxunit/src/CommonModules/ЮТРегистрацияОшибок/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТРегистрацияОшибок/Module.bsl index dd4e15bd..0d7d9bbc 100644 --- a/exts/yaxunit/src/CommonModules/ЮТРегистрацияОшибок/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТРегистрацияОшибок/Module.bsl @@ -330,8 +330,8 @@ Функция ДобавитьОписания(ТекстОшибки, ОписаниеПроверки = Неопределено) Экспорт Если ОписаниеПроверки <> Неопределено Тогда - ПрефиксОшибки = ЮТОбщий.ДобавитьСтроку(ОписаниеПроверки.ПрефиксОшибки, ОписаниеПроверки.ОписаниеПроверки, " "); - СообщениеОбОшибке = ЮТОбщий.ДобавитьСтроку(ПрефиксОшибки, ТекстОшибки, ": "); + ПрефиксОшибки = ЮТСтроки.ДобавитьСтроку(ОписаниеПроверки.ПрефиксОшибки, ОписаниеПроверки.ОписаниеПроверки, " "); + СообщениеОбОшибке = ЮТСтроки.ДобавитьСтроку(ПрефиксОшибки, ТекстОшибки, ": "); Иначе СообщениеОбОшибке = ТекстОшибки; КонецЕсли; diff --git a/exts/yaxunit/src/CommonModules/ЮТСтроки/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТСтроки/Module.bsl index b99dede1..5631b3ec 100644 --- a/exts/yaxunit/src/CommonModules/ЮТСтроки/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТСтроки/Module.bsl @@ -1,6 +1,6 @@ //©///////////////////////////////////////////////////////////////////////////©// // -// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// Copyright 2021-2024 BIA-Technologies Limited Liability Company // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,73 @@ #Область ПрограммныйИнтерфейс +// Конкатенирует строки, разделяя их разделителем +// +// Параметры: +// ИсходнаяСтрока - Строка - Исходная строка +// ДополнительнаяСтрока - Строка - Добавляемая строка +// Разделитель - Строка - Строка разделитель, любой набор символов - разделитель между подстроками +// +// Возвращаемое значение: +// Строка - Результат конкатенации строк +// +Функция ДобавитьСтроку(ИсходнаяСтрока, ДополнительнаяСтрока, Разделитель = ";") Экспорт + + Если Не ПустаяСтрока(ДополнительнаяСтрока) Тогда + + Если Не ПустаяСтрока(ИсходнаяСтрока) Тогда + Возврат Строка(ИсходнаяСтрока) + Разделитель + Строка(ДополнительнаяСтрока); + Иначе + Возврат Строка(ДополнительнаяСтрока); + КонецЕсли; + + КонецЕсли; + + Возврат Строка(ИсходнаяСтрока); + +КонецФункции + +// Возвращает массив на основании строки. +// При этом: +// * отсекает незначащие символы, стоящие слева от первого значащего символа в строке, и пробелы, стоящие справа от последнего значащего символа в строке. +// * в отличии от `СтрРазделить` в качестве разделителля используется вся переданная строка, а не любой из символов входящий в нее. +// +// Параметры: +// Значение - Строка - преобразуемая строка +// Разделитель - Строка - строка-разделитель +// +// Возвращаемое значение: +// Массив Из Строка - массив строк +// +Функция РазделитьСтроку(Знач Значение, Разделитель = ";") Экспорт + + КодУниверсальногоРазделителя = 5855; + УниверсальныйРазделитель = Символ(КодУниверсальногоРазделителя); + МодифицированнаяСтрока = СтрЗаменить(Значение, Разделитель, УниверсальныйРазделитель); + + МассивСтрок = ?(МодифицированнаяСтрока = "", Новый Массив, СтрРазделить(МодифицированнаяСтрока, УниверсальныйРазделитель)); + + Для Индекс = 0 По МассивСтрок.ВГраница() Цикл + МассивСтрок[Индекс] = СокрЛП(МассивСтрок[Индекс]); + КонецЦикла; + + Возврат МассивСтрок; + +КонецФункции + +// Формирует строку из заданного количества повторяемых символов +// Параметры: +// Символ - Строка - Повторяемый символ +// Количество - Число - Количество повторений +// +// Возвращаемое значение: +// Строка - Строка повторяемых символов +Функция СтрокаСимволов(Символ, Количество) Экспорт + + Возврат СтрСоединить(Новый Массив(Количество + 1), Символ); + +КонецФункции + // Строка с символами русского алфавита // // Параметры: diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl index 5cf1c581..b0535f79 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl @@ -92,7 +92,7 @@ Продолжить; КонецЕсли; - КолонкиМакета = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель); + КолонкиМакета = ЮТСтроки.РазделитьСтроку(Строка, Разделитель); СледующаяСтрока(ПараметрыИтератора); Прервать; @@ -112,7 +112,7 @@ КонецЕсли; СтрокаДанных = ПараметрыЗагрузки.Таблица.Добавить(); - Блоки = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель); + Блоки = ЮТСтроки.РазделитьСтроку(Строка, Разделитель); Для Каждого ОписаниеКолонки Из ПараметрыЗагрузки.ОписаниеКолонок Цикл diff --git a/exts/yaxunit/src/CommonModules/ЮТУтверждения/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТУтверждения/Module.bsl index 5423d315..1bc64876 100644 --- a/exts/yaxunit/src/CommonModules/ЮТУтверждения/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТУтверждения/Module.bsl @@ -1817,7 +1817,7 @@ Функция ПараметрыСообщенийОбОшибке(ПроверяемоеЗначение, ОписаниеПроверки, ОбъектПроверки = "проверяемое значение") Контекст = Контекст(); - ПолноеОписаниеПроверки = ЮТОбщий.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " "); + ПолноеОписаниеПроверки = ЮТСтроки.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " "); ПредставлениеЗначения = СтрШаблон("`%1`", ПроверяемоеЗначение); Возврат ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, ОбъектПроверки, ПредставлениеЗначения); @@ -1852,7 +1852,7 @@ Контекст = Контекст(); Предикат = ЮТФабрика.ВыражениеПредиката(Выражение, Контекст.ОбъектПроверки.ИмяСвойства, ОжидаемоеЗначение); - ПолноеОписаниеПроверки = ЮТОбщий.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " "); + ПолноеОписаниеПроверки = ЮТСтроки.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " "); ПараметрыСообщенийОбОшибке = ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, , Контекст.ОбъектПроверки.Представление); Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Контекст.ОбъектПроверки.Значение, Предикат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);