2016-09-07 2 views
1

При заполнении поля даты в NetSuite через API (например, дата начала заказа клиента) вам необходимо указать временную метку + часовой пояс, даже если метка времени не показана в NetSuite.Значение даты передачи для NetSuite через API

Кто-нибудь знает, что использует NetSuite для скрытия даты + отметки времени до даты?

Например, иногда, когда я передаю дату + время 1 октября 2016 00:00:00 UTC, я вижу 30 сентября 2016 года в NetSuite. В другой раз, я вижу, что дата указана как 1 октября 2016 года в NetSuite. Логика кажется непоследовательной. Может ли кто-нибудь объяснить логику?

ответ

0

Для меня это зависело от моего часового пояса и часового пояса учетной записи, которая записывалась в NetSuite.

У меня была эта проблема в прошлом. Я решил это, установив учетную запись пользователя Integration на часовой пояс GMT. После этого даты/время всегда кажутся правильными для каждого пользователя, исходя из их часового пояса (заданного в настройках).

+1

После некоторых проб и ошибок я попытался переключить пользователя API и установить свой часовой пояс на GMT. Кажется, что он сработал - надеюсь, он не вернется назад. Все, что я могу придумать, это то, что наш инструмент интеграции поддерживал открытый сеанс с оригинальным пользователем API, и их изменение в часовом поясе не вступало в силу немедленно. – angrycrab

0

Дата, которую вы отправили, преобразуется из часового пояса пользователя в систему, в часовой пояс сервера. он сохраняется с часовым поясом сервера.

так что в зависимости от разницы между часовыми поясами пользователя сеанса и сервера, да, он может даже изменить дату путем преобразования.

+0

Из того, что я видел до сих пор, вот вывод, к которому я пришел: дата + время, отправленное через API, преобразуется в часовой пояс пользователя. Затем NetSuite отключает время и устанавливает время до начала дня (в часовом поясе компании). Внутри NetSuite затем сохраняет дату как дату + время локального часового пояса сервера (обычно тихое время). – angrycrab

Смежные вопросы