Часовой пояс для литералов финансовой даты API Force.com?
-
22-09-2019 - |
Вопрос
У меня вопрос о литералах финансовых дат в API Force.com (http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_select_dateformats.htm):
Для какого часового пояса рассчитываются диапазоны дат?
Например, предположим, что мы выполняем запрос:
ВЫБЕРИТЕ идентификатор ИЗ возможности WHERE CloseDate = THIS_FISCAL_QUARTER
где, согласно финансовым настройкам нашей компании, THIS_FISCAL_QUARTER длится с 1 января по 31 марта.
Использует ли диапазон для THIS_FISCAL_QUARTER...
- часовой пояс пользователя?Например, если часовой пояс пользователя — GMT-8, THIS_FISCAL_QUARTER = с 1 января 00:00 GMT-8 до 31 марта 23:59 GMT-8 (или с 1 января 08:00 UTC по 31 марта 07:59 UTC).
- часовой пояс компании по умолчанию (согласно профилю компании)?Например, если часовой пояс компании по умолчанию — GMT-8, THIS_FISCAL_QUARTER = с 1 января 00:00 GMT-8 до 31 марта 23:59 GMT-8 (или с 1 января 08:00 UTC по 31 марта 07:59 UTC).
- УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ?THIS_FISCAL_QUARTER = с 1 января 00:00 UTC по 31 марта 23:59 UTC.
- что-то другое?
Решение
По моему опыту (забава с отчетами, а не с запросами), примечание снизу действительно также для литералов времени.Поэтому он использует настройки часового пояса текущего пользователя.
Эти значения смещены в соответствии с вашим часовым поясом.Например, в тихоокеанском часовом поясе самая ранняя действительная дата — 1699-12-31T16:00:00 или 16:00 31 декабря 1699 года.
Может быть, вы можете просто создать тестовую запись с полем даты и времени, расположенную немного за пределами финансового квартала, и запросить ее «WHERE mydatetimefield__c > THIS_FISCAL_QUARTER»?
Смотрите также http://forums.sforce.com/t5/General-Development/SOQL-Date-literal-TODAY-is-evaluated-incorrectly/m-p/43607