```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)

    Индекс = 0;
    Пока Индекс <> Таблица.Количество() Цикл

    ПоискРаботника = Справочники.Работники.НайтиПоНаименованию(Таблица.Получить(Индекс).Фио);
    Если Таблица.Получить(Индекс).Фио <> ПоискРаботника.Наименование Тогда
    Сообщить("нема");
    ДатаЕксель = Таблица.Получить(Индекс).Датанародження;
    СтрДата = СтрЗаменить(ДатаЕксель, "." , ");

    Год = Прав(СтрДата,4);
    День = Лев(СтрДата,2);
    Месяц = Сред(СтрДата,3,2);
    СтрокаДаты = " + Год + Месяц + День;
    ДатаРоботника = Дата(СтрокаДаты);

    НовыйЭлемент = Справочники.Работники.СоздатьЭлемент();
    НовыйЭлемент.Наименование = Таблица.Получить(Индекс).Фио;
    НовыйЭлемент.Адрес = Таблица.Получить(Индекс).Адреса;
    НовыйЭлемент.ДатаРождения = ДатаРоботника;

    Если Таблица.Получить(Индекс).Офнеоф = "0" Тогда

    НовыйЭлемент.Официально = Ложь;

    Иначе
    НовыйЭлемент.Официально = Истина;
    КонецЕсли;

    НовыйЭлемент.Должность = Справочники.Должности.НайтиПоНаименованию(Таблица.Получить(Индекс).Должность);

    Если НовыйЭлемент.Должность = Справочники.Должности.ПустаяСсылка() Тогда

    НовыйЭлементДолжность = Справочники.Должности.СоздатьЭлемент();
    НовыйЭлементДолжность.Наименование = Таблица.Получить(Индекс).Должность;
    НовыйЭлементДолжность.Записать();

    КонецЕсли;
    НовыйЭлемент.Должность = Справочники.Должности.НайтиПоНаименованию(Таблица.Получить(Индекс).Должность);

    НовыйЭлемент.Записать();
    Иначе Продолжить;
    КонецЕсли;
    Индекс = Индекс + 1;
    КонецЦикла;
    КонецПроцедуры
```
---
Потому что Таблица.Количество() выдает значение равное МаксимальныйИндекс + 1

Используйте цикл вида

```1c
    Для Каждого Стр ИЗ Таблица Цикл
    ......
    КонецЦикла
```

вместо

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

Используйте цикл вида

```1c
    Для Каждого Стр ИЗ Таблица Цикл
    ......
    КонецЦикла
```

вместо

```1c
    Пока Индекс <> Таблица.Количество() Цикл
    .......
    КонецЦикла
```
---
Я не думаю, что это решит проблему
---
проблему зацикливания очень даже решит...
правильность обработки данных - это уже второй вопрос.
---
Для Каждого Стр ИЗ Таблица Цикл
Сделал так, все то же
Зацикливания правда нет
---
Отладчик - "в зубы" и разбираться, почему так происходит.
---
ну, спасибо хоть за Стр)
---
Я заметил что оно добавляет вместо "Кушнир Владимир СтепановиЧ" - "Кушнир Владимир СтепановИ"
---
Соотвественно, изменил длину Наименования и все работает)
Из-за того,что значени з "Ч" а в Справочнике нету "Ч" и оно постоянно добавляло.