Skip to content

Commit

Permalink
Интерфейс и поведение самописного метода СтрРазделить приведены к пла…
Browse files Browse the repository at this point in the history
…тформенному методу:

- параметр Разделитель теперь обязательный, не имеет значения по умолчанию
- параметр ПропускатьПустыеСтроки переименован в ВключатьПустые
- Параметр ВключатьПустые теперь имеет значение по-умолчанию Истина (как и платформенный метод)
  • Loading branch information
leemuar committed Feb 19, 2019
1 parent 35a45e5 commit acc17d0
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 50 deletions.
30 changes: 5 additions & 25 deletions src/CommonModules/КоннекторHTTP/Ext/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -1989,42 +1989,22 @@
Возврат СтрокаПодстановки;
КонецФункции

Функция СтрРазделить(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт
Функция СтрРазделить(Знач Строка, Знач Разделитель, Знач ВключатьПустые = Истина) Экспорт

Результат = Новый Массив;

// Для обеспечения обратной совместимости.
Если ПропускатьПустыеСтроки = Неопределено Тогда
ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь);
Если ПустаяСтрока(Строка) Тогда
Если Разделитель = " " Тогда
Результат.Добавить("");
КонецЕсли;
Возврат Результат;
КонецЕсли;
КонецЕсли;
//

Позиция = Найти(Строка, Разделитель);
Пока Позиция > 0 Цикл
Подстрока = Лев(Строка, Позиция - 1);
Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда
Если СокращатьНепечатаемыеСимволы Тогда
Результат.Добавить(СокрЛП(Подстрока));
Иначе
Результат.Добавить(Подстрока);
КонецЕсли;
Если ВключатьПустые Или Не ПустаяСтрока(Подстрока) Тогда
Результат.Добавить(Подстрока);
КонецЕсли;
Строка = Сред(Строка, Позиция + СтрДлина(Разделитель));
Позиция = Найти(Строка, Разделитель);
КонецЦикла;

Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда
Если СокращатьНепечатаемыеСимволы Тогда
Результат.Добавить(СокрЛП(Строка));
Иначе
Результат.Добавить(Строка);
КонецЕсли;
Если ВключатьПустые Или Не ПустаяСтрока(Строка) Тогда
Результат.Добавить(Строка);
КонецЕсли;

Возврат Результат;
Expand Down
30 changes: 5 additions & 25 deletions src/DataProcessors/Тесты/Ext/ObjectModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -617,42 +617,22 @@
Возврат СтрокаПодстановки;
КонецФункции

Функция СтрРазделить(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт
Функция СтрРазделить(Знач Строка, Знач Разделитель, Знач ВключатьПустые = Истина) Экспорт

Результат = Новый Массив;

// Для обеспечения обратной совместимости.
Если ПропускатьПустыеСтроки = Неопределено Тогда
ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь);
Если ПустаяСтрока(Строка) Тогда
Если Разделитель = " " Тогда
Результат.Добавить("");
КонецЕсли;
Возврат Результат;
КонецЕсли;
КонецЕсли;
//

Позиция = Найти(Строка, Разделитель);
Пока Позиция > 0 Цикл
Подстрока = Лев(Строка, Позиция - 1);
Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда
Если СокращатьНепечатаемыеСимволы Тогда
Результат.Добавить(СокрЛП(Подстрока));
Иначе
Результат.Добавить(Подстрока);
КонецЕсли;
Если ВключатьПустые Или Не ПустаяСтрока(Подстрока) Тогда
Результат.Добавить(Подстрока);
КонецЕсли;
Строка = Сред(Строка, Позиция + СтрДлина(Разделитель));
Позиция = Найти(Строка, Разделитель);
КонецЦикла;

Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда
Если СокращатьНепечатаемыеСимволы Тогда
Результат.Добавить(СокрЛП(Строка));
Иначе
Результат.Добавить(Строка);
КонецЕсли;
Если ВключатьПустые Или Не ПустаяСтрока(Строка) Тогда
Результат.Добавить(Строка);
КонецЕсли;

Возврат Результат;
Expand Down

0 comments on commit acc17d0

Please sign in to comment.