2015-04-23 2 views
0

Я использую PXException, однако вместо того, чтобы показывать сообщение об ошибке в сетке, он бросает необработанное исключение.PXException выбрасывает ошибку вместо сообщения об ошибке в сетке

throw new PXException("Error message"); 

Ошибка Message--

Ниже ошибки Я getting--

Ошибка: Ошибка # 145: один или несколько элементов не были обработаны. Отправить Поднято на: 24.04.2013 2:38:55 PM Экран: ES.60.60.60 Команда: Процесс
Детали: 24.04.2013 2:38:55 PM Ошибка: Ошибка № 145: одна или больше предметов не были обработаны.

в PX.Data.PXProcessingBase 1.<>c__DisplayClass13 1.b__11 (Список 1 list) at PX.Data.PXProcessing 1.Process (PXAdapter адаптер) на PX.Data.PXAction 1.a(PXAdapter A_0) at PX.Data.PXAction 1.d__c.MoveNext() в PX.Data.PXAction`1.d__c .MoveNext() at PX.Web.UI.PXBaseDataSource.tryExecutePendingCommand (String viewName, String [] sortcolumns, Boolean [] descendings, Object [] search, Object [] parameters, PXFilterRow [] filters, DataSourceSelectArguments arguments, Boolean & closeWindowRequired , Int32 & adapterStartRow, Int32 & adapterTotalRows) at PX.Web.UI.PXBaseDataSource.ExecuteSelect (String viewName, DataSourceSelectArguments аргументы, PXDSSelectArguments pxargum Энты)

ответ

2

Вы можете использовать этот

throw new PXSetPropertyException("Message", PXErrorLevel.RowError); 

Отредактировано синтаксис:

sender.RaiseExceptionHandling("fieldName", row, null, new PXSetPropertyException("Message", PXErrorLevel.RowError)) 

После копания в исходном коде Acumatica я нашел это:

PXProcessing<APRegister>.SetError(i, e); 

я - индекс вашего тока обработка записей; e - исключение

+0

Он по-прежнему выдает исключение вместо того, чтобы показывать его в сетке (маленький красный крест в начале строки). – Krunal

+0

Это страница процесса с сеткой в ​​ней. Когда я проверю одну из строк, и если что-то пойдет не так, я хочу показать сообщение об ошибке в начале строки (то же, что и Acumatica на других экранах). – Krunal

+0

Включенная ошибка. – Krunal

0

У меня была та же проблема, проблема была в моей сетке, указывающей на мой вид данных PXSelect<...> вместо PXProcessing<...> вид данных.
Я также установил следующие свойства в сетке (то же, что и существующее рабочее окно обработки). AllowPaging = true
BatchUpdate = true
ID = grid
SkinID = PrimaryInquire
AllowSearch = True
NoteIndicator = True

Работы, как и другие экраны теперь.