AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.08.2007, 11:06   #1  
VV.SKIP is offline
VV.SKIP
Участник
 
23 / 10 (1) +
Регистрация: 14.08.2007
Проблема: Есть запись в Microsoft Navision, в которой есть поле "Дата" со значением 15.08.07 17.15.00. Когда мы делаем выборку этой записи с помощью SQL, выдает результаты только в поле «Дата» время на 3 часа меньше: 2007-08-15 14:15:00. В чем проблема?
Старый 16.08.2007, 12:07   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
а время на сервере и клиенте синхронизировано?
Старый 16.08.2007, 12:14   #3  
VV.SKIP is offline
VV.SKIP
Участник
 
23 / 10 (1) +
Регистрация: 14.08.2007
Цитата:
а время на сервере и клиенте синхронизировано?
А есть опция в клиента или сервера, которая синхронезирует время?
Старый 16.08.2007, 14:14   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Так я не понял, время на сервере и клиенте одинаковое или у них 3 часа разницы?

Полагаю ,что было бы логично серверу вести запись времени по своему времени(типа, время клиента + N часов). А так как SQL-запрос обрабатывается на сервере, то и время там идет соответственное. А клиент обрабатывает время на своей машине....

P.S. интересно, если сделать запись текущего времени с одного клиента. А потом считать это время на другом клиенте, у которого время +1час к первому, то считаное время будет на 1 час отличаться или нет?

Цитата:
Сообщение от VV.SKIP Посмотреть сообщение
А есть опция в клиента или сервера, которая синхронезирует время?
не знаю насчет опции, но точно можно сделать так что бы время на всех компьютерах синхронизировалось с сервером, например, каждый час.
Старый 16.08.2007, 14:28   #5  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от VV.SKIP Посмотреть сообщение
А есть опция в клиента или сервера, которая синхронезирует время?
Есть опция Windows, которая синхронизирует время на все PC в сети, но ее нужно справшивать у сис. админов.
Старый 16.08.2007, 15:08   #6  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Скорей всего дело в региональных настройках сервера. Обратите внимание: разница в -3 часа (Москва = +3GMT).
Т.е. не установлена страна на сервере.
Старый 16.08.2007, 16:23   #7  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от VV.SKIP Посмотреть сообщение
Проблема: Есть запись в Microsoft Navision, в которой есть поле "Дата" со значением 15.08.07 17.15.00. Когда мы делаем выборку этой записи с помощью SQL, выдает результаты только в поле «Дата» время на 3 часа меньше: 2007-08-15 14:15:00. В чем проблема?
Открываем хелп навижна, вводим datetime и читаем :
DATETIME
Use this data type to denote the date and time of day.

The datetime is stored in the database as Coordinated Universal Time (UTC).

UTC is the international time standard (formerly Greenwich Mean Time, or GMT). Zero hours UTC is midnight at 0 degrees longitude.

The datetime is always displayed as local time in Navision.

Local time is determined by the time zone regional settings used by your computer.

You must always enter datetimes as local time. When you enter a datetime as local time, it is converted to UTC using the current settings for the time zone and daylight saving time.

Comments
There is only one constant available when you use this data type: undefined datetime.

DateTime := 0DT

Navision Database Server
The earliest permitted datetime is January 1, 0000, 00:00:00.000.
The latest permitted datetime is December 31, 9999, 23:59:59.999.

SQL Server
The earliest permitted datetime is January 1, 1754, 00:00:00.000.
The latest permitted datetime is December 31, 9999, 23:59:59.999.

Any datetimes that are not within this range and that you try to enter or construct by, for example, adding a datetime to a duration, are regarded as undefined datetimes and give an error message.

Undefined dates are stored as January 1, 1753, 00:00:00.000.

Note

The biannual change to and from daylight saving time affects the way in which datetimes are displayed. For example, if you are located in central Europe, you are in the central European time zone and are using Central European Time (CET). During the winter the difference between CET and UTC is 1 hour. When you change to daylight saving time for the summer the difference is 2 hours.

This means that the local time representation of a UTC will vary depending on the time zone you are located in and whether you are using daylight saving time or not. Therefore, any datetimes that were entered during the winter will be converted and displayed differently after you have changed to daylight saving time for the summer. In other words, datetimes will not necessarily be displayed the same as when they were entered.

The DateTime datatype does not support closing dates.

By default, datetimes are displayed using the standard display format. When you use the standard display format, seconds and milliseconds are not displayed until you select the datetime field. Furthermore, if you export your data using the standard dataport export, the User Portal dataport export or by writing it to a file, the seconds and milliseconds will not be exported unless you specify that datetime fields use another format and display this information. For more information about how datetimes are displayed and the formats that are available, see Format.
Старый 16.08.2007, 17:00   #8  
andrevk is offline
andrevk
Участник
 
145 / 10 (1) +
Регистрация: 23.11.2006
Для определения времени с учетом часового пояса:

select ПолеДата + getdate()-getutcdate() from ***
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:14.