Здравствуйте. При работе с терминалом потерялись данные. Подскажите, в чем может быть причина?

forttran 10 месяцев назад обновлен Алексей (Рук. ТП) 10 месяцев назад 2

Image 2166

Со слов кладовщика она сканировала очередной товар когда программа терминала перезагрузилась. Выдалось сообщение об обновлении и ВСЕ данные за час работы потерялись. 

В логи сервера упала следующая ошибка:

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 инициализируется автоматом. Да и работают эти терминалы уже три месяца. Такой ошибки не было. В чем может быть причина такого поведения и куда копать?

И дополнительный вопрос, можно как-то реализовать обертывание кода в какой-то аналог try...catch для предотвращения подобного рода инцидентов. 

Добрый день,

Попрошу вас оформить задачу на портале поддержки https://www.cleverence.ru/sd

Нужны сразу данные о продукте и версиях - https://www.cleverence.ru/support/97696/

Информация об устройстве и логи (на главном экране приложения левый верхний угол - О приложении - отправить логи)

Передадим в разработку.

Про аналог "try catch", можно вынести код в отдельную операцию, при ошибке будет переход по Операция была прервана. Но каждое присваивание, конечно, не вынести в отдельную операцию, какие-то блоки кода можно

Сервис поддержки клиентов работает на платформе UserEcho