Добрый день, использую это код

```1c
    Для Каждого МетаданноеСправочника Из Метаданные.Справочники.Работники Цикл
    Имя = МетаданноеСправочника.Имя;
    Счетчик = 1;
    Выборка = Справочники[Имя].Выбрать();
    Пока Выборка.Следующий() Цикл
    Спровочник = Выборка.ПолучитьОбъект();
    Для Каждого Реквизит Из МетаданноеСправочника.СтандартныеРеквизиты Цикл
    Если Реквизит.Имя = "Наименование" Тогда
    Спровочник[Реквизит.Имя] = МетаданноеСправочника.Имя + " " + Счетчик;
    КонецЕсли;
    КонецЦикла;

    Для Каждого Реквизит Из МетаданноеСправочника.Реквизиты Цикл
    Если ТипЗнч(Спровочник[Реквизит.Имя]) = Тип("Строка") И ЗначениеЗаполнено(Спровочник[Реквизит.Имя]) Тогда
    Спровочник[Реквизит.Имя] = Реквизит.Имя + " " + Счетчик;
    КонецЕсли;
    КонецЦикла;

    Для Каждого МетаданныеТабличнаяЧасть Из МетаданноеСправочника.ТабличныеЧасти Цикл
    Для Каждого СтрокаТабличнойЧасти Из Спровочник[МетаданныеТабличнаяЧасть.Имя] Цикл
    Если ТипЗнч(Спровочник[Реквизит.Имя]) = Тип("Строка") И ЗначениеЗаполнено(Спровочник[Реквизит.Имя]) Тогда
    Спровочник[Реквизит.Имя] = Реквизит.Имя + " " + Счетчик;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    Спровочник.ОбменДанными.Загрузка = Истина;
    Спровочник.Записать();
    Счетчик = Счетчик + 1;
    КонецЦикла;
    КонецЦикла;
```

для определённого справочника но при работе выдаёт ошибку Итератор для значения не определен
---
тогда первый цикл не нужен вообще, он перебирает все справочники. Нужно начинать код с конструкции
Выборка = Справочники.Работники.Выбрать();
---
А что ты хочешь перебрать в Метаданные.Справочники.Работники? И кто сказал, что это вообще коллекция?
---
Тогда как правильно ?
---
Зависит от поставленной цели.
---
Обезличивать всех в этом справочнике.
---
Для Каждого МетаданноеСправочника Из Метаданные.Справочники Цикл
---
Так было меня это не устроило мне нужно обезличить всех в этом справочнике
---
тогда первый цикл не нужен вообще, он перебирает все справочники. Нужно начинать код с конструкции
Выборка = Справочники.Работники.Выбрать();
---
Выборка = Справочники.Работники.Выбрать(); тут весь код надо перелопатить.
---
Справочник Работники единый объект метаданных, его перебрать невозможно. Можно перебрать его реквизиты.
---
В начале кода убрать

```1c
    Для Каждого МетаданноеСправочника Из Метаданные.Справочники.Работники Цикл
    Имя = МетаданноеСправочника.Имя;
    Счетчик = 1;
    Выборка = Справочники[Имя].Выбрать();
```

вместо этого поставить

```1c
    Выборка = Справочники.Работники.Выбрать();
```

В конце кода убрать

```1c
    Счетчик = Счетчик + 1;
    КонецЦикла;
```

И все будет работать. Лопатьте на здоровье.
---
Согласен, а с этим что делать
```1c
    Для Каждого Реквизит Из МетаданноеСправочника.СтандартныеРеквизиты Цикл
```
 ?
---
Воткните вначале

МетаданноеСправочника = Метаданные.Справочники.Работники;
---
Вот так

```1c
    Для Каждого МетаданноеСправочника Из Метаданные.Справочники Цикл
    Имя = МетаданноеСправочника.Имя;
    Счетчик = 1;
    Выборка = Справочники.Работники.Выбрать();
    Пока Выборка.Следующий() Цикл
    Справочник = Выборка.ПолучитьОбъект();
    Для Каждого Реквизит Из МетаданноеСправочника.СтандартныеРеквизиты Цикл
    Если Реквизит.Имя = "Наименование" Тогда
    Справочник[Реквизит.Имя] = МетаданноеСправочника.Имя + " " + Счетчик;
    КонецЕсли;
    КонецЦикла;

    //Для Каждого Реквизит Из МетаданноеСправочника.Реквизиты Цикл
    // Если ТипЗнч(Справочник[Реквизит.Имя]) = Тип("Строка") И ЗначениеЗаполнено(Справочник[Реквизит.Имя]) Тогда
    // Справочник[Реквизит.Имя] = Реквизит.Имя + " " + Счетчик;
    // КонецЕсли;
    //КонецЦикла;

    Для Каждого МетаданныеТабличнаяЧасть Из МетаданноеСправочника.ТабличныеЧасти Цикл
    Для Каждого СтрокаТабличнойЧасти Из Справочник[МетаданныеТабличнаяЧасть.Имя] Цикл
    Если ТипЗнч(Справочник[Реквизит.Имя]) = Тип("Строка") И ЗначениеЗаполнено(Справочник[Реквизит.Имя]) Тогда
    Справочник[Реквизит.Имя] = Реквизит.Имя + " " + Счетчик;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    Справочник.ОбменДанными.Загрузка = Истина;
    Справочник.Записать();
    Счетчик = Счетчик + 1;
    КонецЦикла;
    КонецЦикла;
```
запустил вроде начало обезличивать
---
В таком виде оно будет обезличивать работников столько раз, сколько у вас в конфе справочников)))
Раз 50 обезличит, но куда вам спешить.