Реализовал возможность проверки логина и пароля, добавил обработчик ожидания, если пароль или логин неверный, то форма блокируется на 10 секунд. Но хочу сделать 3 попытки на проверку логина и пароля, если данные неверны тогда запустить обработчик ожидания.

```1c
    &НаКлиенте
    Процедура Вход(Команда)
    Авторизация = ВойтиВСистему();
    Если Авторизация Тогда
    ОткрытьФорму("ОбщаяФорма.Пользователь");
    ИначеЕсли Авторизация = Ложь Тогда
    Ввели_не_правильно_3_раза = Истина;
    Если Ввели_не_правильно_3_раза Тогда
    Таймер =10;
    ТаймерНадпись = Таймер;
    ЭтаФорма.Доступность = Ложь;
    ПодключитьОбработчикОжидания("ЗапуститьТаймер", 1);
    КонецЕсли;
    КонецЕсли;

    КонецПроцедуры
```
---
что-то типа такого:

```1c
    &НаКлиенте
    Перем Ввели_не_правильно_раз;

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    Ввели_не_правильно_раз = 0;
    КонецПроцедуры

    &НаКлиенте
    Процедура Вход(Команда)
    Авторизация = ВойтиВСистему();
    Если Авторизация Тогда
    ОткрытьФорму("ОбщаяФорма.Пользователь");
    Иначе
    Ввели_не_правильно_раз = Ввели_не_правильно_раз + 1;
    Если Ввели_не_правильно_раз = 3 Тогда
    Ввели_не_правильно_раз = 0;
    Таймер = 10;
    ТаймерНадпись = Таймер;
    ЭтаФорма.Доступность = Ложь;
    ПодключитьОбработчикОжидания("ЗапуститьТаймер", 1);
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры
```
---
завести переменную счетчик попыток в форме ввода пароля. при открытии формы ввода пароля счетчик = 0. при отказах в авторизации увеличивать счетчик и проверять его значение.
---
Вы не могли бы скинуть пример кода? Я уже пытался сделать проверку данным образом, но при выполнении условия Авторизация=Ложь, переменная перезаписывается один раз. При повторном нажатии войти, "1"больше не добавляется.
Может ли это случится из-за того, что в конструкторе запроса, где проверяется корректность пароля и логина стоит условие:

```1c
    Если Результат = Истина Тогда
    Возврат Истина;
    Иначе
    Возврат Ложь;
```

Именно
```1c
    Возврат Ложь
```
 не может повлиять на то, что к переменной не добавляется +1?
---
нет у меня примера, описал как бы я сделал
---
Очень жаль,спасибо.
---
И в чем возникла проблема?
---
В том, что не могу написать код для 3 попыток ввода данных.
---
как то так
...
Ввели_не_правильно_раз= 0;
...

```1c
    ИначеЕсли Авторизация = Ложь Тогда
    Ввели_не_правильно_раз = Ввели_не_правильно_раз + 1;
    Если Ввели_не_правильно_раз>=3 Тогда
    Ввели_не_правильно_раз = 0;
    Таймер =10;
    ТаймерНадпись = Таймер;
    ЭтаФорма.Доступность = Ложь;
    ПодключитьОбработчикОжидания("ЗапуститьТаймер", 1);
    КонецЕсли;
    КонецЕсли;
```
---
Не работает
---
а что будет, если ваша система начнет работать в клиент-серверном варианте ?

или

https://infostart.ru/public/126828/
---
У меня учебная версия. Задача состоит в том, что все данные записаны в справочнике и другим методом нельзя.
Просто не могу понять, почему переменная записывается только один раз. Пробовал через цикл, но это не помогло.
---
покажите код с вашей попыткой
---
Держите код авторизации. Мне нужно понять, почему переменная Ввели_не_правильно_раз не прибавляет 1 при повторном нажатии.

