From 323ab12b9ecf9c9e09bedb3453d062e69d0aa0ad Mon Sep 17 00:00:00 2001 From: Dmitry Date: Thu, 1 Sep 2022 14:56:48 +0300 Subject: [PATCH] =?UTF-8?q?+=20=D0=9D=D0=B0=D1=87=D0=B0=D1=82=D1=8C=D0=A1?= =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D0=BC=D0=B5=D1=80=D0=BE=D0=BC=20+=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Итератор/Ext/ObjectModule.bsl | 10 ++++++++-- test/Тест_Итератор/Ext/ObjectModule.bsl | 5 +++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Итератор/Ext/ObjectModule.bsl b/src/Итератор/Ext/ObjectModule.bsl index 08161a9..919ec7a 100644 --- a/src/Итератор/Ext/ObjectModule.bsl +++ b/src/Итератор/Ext/ObjectModule.bsl @@ -251,6 +251,13 @@ ЭтотОбъект.СброситьПозицию(); Возврат ЭтотОбъект; КонецФункции +Функция НачатьСРазмером(Знач Размер) Экспорт + ЭтотОбъект.Начать(); + Если 0 < Размер Тогда + ЭтотОбъект.Вставить(Размер - 1, Неопределено); + КонецЕсли; + Возврат ЭтотОбъект; +КонецФункции Функция НачатьС(_Значение) Экспорт Возврат ЭтотОбъект.Начать().Добавить(_Значение); КонецФункции @@ -770,8 +777,7 @@ КонецЦикла; // заполнение новой коллекции - ЭтотОбъект.Начать(); - ЭтотОбъект.Вставить(КлючиПоПорядку.ВГраница(), Неопределено); + ЭтотОбъект.НачатьСРазмером(КлючиПоПорядку.Количество()); Для Каждого ТекПара Из Набор Цикл Индекс = КлючиПоПорядку.Найти(ТекПара.Ключ); ЭтотОбъект.Установить(Индекс, ТекПара); diff --git a/test/Тест_Итератор/Ext/ObjectModule.bsl b/test/Тест_Итератор/Ext/ObjectModule.bsl index 9791593..6aa65e3 100644 --- a/test/Тест_Итератор/Ext/ObjectModule.bsl +++ b/test/Тест_Итератор/Ext/ObjectModule.bsl @@ -23,6 +23,7 @@ НаборТестов.Добавить("Тест_ОтклБезопасныйРежим"); НаборТестов.Добавить("Тест_Начать"); + НаборТестов.Добавить("Тест_НачатьСРазмером"); НаборТестов.Добавить("Тест_НачатьС"); НаборТестов.Добавить("Тест_ВзятьИз"); НаборТестов.Добавить("Тест_РазделитьСтроку"); @@ -174,6 +175,10 @@ Ожидаем.Что(Итератор.Пустой()).ЭтоИстина(); КонецПроцедуры +Процедура Тест_НачатьСРазмером() Экспорт + Ожидаем.Что(Итератор().НачатьСРазмером(42).Количество()).Равно(42); + Ожидаем.Что(Итератор().НачатьСРазмером(1).Первый()).ЭтоНеопределено(); +КонецПроцедуры Процедура Тест_НачатьС() Экспорт Итератор = Итератор().НачатьС("тест");