Здравствуйте. При работе с терминалом потерялись данные. Подскажите, в чем может быть причина?
Со слов кладовщика она сканировала очередной товар когда программа терминала перезагрузилась. Выдалось сообщение об обновлении и ВСЕ данные за час работы потерялись.
В логи сервера упала следующая ошибка:
2023-07-05 14:07:53.7074|ERROR|23|AssignAction.WriteErrors|
Not a valid Win32 FileTime. Exception has been thrown by the target of an invocation. Ошибка вычисления выражения 'SelectedProduct.numdate=(SelectedProduct.data.ToFileTime()/10000000)-(global::System.DateTime.Today.ToFileTime()/10000000)'
[SOURCE] Cleverence.Warehouse.Compact.AssignAction
[EXCEPTION MESSAGE]
System.Exception Ошибка вычисления выражения 'SelectedProduct.numdate=(SelectedProduct.data.ToFileTime()/10000000)-(global::System.DateTime.Today.ToFileTime()/10000000)'
TargetInvocationException Exception has been thrown by the target of an invocation.
ArgumentOutOfRangeException Not a valid Win32 FileTime.
[STACKTRACE]
AssignAction.BeginImpl => AssignAction.Execute => AssignAction.WriteErrors
at Cleverence.Parsing.CompiledExpression.Evaluate (Cleverence.Parsing.ILocalScope localScope Cleverence.Parsing.IGlobalScope globalScope Cleverence.IMath math Cleverence.Parsing.IQueryBuilder query) [0x00089] in :0
at Cleverence.Parsing.CompiledExpression.Evaluate (Cleverence.Parsing.ILocalScope localScope Cleverence.Parsing.IGlobalScope globalScope Cleverence.IMath math) [0x00009] in :0
at Cleverence.Parsing.CompiledCode.Evaluate (Cleverence.Parsing.ILocalScope localScope Cleverence.Parsing.IGlobalScope globalScope Cleverence.IMath math) [0x00039] in :0
[DATA]
//-------------------------------
SelectedProduct.data инициализируется автоматом. Да и работают эти терминалы уже три месяца. Такой ошибки не было. В чем может быть причина такого поведения и куда копать?
Сервис поддержки клиентов работает на платформе UserEcho
И дополнительный вопрос, можно как-то реализовать обертывание кода в какой-то аналог try...catch для предотвращения подобного рода инцидентов.
Добрый день,
Попрошу вас оформить задачу на портале поддержки https://www.cleverence.ru/sd
Нужны сразу данные о продукте и версиях - https://www.cleverence.ru/support/97696/
Информация об устройстве и логи (на главном экране приложения левый верхний угол - О приложении - отправить логи)
Передадим в разработку.
Про аналог "try catch", можно вынести код в отдельную операцию, при ошибке будет переход по Операция была прервана. Но каждое присваивание, конечно, не вынести в отдельную операцию, какие-то блоки кода можно