2017-08-10 3 views
0

受注伝票で、ツールバーボタン "キット詳細"を追加しました。現在選択されているキットアイテムの仕様を表示するにはどうすればよいですか?キットの表示仕様

kit details

+0

まだ試しましたか? – Hybridzz

+0

あなたは単にキットページ/グラフを開こうとしていると思いますか? PXRedirectHelperまたはPXRedirectRequiredExceptionを呼び出す例を探します。 – Brendan

答えて

0

あなたはKitAssembly開くあなたのアクションハンドラに次のコードを使用したい場合: enter image description here

それはキットアセンブリを開きます:

[PXButton] 
[PXUIField(DisplayName = "Kit Details", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select, Visible = true)] 
public virtual IEnumerable KitDetail(PXAdapter adapter) 
{ 
    // Add error handling if necessary 
    KitAssemblyEntry kitAssemblyEntry = PXGraph.CreateInstance<KitAssemblyEntry>(); 
    kitAssemblyEntry.Document.Current = kitAssemblyEntry.Document.Search<INKitRegister.inventoryID>(Base.Transactions.Current.InventoryID); 
    throw new PXRedirectRequiredException(kitAssemblyEntry, true, "IN Kit Assembly") { Mode = PXBaseRedirectException.WindowMode.NewWindow }; 
} 

すると、あなたがKitDetailのアクションを呼び出します選択されたSOLineの.InventoryID: enter image description here

EDIT

はいINKitSpecMaintは、キット仕様を表示するための正しいグラフです。 検索が機能しない場合は、選択を使用して新しいグラフを初期化できます。

[PXProcessButton] 
[PXUIField(DisplayName = "Kit Details", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select, Visible = true)] 
public virtual IEnumerable KitDetail(PXAdapter adapter) 
{ 
    INKitSpecMaint kitSpecification = PXGraph.CreateInstance<INKitSpecMaint>(); 
    kitSpecification.Hdr.Current = PXSelect<INKitSpecHdr, Where<INKitSpecHdr.kitInventoryID, Equal<Required<INKitSpecHdr.kitInventoryID>>>>.Select(Base, Base.Transactions.Current.InventoryID); 
    throw new PXRedirectRequiredException(kitSpecification, true, "Kit Specification") { Mode = PXBaseRedirectException.WindowMode.NewWindow }; 
} 
+0

ありがとうございます。しかし、私は、Kit Assembly(IN307000)ではなく、Kit Specification(IN209500)を見せたいと思っています。使用する正しいグラフは何でしょうか? INKitSpecMaintを試しましたが、それは検索定義などがないような私にあらゆる種類のエラーを与えています。 – Rick

+0

私はキット仕様をカバーするために私の答えを更新しました。 –