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

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 Сейчас в теме
Используйте "ПоказатьВводДаты"!
Оставьте свое сообщение

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