Проверка даты на пустое значение - как? #429268


#0 by Parti
На форме поле ввода, тип Дата. Как проверить, введено ли в него значение? Если ДатаДокумента = "01.01.0001 0:00:00" Тогда Сообщить ("да");
#1 by Irbis
ЗначениеЗаполнено
#2 by Волшебник
Если дата = '00010101'
#3 by Mort
ЗначениеЗаполнено
#4 by Parti
ок. послушаю ВОлшебника:)
#5 by Parti
еще вопрос: как программно сбросить значение в поле ввода типа Даты? Есть кнопочка, и при её нажатии должна очищаться Дата
#6 by Parti
хелп
#7 by Mirid
ТвоеПолеВвода = Дата(1,1,1)
#8 by Ненавижу 1С
Дата = 0;
#9 by bvn13
твоеПоле = Дата("00010101");
#10 by Asmody
не слушай Волшебника.
#11 by Mirid
а не одинарные кавычки нужны?
#12 by Ненавижу 1С
#13 by Mirid
Эти функция с такими параметрами возвращает пустую дату
#14 by Mirid
это если бы поле не было с типом Дата
#15 by Ненавижу 1С
это все равно
#16 by Andry888
'00010101' это уже дата... а "дата("00010101")" преобразует СТРОКУ "00010101" к дате (т.е. к '00010101')
#17 by ShoGUN
Самый универсальный вариант - в , но строгий ответ - в . и - то же самое, что , но через одно место.
#18 by Mirid
Сорри. Согласен. Вот из типовой ПустаяДата = Дата("00010101");
#19 by Ненавижу 1С
ты стал сранивать сравнение с пустой датой и установку пусто даты, автор в задал другой уже вопрос, но многие оленей не кормят
#20 by ShoGUN
Как ни странно, ответы на вопросы - одинаковые :))) Потому как присвоение и равенство в 1С выглядит одинаково ;)
#21 by ShoGUN
+ Разве что ПустоеЗначение уже не годится...
#22 by Ненавижу 1С
мои ответы подходят только на присвоение ))
#23 by Andry888
В написано одно, а в другое...
#24 by ShoGUN
Тьфу))) ЗначениеЗаполнено :)
#25 by Aprobator
ПустаяДата = Дата(1,1,1,0,0,0) тож из типовой.
#27 by Mirid
я в так и написал
#28 by ShoGUN
Спасибо, КО. Похоже намечается еще одно тупое соревнование...
#29 by ShoGUN
Тьфу, посыпаю голову пеплом... к .
#30 by Mort
Ошибка в логике. Из 2-го не следует первое.
#31 by Mirid
Автор, так в каком вопросе ты еще не разобрался?:)
#32 by Ненавижу 1С
можно и даже так можно:
#33 by ShoGUN
Вот поэтому ты 1С и ненавидишь, надо думать :)
#34 by kosts
Не следует, но уже достаточно следует что бы не использовать При чем здесь?...
#35 by Mirid
если это реквизит с типом ДАТАЮ то выдаст ошибку "значение не является типом Дата"
#36 by kosts
Для я имел ввиду, что нельзя так сравнивать на пустую дату Если Дата = Неопределено тогда // Неправильно
#37 by Mort
Он какбе намекает что если немножко копнуть правила преобразования типов в 1С при присваивании, выражение Х = Неопределено обретает смысл.
#38 by Ненавижу 1С
кстати, да мне по душе строгая типизация, ООП единственный плюс радости они добавили SQL-подобные запросы, но положили смачную ложку дегтя, создав Неопределено<>NULL
#39 by Mort
Ну вообще разница есть. Могу привести пример.
#40 by Ненавижу 1С
ты пробовал? сравнивать неправильно, а присваивать можно
#41 by Ненавижу 1С
ну есть конечно, у 1С другие СУБД живут без этого
#42 by kosts
Не помешала бы типизация, хотя бы включаемая Присваивать "иногда" можно, но зачем делать грабли...
#43 by Ненавижу 1С
не бойся, я так не пишу, просто показываю "прелести" языка
#44 by Mort
Как насчет Object* AnyObject ? ))
#45 by Mort
+ Где Object - базовый для всех.
#46 by ShoGUN
Я тоже от Неопределено офигевал, потом привык. А строгая типизация конечно полезна, но я и так типизации придерживаюсь при написании.
#47 by Ненавижу 1С
и что? что-то я не вкурил
#48 by ShoGUN
Он по ходу про то, что в 1С нет такого типа.
#49 by Mort
Наоборот я про то, что прообраз типа Неопределено есть во многих системах.
#50 by ShoGUN
Неопределено <> AnyObject
#51 by Ненавижу 1С
примеры, достаточно распространенных систем
#52 by Mort
Тут не абсолютная схожесть. Например контакт может быть физлицом, сотрудником и т.д. когда оно не заполнено в поле неопределено. Базовый класс фигур CFigura, наследники треугольники, квадраты и т.д. Массив фигур сцены будет содержать указатели CFigura*. CFigura*  здесь какбе аналог "Неопределено". Хреновый пример, но в ту сторону.
#53 by Ненавижу 1С
и чем тут NULL не устраивает?
#54 by Mort
Потому что в базах данных NULL это отсутствие записей. По смыслу NULL из C++ <> NULL из SQL.
#55 by ShoGUN
NULL - это в т.ч. и неопределенное значение, по крайней мере по смыслу.
#56 by Ненавижу 1С
не всегда, поле может хранить значение NULL, в стандарте SQL запрос SELECT A.ID FROM A LEFT JOIN B ON (A.BID=B.ID) WHERE B.X IS NULL выдаст как записи таблицы A, для которых нет соответствия в B, так и те у которых соответствие есть, но поле B.X имеет значение NULL
#57 by Mort
NULL в C++ вполне определенное значение. Кста, CFigura* T; T <> NULL; - созданные указатели не равны NULL.
#58 by Ненавижу 1С
ну это в C++, в C# вполне
#59 by Mort
В курсе, не только отсутствие записей. Короче думаю щас правильно сформулирую. 1С Неопределено - имеет отношение к типизации, как Object* в С++, т.е. это неопределенный ТИП в первую очередь. 1С NULL - имеет отношение именно к БД, в SQL тоже NULL. Неопределенное ЗНАЧЕНИЕ.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С