Я никогда не видел реальной документации по этому вопросу. Я могу вывести следующее из рассмотрения трасс SQL и некоторой декомпиляции библиотек CRM-сервера.
Я не уверен, что есть один способ, чтобы значения даты/времени генерировались в Dynamics CRM.
Например, существует хранимая процедура для создания WebResource, которая использует функцию SQL Server для получения времени utc. В этом случае время будет временем синхронизации сервера, на котором размещается SQL.
Это неверно для создания/обновления записей сущностей. В этом случае время передается как часть команды INSERT
. Я не верю, что CRM делает вызов, чтобы сначала получить время SQL Server, поэтому на этот раз идет сервер веб-интерфейса CRM (или асинхронный сервер, если операция «Создать/обновить» происходит асинхронно.) .NET предоставляет UTC, я не верю, что происходит явное преобразование значений времени для заполнения этих значений в Create and Update. Существует явное действие для удаления части миллисекунд.
Если вы используете OverrideCreatedOn
, то это значение полностью зависит от вас (если оно находится в пределах допустимого диапазона CRM), но он отключит миллисекунды.
Нужно ли точно знать, как рассчитывается созданная дата. до миллисекунды? Или этот вопрос больше касается часовых поясов и хранения дат? –
Мне интересно узнать, как рассчитывается созданная на дату, до миллисекунды или секунды, как вы предложили. Даты хранятся в формате UTC в CRM, и мы всегда имеем дело с UTC в запросах, поэтому у нас нет проблем с Timezones и т. Д. – Marcos