Помогите пожалуйста понять в чём ошибка:

```1c
    Процедура СоздатьСправочникиНажатие(Элемент)

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Номенклатура.Ссылка КАК Ссылка,
    | Номенклатура.Код КАК Код,
    | Номенклатура.Наименование КАК Наименование
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.ТипНоменклатуры = "материал"";

    Выборка = Запрос.Выполнить().Выбрать();

    Для Каждого Стр Из Выборка.Ссылка Цикл

    ОбМатериалы = Справочники.Материалы.СоздатьЭлемент();

    ЗаполнитьЗначенияСвойств(Стр, ОбМатериалы);

    ОбМатериалы.Код = Стр.Код;

    ОбМатериалы.Наименование = Стр.Наименование;

    ОбМатериалы.Записать();

    КонецЦикла

    КонецПроцедуры
```

Пишет ошибку:

{Обработка.СозданиеИМодификацияОбъектов.Форма.Форма.Форма(180)}: Итератор для значения не определен
 Для Каждого Стр Из Выборка.Ссылка Цикл
---
Эм, разве ТипНоменклатуры это строка??
Может быть ТипНоменклатуры.Наименование
А наименование у вас с большой буквы? или с маленькой? не в курсе че в запрос с проверкой на регистр

```1c
    "ВЫБРАТЬ
    | Номенклатура.Ссылка КАК Ссылка,
    | Номенклатура.Код КАК Код,
    | Номенклатура.Наименование КАК Наименование
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.ТипНоменклатуры.Наименование = "материал"";
```
---
Выборка.Следующий()
---
```1c
    Процедура СоздатьСправочникиНажатие(Элемент)

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Номенклатура.Ссылка КАК Ссылка,
    | Номенклатура.Код КАК Код,
    | Номенклатура.Наименование КАК Наименование
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.ТипНоменклатуры = "материал"";

    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл

    ОбМатериалы = Справочники.Материалы.СоздатьЭлемент();

    ЗаполнитьЗначенияСвойств(Выборка, ОбМатериалы);

    ОбМатериалы.Код = Выборка.Код;

    ОбМатериалы.Наименование = Выборка.Наименование;

    ОбМатериалы.Записать();

    КонецЦикла

    КонецПроцедуры
```

Так?

Всё равно не создаёт...
---
да, теперь осталось взять консоль запросов и понять почему его результат пустой
---
|ГДЕ
        | Номенклатура.ТипНоменклатуры = ""материал""";

Скорее надо писать

Номенклатура.ТипНоменклатуры ПОДОБНО ""%материал%""";
---
вы думаете из-за этого не работает?
---
Сам еще и накосячил: Номенклатура.ТипНоменклатуры.Наименование ПОДОБНО ""%материал%""";
Если ТипНоменклатуры справочник.

Если Перечисление тогда Номенклатура.ТипНоменклатуры = Значение(Перечисление.ТипыНоменклатуры.Материалы);

Не знаю какая у вас конфа.

Сделайте Выборка = Запрос.Выполнить().Выгрузить() и посмотрите есть ли данные в ТЗ
---
решил это параметром с переменной, иначе запрос был пустой
---
и еще
```1c
    ЗаполнитьЗначенияСвойств(Выборка, ОбМатериалы);
```

заменить на
```1c
    ЗаполнитьЗначенияСвойст( ОбМатериалы,Выборка);
```
---
Эм, разве ТипНоменклатуры это строка??
Может быть ТипНоменклатуры.Наименование
А наименование у вас с большой буквы? или с маленькой? не в курсе че в запрос с проверкой на регистр

```1c
    "ВЫБРАТЬ
    | Номенклатура.Ссылка КАК Ссылка,
    | Номенклатура.Код КАК Код,
    | Номенклатура.Наименование КАК Наименование
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.ТипНоменклатуры.Наименование = "материал"";
```
---
Получилось.

Параметр через переменную установил и всё заработало:

```1c
    Процедура СоздатьСправочникиНажатие(Элемент)

    Мат = Перечисления.ТипыНоменклатуры.Материал;

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Номенклатура.Ссылка КАК Ссылка,
    | Номенклатура.Код КАК Код,
    | Номенклатура.Наименование КАК Наименование,
    | Номенклатура.Артикул КАК Артикул,
    | Номенклатура.ЕдИзмерения КАК ЕдИзмерения
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.ТипНоменклатуры = &материал";

    Запрос.УстановитьПараметр("материал", Мат);

    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл

    ОбМатериалы = Справочники.Материалы.СоздатьЭлемент();

    ЗаполнитьЗначенияСвойств(Выборка, ОбМатериалы);

    ОбМатериалы.Код = Прав(Выборка.Артикул, 4);

    ОбМатериалы.Наименование = Выборка.Наименование;

    ОбМатериалы.ЕдИзмерения = Выборка.ЕдИзмерения;

    ОбМатериалы.Записать();

    КонецЦикла

    КонецПроцедуры
```
---
я бы еще отказался от использования
```1c
    ЗаполнитьЗначенияСвойств(Выборка, ОбМатериалы);
```
, т.к. ниже все равно все реквизиты перезаполняются. ну кроме Ссылка только. Но и ее в таком случае проще записать отдельно.