|
Пустая дата при OLE доступе к ревизитам объекта типа "дата"
| ☑ |
0
rem4755
09.02.11
✎
18:12
|
V77App = СоздатьОбъект("V77S.Application");
V77App.Initialize(V77App.RMTrade,КоманднаяСтрока, "NO_SPLASH_SHOW");
вКонтрАгенты = V77App.CreateObject(Справочник.КонтрАгенты ");
вДоговоры = V77App.CreateObject("Справочник.Договоры");
вКонтрАгенты .НайтиПокоду(КонтрАгент.Код);
вКонтрАгент= вКонтрАгенты .ТекущийЭлемент();
вДоговор = вКонтрАгент.ОсновнойДоговор ;
вНачДата = = вДоговор .ДатаВоникновенияОбязательства;
Если ДатаВоникновенияОбязательства- пустая дата, то в вНачДата возвращает '30.12.1899'. Как так? Если не пустая, то нормально.
|
|
1
andrewks
09.02.11
✎
18:13
|
обработать проблема?
|
|
2
rem4755
09.02.11
✎
18:16
|
(1) В смыле Если вНачДата = '30.12.1899' Тогда... Обработать это не проблема, но почему '30.12.1899' и не слуйное ли это значение?
|
|
3
fedoss
09.02.11
✎
18:17
|
В 1С пустые даты всегда через ОЛЕ получаются как '30.12.1899'. Используй что-то типа _Дата = ?(ОЛЕДата = '30.12.1899', '', ОЛЕДата)
|
|
4
rem4755
09.02.11
✎
18:22
|
(3) Если всегда и для длюбой базы, то тогда все ОК. Я и не знал. Но почему именно '30.12.1899'. Интересно просто... Спасибо за информацию.
|
|
5
andrewks
09.02.11
✎
18:27
|
(4) DateTime хранит определенное количество мс, начиная с 30.12.1899. т.е. для даты null='30.12.1899'
|
|
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.