В основном, Процесс / Процесс Все действия отображаются на один метод, который использует метод SetProcessDelegate представления обработки данных. Вам нужно сначала найти график (ProcessInputSVAT) экрана «Распознать входящий НДС» (TX503500). После открытия исходного кода для этого графика вы можете видеть, что он является производным от класса ProcessSVATBase. И когда вы войдете в этот класс, вы увидите упомянутую функцию SetProcessDelegate, вызываемую Data View:
protected virtual void SVATTaxFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
SVATTaxFilter filter = (SVATTaxFilter)e.Row;
if (filter == null)
{
return;
}
this.SVATDocuments.SetProcessDelegate(delegate(List<SVATConversionHistExt> list)
{
ProcessSVATBase.ProcessPendingVATProc(list, filter);
});
}
Итак, мы выяснили, какое расширение графа мы должны создать. Теперь необходимо переопределить событие RowSelected SVATTaxFilter DA C в графе расширений.
public class ProcessSVATBaseExt : PXGraphExtension<ProcessSVATBase>
{
public virtual void SVATTaxFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
SVATTaxFilter filter = e.Row as SVATTaxFilter;
if (filter != null)
{
Base.SVATDocuments.SetProcessDelegate(delegate (List<SVATConversionHistExt> list)
{
// Here you can manage the list items and then call the base method
// ...
ProcessSVATBase.ProcessPendingVATProc(list, filter); // the base method
// Here you can manage the list items after the base method
// ...
});
}
}
}