Какой метод следует использовать для настройки кнопки «процесс» на экране AP 505200. Мне нужно записывать записи в определенную таблицу, когда я нажимаю кнопку Обработка
Спасибо заранее!
Метод сопоставляется с действиями Process / Process All с помощью метода SetProcessDelegate представления данных обработки.
Сначала найдите график экрана AP505200 (APReleaseChecks):
На экране исходного кода найдите график APReleaseChecks и найдите метод SetProcessDelegate:
APPaymentList.SetProcessDelegate(list => ReleasePayments(list, action));
Метод ReleasePayments делегата процесса является статическим, поэтому вы не можете легко его переопределить. Попробуйте использовать SetProcessDelegate для вызова собственного делегата процесса, который, в свою очередь, вызовет базовый.
public class APReleaseChecks_Extension : PXGraphExtension<APReleaseChecks>
{
public virtual void ReleaseChecksFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
ReleaseChecksFilter filter = e.Row as ReleaseChecksFilter;
if (filter != null)
{
Base.APPaymentList.SetProcessDelegate(delegate (List<APPayment> list)
{
// Do processing on list items before base process delegate
// [...]
// Call base process delegate
APReleaseChecks.ReleasePayments(list, filter.Action);
// Do processing on list items after base process delegate
// [...]
});
}
}
}