diff --git a/src/Итератор/Ext/ObjectModule.bsl b/src/Итератор/Ext/ObjectModule.bsl index 919ec7a..cbee86b 100644 --- a/src/Итератор/Ext/ObjectModule.bsl +++ b/src/Итератор/Ext/ObjectModule.bsl @@ -287,6 +287,12 @@ КонецЕсли; Возврат Коллекция; КонецФункции +Функция СобратьФиксированный() Экспорт + Если Неопределено = Коллекция Тогда + ЭтотОбъект.Начать(); + КонецЕсли; + Возврат Новый ФиксированныйМассив(ЭтотОбъект.Собрать()); +КонецФункции Функция СобратьСтроку(Знач Разделитель="") Экспорт Если Неопределено = Коллекция Тогда Коллекция = Новый Массив; diff --git a/test/Тест_Итератор/Ext/ObjectModule.bsl b/test/Тест_Итератор/Ext/ObjectModule.bsl index 3f27f20..5af9039 100644 --- a/test/Тест_Итератор/Ext/ObjectModule.bsl +++ b/test/Тест_Итератор/Ext/ObjectModule.bsl @@ -30,6 +30,7 @@ НаборТестов.Добавить("Тест_УстановитьКонтекст"); НаборТестов.Добавить("Тест_Собрать"); + НаборТестов.Добавить("Тест_СобратьФиксированный"); НаборТестов.Добавить("Тест_СобратьСтроку"); НаборТестов.Добавить("Тест_Контекст"); @@ -207,6 +208,14 @@ Ожидаем.Что(Результат.Количество()).Равно(3); Ожидаем.Что(Результат).ИмеетТип(Тип("Массив")); КонецПроцедуры +Процедура Тест_СобратьФиксированный() Экспорт + Результат = Итератор() + .ВзятьИз("123") + .СобратьФиксированный(); + + Ожидаем.Что(Результат.Количество()).Равно(3); + Ожидаем.Что(Результат).ИмеетТип(Тип("ФиксированныйМассив")); +КонецПроцедуры Процедура Тест_СобратьСтроку() Экспорт Итератор = Итератор().РазделитьСтроку("1,2,3", ","); Результат = Итератор.СобратьСтроку("/");