2016-06-15 5 views
0

私は今Acumaticaの拡張機能でこの問題を抱えており、解像度を把握できていないようです。 Sales Order画面のInventory Lookup Dialog(以下のスクリーンショットを参照)にアクションを追加しました.QtySelectedを1に更新し、「testBrand」のブランドであるFieldを更新します。これはSOSitesStatusSelectedテーブルの拡張ですが、アクションをクリックするたびに、追加されたフィールドブランドではなくQtySelectedだけが更新されます。Acumatica Extension on SOSitesStatusSelected

下記の私のコードを参照していただきありがとうございます。私はすべての助けに感謝します。この場合

enter image description here

//DAC 
    #region UsrBrand        
    [PXUIField(DisplayName = "Brand", Visible = true, Enabled = true)]  
    public virtual string UsrBrand{get;set;} 
    public abstract class usrBrand : IBqlField{}  
    #endregion 

//BLC 
public PXAction<PX.Objects.SO.SOOrder> updateAttributes; 
[PXButton(CommitChanges = true)] 
[PXUIField(DisplayName = "Update Attributes")] 
protected void UpdateAttributes() 
{ 
    this.Base.sitestatus.AllowInsert= true; 
    this.Base.sitestatus.AllowUpdate= true; 
    foreach (SOSiteStatusSelected line in this.Base.sitestatus.Select()) 
    {        

    line.QtySelected = 1; 
    this.Base.sitestatus.Update(line); 

    SOSiteStatusSelectedExt rowExt = this.Base.sitestatus.Cache.GetExtension<SOSiteStatusSelectedExt>(line); 
    rowExt.UsrBrand = "testBrand"; 
    this.Base.sitestatus.Cache.Update(rowExt);   

    } 
} 

答えて

0

内線SOSiteStatusSelectedExtは、個別の項目ではありません。それは実際にベースレコードの一部です。したがって、個別に更新する必要はありません。

line.QtySelected = 1; 

SOSiteStatusSelectedExt rowExt = this.Base.sitestatus.Cache.GetExtension<SOSiteStatusSelectedExt>(line); 
rowExt.UsrBrand = "testBrand"; 

this.Base.sitestatus.Update(line); 
+0

私も以前も同じエラーが発生しました。私たちがupdateを呼び出し、無効なオブジェクトをパラメータとして渡すと、例外がスローされる可能性があると思います。私は何が得られたのか想起しませんが、そのようなことが行われた理由があったと思っています... – Gabriel

+0

あなたの提案を試みましたが、依然として動作していません。私はまた、フィールドのDAC属性にPXDefault値を追加しようとしましたが、動作しません。[PXDefault(Search >>>)) ' –

関連する問題