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).Первый()).ЭтоНеопределено();
+КонецПроцедуры
 Процедура Тест_НачатьС() Экспорт
     Итератор = Итератор().НачатьС("тест");