Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) ДБФ и пустая дата (число прочтений - 7344 )
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
ДБФ и пустая дата
20. Февраля 2008 :: 10:51
Печать  
В общем-то все просто... потребовалось фильтровать данные по пустой дате.
Нашел единственный работающий метод - EMPTY
Так вот - вопрос в том, одинаково ли 1С хранит пустую даты во всех таблицах?

ЗЫ... сомнения из-за написанного про то, что пустая дата - 1753 год и т.п.
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ДБФ и пустая дата
Ответ #1 - 20. Февраля 2008 :: 12:07
Печать  
Код
Выбрать все
WHERE DTOS($МойСпр.МояДата)= '	  '  



// 8 пробелов в кавычках

Никаких 1812 и 1917 годов Улыбка

EMPTY конечно предпочтительней.
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: ДБФ и пустая дата
Ответ #2 - 20. Февраля 2008 :: 12:13
Печать  
kiruha писал(а) 20. Февраля 2008 :: 12:07:
Код
Выбрать все
WHERE DTOS($МойСпр.МояДата)= '	  '  



// 8 пробелов в кавычках

Никаких 1812 и 1917 годов Улыбка

EMPTY конечно предпочтительней.


А хранит-то везде одинаково?
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ДБФ и пустая дата
Ответ #3 - 20. Февраля 2008 :: 12:33
Печать  
Chieftain писал(а) 20. Февраля 2008 :: 12:13:
А хранит-то везде одинаково?


Для Спр и документов так. Для регистров и др. у меня нет пустых дат.
Но был бы удивлен если бы это было по другому.
Если есть возможность проверить - ...
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: ДБФ и пустая дата
Ответ #4 - 20. Февраля 2008 :: 12:43
Печать  
kiruha писал(а) 20. Февраля 2008 :: 12:33:
[quote author=Chieftain link=1203504717/0#2 date=1203509620]Для Спр и документов так. Для регистров и др. у меня нет пустых дат.
Но был бы удивлен если бы это было по другому.
Если есть возможность проверить - ...

Хорошо, если нарвусь - отпишусь))
  
Наверх
ICQ  
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: ДБФ и пустая дата
Ответ #5 - 20. Февраля 2008 :: 12:48
Печать  
Аминь...
Улыбка
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ДБФ и пустая дата
Ответ #6 - 20. Февраля 2008 :: 15:19
Печать  
Код
Выбрать все
...
WHERE datefield = date(30, 12, 1899) -- отбор по полю datefield, с "пустой" датой
...
 

  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ДБФ и пустая дата
Ответ #7 - 20. Февраля 2008 :: 16:52
Печать  
spock писал(а) 20. Февраля 2008 :: 15:19:
Код
Выбрать все
...
WHERE datefield = date(30, 12, 1899) -- отбор по полю datefield, с "пустой" датой
...
 




????
И даже если date(1899,12,30)
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ДБФ и пустая дата
Ответ #8 - 20. Февраля 2008 :: 18:18
Печать  
вру, т.е. так DATE([nYear, nMonth, nDay])
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ДБФ и пустая дата
Ответ #9 - 20. Февраля 2008 :: 18:39
Печать  
не, в спр и док не отбирает....
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ДБФ и пустая дата
Ответ #10 - 21. Февраля 2008 :: 04:46
Печать  
епт, заставил в код лезть и вспоминать...
Про отбор через date(1899, 12, 30) был не прав. Нужно через empty(datefield)
Дата 30-12-1899 - это заглушка такая, провайдер возвращает не пустую структуру DBDATE, а заполненную этой датой.
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ДБФ и пустая дата
Ответ #11 - 21. Февраля 2008 :: 06:12
Печать  
Ну и чтобы подвести итог - точное выражение для пустой даты в Fox
{^0000-00-00}

Пример
Код
Выбрать все
 |  WHERE  $СпрНом.СнятиеСПроизводства={^0000-00-00} 


Такую пустую дату можно использовать не только в отборе - но и других операциях , т.е. более универсально.

P.S. Нужно отметить, что любую неправильно составленую константу типа дата Fox также преобразует к пустой дате.
Например пустыми датами будут :
{^    -  -  }
{^2003-20-25} // число месяцев больше 12

  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: ДБФ и пустая дата
Ответ #12 - 21. Февраля 2008 :: 07:27
Печать  
kiruha писал(а) 21. Февраля 2008 :: 06:12:
Ну и чтобы подвести итог - точное выражение для пустой даты в Fox
{^0000-00-00}

Пример
Код
Выбрать все
 |  WHERE  $СпрНом.СнятиеСПроизводства={^0000-00-00} 


Такую пустую дату можно использовать не только в отборе - но и других операциях , т.е. более универсально.

P.S. Нужно отметить, что любую неправильно составленую константу типа дата Fox также преобразует к пустой дате.
Например пустыми датами будут :
{^    -  -  }
{^2003-20-25} // число месяцев больше 12



Ну что сказать... развернул так развернул Смех
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать