В моем приложении acumatica я создал настраиваемую страницу, на которой пользователю нужно вставить данные в раздел сетки. Чтобы проверить предоставленные данные, я реализовал события RowInserting и RowUpdating.
Проблема в том, что в событии вставки строк я сначала выдаю ошибку, используя следующий код:
cache.RaiseExceptionHandling<DZField.size>(fieldLine, fieldLine.Size,
new PXSetPropertyException(string.Format(ValidationMessages.FIELD_NOT_VALID_FORMAT,
"Size"), PXErrorLevel.RowError));
Затем я устанавливаю для свойства e.Cancel значение true. Но когда пользователь изменяет неправильное значение и повторно запускает событие, в строке будут отсутствовать значения, которые не были обработаны в событии.
Я также пытался не устанавливать свойство e.Cancel и вместо этого генерировать исключение PXException, но даже в этом случае другие значения в строке были сброшены.