2016-12-26 2 views
0

В моем случае FieldDefaulting У меня есть ниже кодуAcumatica Программные получать сумму значений из таблицы

var row = (PMProject)e.Row; 
    decimal? dec = 0; 
     foreach (atcProjectLinesTable tb in ProjectLines.Select(this)) 
     { 
      dec += tb.UnPrice; 
     } 
     throw new PXException("Total is "+dec); 
      e.NewValue = dec; 

Im получая недостижимое предупреждение кода в Visual Studio, и когда я публикую свой проект значение поля равно нуль.

enter image description here

ответ

3

отчеты Visual Studio около недостижимого кода из-за PXException брошенного в середине обработчика событий FieldDefaulting:

throw new PXException("Total is "+dec); 

Профилирования промежуточных значений, вы можете взглянуть на классе PXTrace. Приведенное ниже пример показывает, как писать в Acumatica значение Трассировки сгенерированного значения для продаж заказа Описания

public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry> 
{ 
    public void SOOrder_OrderDesc_FieldDefaulting(PXCache sender, PXFieldDefaultingEventArgs e) 
    { 
     var testDescr = "Test Order Description"; 
     PXTrace.WriteInformation(string.Format("Sales Order Description: {0}", testDescr)); 
     e.NewValue = testDescr; 
    } 
} 

enter image description here

enter image description here

+0

Спасибо, я пытаюсь сложить все значения цен в моей atcProjectLinesTable , и установите поле, равное сумме. Я правильно перебираю стол? – nickivey

+0

Вы найдете себя в гораздо лучшем положении с PXFormulaAttribute после урока 7: Использование атрибутов для вычислений из класса T200 - это обычная практика, используемая в Acumatica для расчета агрегатов – RuslanDev

+0

Ive пробовал использовать приведенный ниже код, я читал PXFormula does not support расширения еще. Значение Dac привязано и я не получаю ошибки с приведенным ниже кодом только с нулевым (0) значением' [PXParent (typeof (Select > >>))] [PXFormula (null, typeof (SumCalc ))] ' – nickivey

Смежные вопросы