Есть код:

```1c
    КонДата = ТекущаяДата() + 120;

    ФормаИндикатора = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
    ФормаИндикатора.Открыть();
    ФормаИндикатора.КомментарийОбработкиДанных = "Файл в папке занят другим приложением. Пытаемся перезаписать...";

    Пока ТекущаяДата() < КонДата Цикл

    ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = n ;

    КонецЦикла;

    ФормаИндикатора.Закрыть();
```

Не пойму, как в цикле сделать так, чтобы n увеличивалось каждую секунду.
То есть от 0 до 100, с учетом, что n = 120 секунд.
---
Если ничего не напутал, то как-то так:

```1c
    НачДата = ТекущаяДата();
    КонДата = ТекущаяДата() + 120;
    Коэфф = (КонДата - НачДата) / 100;
    Сч = 1;
    лТекдата = ТекущаяДата() + Сч;
    Пока ТекущаяДата() < КонДата Цикл
    Если лТекДата = ТекущаяДата() Тогда
    ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = Сч * Коэфф;
    Сч = Сч + 1;
    лТекДата = ТекущаяДата() + 1;
    КонецЕсли;
    КонецЦикла;
```
---
Поставить условие в цикле: если разница между текущей датой и предыдущей датой равно или более 1 сек, то прибавляем 1, присваиваем предыдущей дате значение текущей даты.
А можно сразу рассчитать разницу в секундах между текущей датой и КонДата и принять значение за условно 100. Количество получившихся секунд / 100 = количество секунд, после прохождения которых необходимо добавить 1 в цикле
---
```1c
    Пока ТекущаяДата() < КонДата Цикл

    ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = n ;

    Если ТекущаяДата() - КонДата >= 1 Тогда
    n=n+1;
    КонецЕсли;

    КонецЦикла;
```

Так ? Не совсем уловил мысль..
---
```1c
    ПредДата = ТекущаяДата();

    Пока ТекущаяДата() < КонДата Цикл

    ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = n ;

    Если ТекущаяДата() - ПредДата >= 1 Тогда
    n=n+1;
    ПредДата = ТекущаяДата();
    КонецЕсли;

    КонецЦикла;
```

Как-то так, будет каждую секунду увеличиваться
---
Не пойму, как в цикле сделать так, чтобы n увеличивалось каждую секунду.
То есть от 0 до 100, с учетом, что n = 120 секунд как n может увеличиваться каждую секунду и в то же время n = 120 секунд
---
Каждую секунду n = n + 1.2, что через 100 итераций даст 120.
---
Если ничего не напутал, то как-то так:

```1c
    НачДата = ТекущаяДата();
    КонДата = ТекущаяДата() + 120;
    Коэфф = (КонДата - НачДата) / 100;
    Сч = 1;
    лТекдата = ТекущаяДата() + Сч;
    Пока ТекущаяДата() < КонДата Цикл
    Если лТекДата = ТекущаяДата() Тогда
    ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = Сч * Коэфф;
    Сч = Сч + 1;
    лТекДата = ТекущаяДата() + 1;
    КонецЕсли;
    КонецЦикла;
```
---
Вы крутой! Но доходит до 100 и висит, то есть две минуты не прошло ещё..
---
наврал чутка.

Вместо

```1c
    ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = Сч * Коэфф;
```

Необходимо сделать:

```1c
    ФормаИндикатора.ЭлементыФормы.Индикатор.Значение = Сч / Коэфф;
```
---
Лучше все в секунды переведи и по 1 прибавляй. Но физически будет зависеть от проца сколько итерация будет идти.
---
А если обработчик ожидания подключить? Технологичнее будет
Читайте в СП: ПодключитьОбработчикОжидания
---
процедура где удалить файл находится в общем модуле у которого только "Сервер".
---
Но ожидание же на клиенте