使用AR302000屏幕中的PaymentRef字段中的数字序列

时间:2017-07-22 05:09:20

标签: acumatica

我正在尝试在AR302000付款和应用程序屏幕中使用此PHIEUTHU序列 enter image description here

自动填写ExtRefNbr文本字段 enter image description here

这是我写的代码:

    protected void ARPayment_RowPersisting(PXCache cache, PXRowPersistingEventArgs e)
{
  base.ARPayment_RowPersisting(sender, e);
  //var row = (ARPayment)e.Row;
  if (this.IsImport)
    {
      if ((e.Operation & PXDBOperation.Command) == PXDBOperation.Insert)
        {
            String numbering = ARSetup.Current.ExtRefNbr;
            Boolean autonumber = true;
            if (numbering != null)
               {
                 Numbering num = PXSelect<Numbering, Where<Numbering.numberingID, Equal<Required<Numbering.numberingID>>>>.Select(this, numbering);
                 if (num != null && num.UserNumbering == true)
                   {
                     autonumber = false;
                   }

      }}

}

    var payment = (ARPayment)e.Row;
    if (autonumber == false)
      {
        AutoNumberAttribute.SetNumberingId<APPayment.refNbr>(this.Document.Cache, payment.DocType, numbering);
      }

}

enter image description here 这是错误:

  

\ App_RuntimeCode \ ARPaymentEntry.cs(33):错误CS0117:   'PX.Data.PXGraphExtension'没有   包含'ARPayment_RowPersisting'的定义   \ App_RuntimeCode \ ARPaymentEntry.cs(33):错误CS0103:名称   'sender'在当前上下文中不存在   \ App_RuntimeCode \ ARPaymentEntry.cs(35):错误CS1061:   'PX.Objects.AR.ARPaymentEntry_Extension'不包含定义   'IsImport'并没有扩展方法'IsImport'接受第一个   “PX.Objects.AR.ARPaymentEntry_Extension”类型的参数可以是   找到了(你是否错过了使用指令或程序集引用?)   \ App_RuntimeCode \ ARPaymentEntry.cs(39):错误CS0117:   'PX.Objects.AR.ARSetup'不包含'Current'的定义   \ App_RuntimeCode \ ARPaymentEntry.cs(43):错误CS0120:一个对象   非静态字段,方法或属性需要引用   “PX.Data.PXSelectBase.Select(PARAMS   object [])'\ App_RuntimeCode \ ARPaymentEntry.cs(54):错误CS0103:   名称'autonumber'在当前上下文中不存在   \ App_RuntimeCode \ ARPaymentEntry.cs(56):错误CS0246:类型或   无法找到命名空间名称'APPayment'(您是否错过了使用   指令或程序集引用?)   \ App_RuntimeCode \ ARPaymentEntry.cs(56):错误CS1061:   'PX.Objects.AR.ARPaymentEntry_Extension'不包含定义   对于'文档'而没有扩展方法'文档'接受第一个   “PX.Objects.AR.ARPaymentEntry_Extension”类型的参数可以是   找到了(你是否错过了使用指令或程序集引用?)   \ App_RuntimeCode \ ARPaymentEntry.cs(56):错误CS0103:名称   “编号”在当前上下文中不存在   \ App_RuntimeCode \ ARPaymentEntry.cs(33):错误CS0117:   'PX.Data.PXGraphExtension'没有   包含'ARPayment_RowPersisting'的定义

enter image description here

我的uploade包含图片,请看看! 请帮我一步一步,我是新手。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

如果使用图表扩展名,您将使用“Base”作为对基本图表的调用,而不是基础。扩展事件时,您可以像这样使用行委托来调用基本调用。无论基本图形中是否存在基本调用,该示例都应该有效。

public class ARPaymentEntry_Extension : PXGraphExtension<ARPaymentEntry>
{
    protected virtual void ARPayment_RowPersisting(PXCache cache, PXRowPersistingEventArgs e, PXRowPersisting del)
    {
        // base call...
        del?.Invoke(cache, e);

        // extended logic...
    }
}