Автовозврат к дате при неправильной дате в ВвестиДату

1. user774076 27.02.21 21:27 Сейчас в теме
Здравствуйте, хочу, чтобы при выборе неправильной даты в ВвестиДату пользователь опять возвращался к выбору дату. Написал, все работает, но может есть более красивое решение
&НаКлиенте
Процедура СформироватьОтчёт(Команда)
    ДатаОтчёта = '00010101';
    Подсказка = "Выберите дату, на конец которой надо сформировать отчёт";
    ЧастьДаты = ЧастиДаты.Дата;
    А = 0;
    
    Пока А = 0 Цикл
        Если ВвестиДату(ДатаОтчёта, Подсказка, ЧастьДаты) Тогда
            Если ДатаОтчёта >= ТекущаяДата() Тогда
                Предупреждение("Отчёт может быть составлен только на дату меньше текущей даты!");
            Иначе
                А = 1;    
            КонецЕсли;        
        Иначе
            Возврат;
        КонецЕсли;
    КонецЦикла;
    
    СформироватьОтчётНаСервере();
КонецПроцедуры

Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Alexei_Siva 205 28.02.21 13:03 Сейчас в теме
Очевидно, что переменная A и манипуляции с ней это излишество и можно без этого обойтись
как-то так, например

 Пока ДатаОтчёта >= ТекущаяДата() или ДатаОтчёта  = Дата(1,1,1) Цикл
        Если ВвестиДату(ДатаОтчёта, Подсказка, ЧастьДаты) Тогда
            Если ДатаОтчёта >= ТекущаяДата() Тогда
                Предупреждение("Отчёт может быть составлен только на дату меньше текущей даты!");    
            КонецЕсли;        
        Иначе
            Возврат;
        КонецЕсли;
    КонецЦикла;
Показать
3. braynt 57 28.02.21 17:23 Сейчас в теме
Используйте "ПоказатьВводДаты"!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот