Необработанная ошибка в сервере. “Ошибка выполнения запроса PUT http://192.168.1.52:10000/api/v0.1/Core/Equipment/4393?force=false.
Дата задана неверно. (Parameter ‘LastCalibrationDate’)
Actual value was 02.06.0202 0:00:00.”. Разработчикам был отправлен отчет об ошибке. Дата задана неверно. (Parameter ‘LastCalibrationDate’)
Actual value was 02.06.0202 0:00:00.
Предлагаю добавить проверку получаемых значений (Например дата поверки не может быть ранее 01.01.2000, и не может быть больше текущей даты)
Таких приборов в базе очень много - достаточно выбрать “до 2010 года” и отсортировать по возрастанию даты - около 2700 записей с кривой датой.
Такая проверка позволит пользователям системы оперативно выявить ошибку поверителя и обратиться к нему с просьбой об исправлении данных
Хм… стоит ли делать проверку, может лучше записывать некорректную дату? Получаем мы реальные данные из АРШИН. Найти такого рода ошибки в списке оборудования - дело 1-ой секунды:
По каждому экземпляру создаётся нештатка об истёкшем сроке поверки.
И вы можете по каждому инциденту обратиться к поверителю.
Тоже не вижу сильной необходимости очищать такие результаты. В аршине они хранятся, и это реально повод обратиться к поверителю.
По поводу ручной синхронизации. Может, стоит ошибку сделать не критической, а выдавать обычное сообщение об ошибке? В конце концов, при ручной синхронизации стоит сразу узнать, что с прибором есть какая-то проблема. В автоматическом режиме такой возможности нет, и я бы продолжил сохранять битые даты.
Я и не говорил что такие результаты нужно очищать.
Считаю что нужно просто каким-то образом уведомить администратора системы о поступлении таких “кривых” результатов, например в системном журнале/центре уведомлений.
Это нужно как раз для возможности более оперативно выявить ошибку и обратиться к поверителю.
Например когда с устройства (теплосчетчика) система получает кривые показания - она их сохраняет, но помечает как недостоверные.
В системном журнале они и так появляются при автоматической синхронизации. Вижу проблему в том, что при ручной синхронизации выдаётся критическая ошибка. Я предлагал заменить её на ошибку с понятным сообщением.
Хорошо, давайте при ручной синхронизации в более понятном виде пользователю сообщать об ошибке. На мой взгляд будет хорошо если это будет всплывающее окно, чтобы немедленно понять что что-то пошло не так.
Не до конца понимаю что нужно делать. То, что при ручной синхронизации стоит выдать нормальное сообщение об ошибке это понятно. Окно с критической ошибкой это явная недоработка.
Но что делать при фоновой синхронизации?
Какие вижу варианты:
Сохранить битые даты как есть
Сохранить битые даты и выдать предупреждение в системном журнале
Не сохранять битые даты и выдать предупреждение в системном журнале
Считаю лучшим решением. Даты всё равно должны соответствовать АРШИНу, а предупреждение позволит заметить ошибку и обратиться к поверителю для исправления данных в АРШИНе.