```1c
    &НаКлиенте
    Процедура Вход(Команда)
    Ввели_не_правильно_раз=0;
    Авторизация = ВойтиВСистему();
    Если Авторизация Тогда
    ОткрытьФорму("ОбщаяФорма.Пользователь");
    ИначеЕсли Авторизация = Ложь Тогда
    Если Ввели_не_правильно_раз = Ввели_не_правильно_раз + 1 Тогда
    КонецЕсли;
    Если Ввели_не_правильно_раз>=3 Тогда
    Ввели_не_правильно_раз = Истина;
    Таймер =10;
    ТаймерНадпись = Таймер;
    ЭтаФорма.Доступность = Ложь;
    ПодключитьОбработчикОжидания("ЗапуститьТаймер", 1);
    КонецЕсли;
    КонецЕсли;

    //Ввели_не_правильно_3_раза = Истина;
    // Если Ввели_не_правильно_3_раза Тогда
    // Таймер =10;
    // ТаймерНадпись = Таймер;
    // ЭтаФорма.Доступность = Ложь;
    // ПодключитьОбработчикОжидания("ЗапуститьТаймер", 1);
    // КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ЗапуститьТаймер()
    Если Таймер>0 Тогда
    Таймер=Таймер-1;
    ТаймерНадпись= Таймер;
    Иначе
    ОтключитьОбработчикОжидания("ЗапуститьТаймер");
    ЭтаФорма.Доступность=Истина;
    КонецЕсли;
    КонецПроцедуры

    &НаСервере
    Функция ВойтиВСистему()
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

    Запрос.УстановитьПараметр("Имя", Логин);

    Результат = Запрос.Выполнить().Выгрузить();
    Если Результат.Количество() = 1 И Пароль = Результат[0].Пароль И Логин = Результат[0].Логин Тогда
    Возврат Истина;
    Иначе
    Возврат Ложь;
    КонецЕсли;

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    КонецФункции
```
---
Если Ввели_не_правильно_раз = Ввели_не_правильно_раз + 1 Тогда
это что такое?
---
Хотел, чтобы при каждом нажатии +1 в переменную записывало. Я многие способы пробовал и этот фрагмент оставил.
---
что-то типа такого:

```1c
    &НаКлиенте
    Перем Ввели_не_правильно_раз;

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    Ввели_не_правильно_раз = 0;
    КонецПроцедуры

    &НаКлиенте
    Процедура Вход(Команда)
    Авторизация = ВойтиВСистему();
    Если Авторизация Тогда
    ОткрытьФорму("ОбщаяФорма.Пользователь");
    Иначе
    Ввели_не_правильно_раз = Ввели_не_правильно_раз + 1;
    Если Ввели_не_правильно_раз = 3 Тогда
    Ввели_не_правильно_раз = 0;
    Таймер = 10;
    ТаймерНадпись = Таймер;
    ЭтаФорма.Доступность = Ложь;
    ПодключитьОбработчикОжидания("ЗапуститьТаймер", 1);
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры
```
---
Выводит ошибку.

{ОбщаяФорма.Авторизация.Форма(13)}: Преобразование значения к типу Число не может быть выполнено
  Ввели_не_правильно_раз = Ввели_не_правильно_раз + 1;
---
ну за вас вообще всё додумать надо? Подключите обработчик формы ПриОткрытии
---
Прошу прощения, не заметил что там ПриОткрытии было.
Огромное спасибо, вы очень помогли.
Проблема изначально была в том, что на самом клиенте отдельно переменную не объявил. Делал этот вариант изначально, но из-за такой мелочи он не работал.
---
всё верно.
---
Вы не могли бы посоветовать учебный материал?
Очень часто из-за таких мелочных ошибок целый день уходит.
---
посмотрите ограничения в учебной версии
тем более пользователи и права :)
---
Пользователей и права не делал специально, чтобы все данные были только из справочника.
---
http://forum-1c.ru/index.php?topic=74722.0
https://www.cyberforum.ru/1c-custom/thread2252734.html
---
Из последней статьи как раз брал код авторизации, потому что мой код авторизации не работал с обработчиком ожидания.
Но мне нужно добавить возможность трёх попыток проверки пароля или логина.