Pergunta

Tenho uma pergunta sobre literais de datas fiscais na API Force.com (http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_select_dateformats.htm):

Para qual fuso horário os intervalos de datas são calculados?

Por exemplo, suponha que executemos a consulta:

SELECIONE ID DA Oportunidade WHERE CloseDate = THIS_FISCAL_QUARTER

onde, de acordo com as configurações fiscais da nossa empresa, THIS_FISCAL_QUARTER vai de 1º de janeiro a 31 de março.

O intervalo para THIS_FISCAL_QUARTER usa...

  • o fuso horário do usuário?Por exemplo, se o fuso horário do usuário for GMT-8, THIS_FISCAL_QUARTER = 1º de janeiro 00:00 GMT-8 a 31 de março 23:59 GMT-8 (ou 1º de janeiro 08:00 UTC a 31 de março 07:59 UTC)
  • o fuso horário padrão da empresa (de acordo com o perfil da empresa)?Por exemplo, se o fuso horário padrão da empresa for GMT-8, THIS_FISCAL_QUARTER = 1º de janeiro 00:00 GMT-8 a 31 de março 23:59 GMT-8 (ou 1º de janeiro 08:00 UTC a 31 de março 07:59 UTC)
  • UTC?THIS_FISCAL_QUARTER = 1º de janeiro às 00:00 UTC a 31 de março às 23:59 UTC
  • algo mais?
Foi útil?

Solução

Pela minha experiência (diversão com relatórios, não com consultas), a nota de baixo é válida também para literais de tempo.Portanto, ele usa a configuração de fuso horário do usuário.

Esses valores são compensados ​​pelo seu fuso horário.Por exemplo, no fuso horário do Pacífico, a data válida mais antiga é 1699-12-31T16:00:00, ou 16h00 de 31 de dezembro de 1699.

Talvez você possa simplesmente criar um registro de teste com o campo datetime um pouco fora do trimestre fiscal e consultá-lo "WHERE mydatetimefield__c > THIS_FISCAL_QUARTER"?

Veja também http://forums.sforce.com/t5/General-Development/SOQL-Date-literal-TODAY-is-evaluated-incorrectly/mp/43607

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top