2017-05-04 11 views
0

現金販売(AR304000画面)では、請求書番号順から支払番号順までの自動番号付けシーケンスを設定します。自動番号付けをAcumaticaの既存の自動番号付けシーケンスに変更するにはどうすればよいですか?

私は次のコードを試しましたが、役に立たなかった。新しい販売を保存するとエラーが発生します。添付の写真を参照してください。私はあなたの代わりにARPaymentType.Numbering属性のAutoNumberAttributeを使うべきだと思う

public class ARCashSaleExtension : PXCacheExtension<ARCashSale> 
{ 
    #region RefNumber 

    [PXDBString(15, IsKey = true, InputMask = ">CCCCCCCCCCCCCCC", IsUnicode = true, BqlField = typeof(**PX.Objects.AR.ARPayment.refNbr**))] 
    [PXDefault()] 
    [PXUIField(DisplayName = "Reference Nbr.", Visibility = PXUIVisibility.SelectorVisible)] 
    [ARPaymentType.RefNbr(typeof(Search2<ARCashSale.refNbr, 
     InnerJoinSingleTable<Customer, On<ARCashSale.customerID, Equal<Customer.bAccountID>>>, 
     Where<ARCashSale.docType, Equal<Current<ARCashSale.docType>>, 
     And2<Where<ARCashSale.origModule, NotEqual<BatchModule.moduleSO>, Or<ARCashSale.released, Equal<boolTrue>>>, 
     And<Match<Customer, Current<AccessInfo.userName>>>>>, OrderBy<Desc<ARCashSale.refNbr>>>), Filterable = true)] 
    [**ARPaymentType.Numbering()**] 
    [PXFieldDescription] 
    public String RefNbr 
    { 
     get; 
     set; 
    } 
    #endregion 
} 

答えて

2

enter image description here

は、ここに私のDACコードです。

[AutoNumber(typeof(ARCashSale.docType), typeof(ARCashSale.docDate), 
       new string[] { CashSale, CashReturn }, 
       new Type[] { typeof(ARSetup.paymentNumberingID), typeof(ARSetup.paymentNumberingID) })] 

以外にも、私はARPaymentType.RefNbr属性の代わりに、ARCashSaleType.RefNbr属性を使用する任意の理由は見ることができません。

もう1つ:私の主張から、DAC拡張を作成するのではなく、1つのフィールドの属性を書き直すためにグラフ拡張でCache_Attachedを使用する方が良いです。ここで

はCacheAttachedとグラフ拡張の例である:

public partial class ARCashSaleEntryExt : PXGraphExtension<ARCashSaleEntry> 
{ 
    [PXMergeAttributes(Method = MergeMethod.Merge)] // that attribute is here to keep all attributes of base field except the one that should be replaced. 
    [AutoNumber(typeof(ARCashSale.docType), typeof(ARCashSale.docDate), 
      new string[] { ARDocType.CashSale, ARDocType.CashReturn }, 
      new Type[] { typeof(ARSetup.paymentNumberingID), typeof(ARSetup.paymentNumberingID) })] 
    public virtual void ARCashSale_RefNbr_CacheAttached(PXCache sender) 
    { 
    } 
} 

cache_attachedイベントの詳細については、私は問題を解決するために、グラフの拡張子にcache_attachedアプローチを使用しない方法

+0

T200のトレーニングを参照してください?いくつかの例を挙げることができますか? cache_attachedの助けとなるかもしれないacumaticaのドキュメントのページ。ありがとう。 –

+0

回答を更新しました –

関連する問題