diff --git a/src/Итератор/Ext/ObjectModule.bsl b/src/Итератор/Ext/ObjectModule.bsl index 4003b03..334fd08 100644 --- a/src/Итератор/Ext/ObjectModule.bsl +++ b/src/Итератор/Ext/ObjectModule.bsl @@ -184,6 +184,15 @@ КонецФункции #КонецОбласти +Функция ЭтоИтератор(Значение) + Результат = Ложь; + Попытка + Результат = "Итератор" = Метаданные().Синоним; + Исключение + ; + КонецПопытки; + Возврат Результат; +КонецФункции Функция ЗагрузитьКоллекцию(_Значение) Результат = Неопределено; Если Тип("Строка") = ТипЗнч(_Значение) Тогда @@ -194,7 +203,7 @@ Результат = Новый Массив(_Значение); ИначеЕсли Тип("ДеревоЗначений") = ТипЗнч(_Значение) Тогда Результат = __ОбходДерева(_Значение); - ИначеЕсли Тип("ВнешниеОбработкиОбъект.Итератор") = ТипЗнч(_Значение) Тогда + ИначеЕсли ЭтоИтератор(_Значение) Тогда Результат = _Значение.Собрать(); ИначеЕсли __ЭтоКоллекция(_Значение) Тогда Результат = Новый Массив; @@ -208,7 +217,7 @@ КонецФункции Функция СоздатьНовый() Экспорт - Возврат ВнешниеОбработки.Иттератор.Создать(); + Возврат ВнешниеОбработки.Создать(ЭтотОбъект.ИспользуемоеИмяФайла); КонецФункции Функция Клонировать() Экспорт НоваяКоллекция = Новый ФиксированныйМассив(Коллекция);