Как проверить значения меток времени TimeModified в ответе QBXML от QuickBooks Desktop?
Я использую QuickBooks Web Connector для двунаправленной синхронизации сотрудников и клиентов QuickBooks Desktop с нашим сторонним веб-приложением. Мы планируем сравнить значение TimeModified, возвращаемое в QBXML, с отметкой времени последнего изменения записи в нашей системе, чтобы определить, какая версия (QBD или наша) является самой последней.
Я обнаружил, что пользователи могут изменить дату и время на неправильное время на своем локальном компьютере (на котором запущены QBD и QBWC), в результате чего поля TimeCreated и TimeModified в результатах QBXML будут иметь неправильные измененные значения меток времени. Это может вызвать проблемы с целостностью данных, в частности, если дата установлена в прошлом или будущем, сравнение будет недопустимым, и записи могут стать постоянно пропущенными или неправильно обновленными.
Есть ли способ получить системное время хоста QuickBooks Desktop? Единственный способ, которым я могу придумать, - это изменить объект, а затем прочитать его значение TimeModified, но это похоже на хак.
1 ответ
Я сталкиваюсь с той же проблемой, QuickBooks вообще не учитывает время UTC. Этот часовой пояс является фальшивым и вызывает проблемы с получением данных.
Лучший способ, как я полагаю, получить эту работу - это заказать TimeModified, когда вы их получите, затем взять самое позднее время и использовать +1 секунду.
Это также проблема, так как вы упомянули, что смещение TimeModified веб-соединителя QuickBooks не учитывает переход на летнее время, поэтому вам придется удалить delta dst, когда dst включен.