1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2024-11-30 08:36:50 +02:00

Вынес методы работы со строками

This commit is contained in:
alkoleft 2024-01-16 03:04:30 +03:00
parent 1402466d8c
commit 9eec1e8a20
8 changed files with 91 additions and 49 deletions

View File

@ -45,7 +45,7 @@
ТипПараметра = ТипЗнч(ВыбираемыеПоля);
Если ТипПараметра = Тип("Строка") Тогда
ВыбираемыеПоля = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ВыбираемыеПоля, ",");
ВыбираемыеПоля = ЮТСтроки.РазделитьСтроку(ВыбираемыеПоля, ",");
ТипПараметра = Тип("Массив");
КонецЕсли;

View File

@ -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 @@
КонецЕсли;
Если ОграничениеТипа <> Неопределено Тогда
ПолноеИмяРеквизита = ЮТОбщий.ДобавитьСтроку(Контекст.ТекущаяТабличнаяЧасть, ИмяРеквизита, ".");
ПолноеИмяРеквизита = ЮТСтроки.ДобавитьСтроку(Контекст.ТекущаяТабличнаяЧасть, ИмяРеквизита, ".");
ТипЗначения = ПересечениеТипов(ОписаниеРеквизита.Тип, ОграничениеТипа, ПолноеИмяРеквизита);
Иначе
ТипЗначения = ОписаниеРеквизита.Тип;

View File

@ -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; ЧВН=;"), ".");
Инкремент(Представление, " сек");

View File

@ -73,7 +73,7 @@
Возврат Параметры;
КонецЕсли;
ПарыКлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ПараметрыЗапускаСтрокой, ";");
ПарыКлючЗначение = ЮТСтроки.РазделитьСтроку(ПараметрыЗапускаСтрокой, ";");
ПараметрыЗапуска = Новый Структура;
@ -83,7 +83,7 @@
Продолжить;
КонецЕсли;
КлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Пара, "=");
КлючЗначение = ЮТСтроки.РазделитьСтроку(Пара, "=");
Если КлючЗначение.Количество() = 1 Тогда
ПараметрыЗапуска.Вставить(КлючЗначение[0], Истина);

View File

@ -330,8 +330,8 @@
Функция ДобавитьОписания(ТекстОшибки, ОписаниеПроверки = Неопределено) Экспорт
Если ОписаниеПроверки <> Неопределено Тогда
ПрефиксОшибки = ЮТОбщий.ДобавитьСтроку(ОписаниеПроверки.ПрефиксОшибки, ОписаниеПроверки.ОписаниеПроверки, " ");
СообщениеОбОшибке = ЮТОбщий.ДобавитьСтроку(ПрефиксОшибки, ТекстОшибки, ": ");
ПрефиксОшибки = ЮТСтроки.ДобавитьСтроку(ОписаниеПроверки.ПрефиксОшибки, ОписаниеПроверки.ОписаниеПроверки, " ");
СообщениеОбОшибке = ЮТСтроки.ДобавитьСтроку(ПрефиксОшибки, ТекстОшибки, ": ");
Иначе
СообщениеОбОшибке = ТекстОшибки;
КонецЕсли;

View File

@ -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), Символ);
КонецФункции
// Строка с символами русского алфавита
//
// Параметры:

View File

@ -92,7 +92,7 @@
Продолжить;
КонецЕсли;
КолонкиМакета = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель);
КолонкиМакета = ЮТСтроки.РазделитьСтроку(Строка, Разделитель);
СледующаяСтрока(ПараметрыИтератора);
Прервать;
@ -112,7 +112,7 @@
КонецЕсли;
СтрокаДанных = ПараметрыЗагрузки.Таблица.Добавить();
Блоки = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель);
Блоки = ЮТСтроки.РазделитьСтроку(Строка, Разделитель);
Для Каждого ОписаниеКолонки Из ПараметрыЗагрузки.ОписаниеКолонок Цикл

View File

@ -1817,7 +1817,7 @@
Функция ПараметрыСообщенийОбОшибке(ПроверяемоеЗначение, ОписаниеПроверки, ОбъектПроверки = "проверяемое значение")
Контекст = Контекст();
ПолноеОписаниеПроверки = ЮТОбщий.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " ");
ПолноеОписаниеПроверки = ЮТСтроки.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " ");
ПредставлениеЗначения = СтрШаблон("`%1`", ПроверяемоеЗначение);
Возврат ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, ОбъектПроверки, ПредставлениеЗначения);
@ -1852,7 +1852,7 @@
Контекст = Контекст();
Предикат = ЮТФабрика.ВыражениеПредиката(Выражение, Контекст.ОбъектПроверки.ИмяСвойства, ОжидаемоеЗначение);
ПолноеОписаниеПроверки = ЮТОбщий.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " ");
ПолноеОписаниеПроверки = ЮТСтроки.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " ");
ПараметрыСообщенийОбОшибке = ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, , Контекст.ОбъектПроверки.Представление);
Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Контекст.ОбъектПроверки.Значение, Предикат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);