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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2015, 11:28   #1  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Сообщение от xdimidrolx Посмотреть сообщение
Да, все так. Но есть одно но! Если это NAV2009 SP1 и работает через вебсервис CURRENTDATTIME вернет в UTC формате, но если это NAV2009R2-NAV2015 и в конфигурации сервера опция "WebServicesDefaultTimeZone" = "Server Time Zone" тогда вернет UTC+LocalRegionalSettings. Вопрос в том, что-бы определить в конкретный момент времени вебсервис работает в UTC или неUTC, при этом не зная конфигурации сервера.
Если веб-сервис развернут на одном сервере с SQL сервером (на другом сервере в той же тайм зоне) можно попробовать выставить параметры сервера в одну из прилинкованных вьюх, пример ниже
Код:
CREATE view
[dbo].[sys_ConnectionProperties]
as 
select cast(serverproperty('servername') as varchar(100)) as server_name, DB_NAME() as db_name, @@SPID as spid
	, system_USER as [system_user]
	, GETUTCDATE() as UTC_DT 
	, GETDATE() as DT
А далее уже сравнивать смещение CURRENTDATETIME от UTC_DT и DT,
Старый 19.06.2015, 09:12   #2  
xdimidrolx is offline
xdimidrolx
Участник
 
6 / 10 (1) +
Регистрация: 06.11.2013
Цитата:
Сообщение от rmv Посмотреть сообщение
Цитата:
Сообщение от xdimidrolx Посмотреть сообщение
Да, все так. Но есть одно но! Если это NAV2009 SP1 и работает через вебсервис CURRENTDATTIME вернет в UTC формате, но если это NAV2009R2-NAV2015 и в конфигурации сервера опция "WebServicesDefaultTimeZone" = "Server Time Zone" тогда вернет UTC+LocalRegionalSettings. Вопрос в том, что-бы определить в конкретный момент времени вебсервис работает в UTC или неUTC, при этом не зная конфигурации сервера.
Если веб-сервис развернут на одном сервере с SQL сервером (на другом сервере в той же тайм зоне) можно попробовать выставить параметры сервера в одну из прилинкованных вьюх, пример ниже
Код:
CREATE view
[dbo].[sys_ConnectionProperties]
as 
select cast(serverproperty('servername') as varchar(100)) as server_name, DB_NAME() as db_name, @@SPID as spid
	, system_USER as [system_user]
	, GETUTCDATE() as UTC_DT 
	, GETDATE() as DT
А далее уже сравнивать смещение CURRENTDATETIME от UTC_DT и DT,
Боюсь этот способ не подойдет, должен быть "generic solution" подходящий для NAV2009 - NAV2015, независимо от SQL.
Старый 19.06.2015, 13:42   #3  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Сообщение от xdimidrolx Посмотреть сообщение
Боюсь этот способ не подойдет, должен быть "generic solution" подходящий для NAV2009 - NAV2015, независимо от SQL.
То есть и для Native DB ?
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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