8.х Поле ввода с типом дата

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем 3dvol, 9 сен 2010.

  1. TopicStarter Overlay
    3dvol
    Offline

    3dvol

    Регистрация:
    22 авг 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Вечер добрый!

    Есть элемент формы "поле ввод" с типом значения "дата" и составом даты "дата".
    Если выбирается дата меньше текущей, то необходимо произвести сброс значения поля ввода.
    Не могу решить как это реализовать. Вот что получилось:

    Код:
    Процедура ДатаДоставкиПриИзменении(Элемент)
    Дата = ЭлементыФормы.ДатаДоставки.Значение;
    Если Дата < ТекущаяДата() Тогда
    
    Предупреждение("Дата не может быть меньше текущей!");
    КонецЕсли;
    КонецПроцедуры
    
    Помогите, пожалуйста!
  2. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Используйте обработчик "ОбработкаВыбора":
    Код:
    Процедура ДатаДоставкиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Если КонецДня(ВыбранноеЗначение) < ТекущаяДата() Тогда
    Предупреждение("Дата не может быть меньше текущей!");
    СтандартнаяОбработка = Ложь;
    КонецЕсли;
    КонецПроцедуры
    
    
    
    И запретите у элемента "РедактированиеТекста", чтобы вручную дату не вводили. Или вводите дополнительную проверку в обработчике "ОкончаниеВводаТекста".
  3. TopicStarter Overlay
    3dvol
    Offline

    3dvol

    Регистрация:
    22 авг 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Requin, спасибо!
    Получается то, что нужно. Ну а вообще на будущее - можно как-то присвоить пустое значение для поля ввода с типом дата?
  4. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Выбирайте на выбор (с явным или неявным преобразование типов):
    Код:
    ДатаПоставки = Дата(1,1,1);
    ДатаПоставки = Дата("00010101");
    ДатаДоставки = "";
    ДатаДоставки = 0;
    ДатаДоставки = Неопределено;
    

Поделиться этой страницей