acumatica
タスク、イベント、アクティビティでサポートされるエンティティのリストの拡張
サーチ…
前書き
このトピックでは、[タスク、イベント、およびアクティビティ]のカスタムエンティティで[関連エンティティの説明]フィールドを拡張する方法を学習します。
関連するエンティティの説明フィールドにテスト作業オーダーを追加する
Acumatica ERPアプリケーションでテスト作業指示書を管理するカスタム作業指示書画面を既に作成したとします。
TestWorkOrder
DACで既に宣言されているNoteID
フィールドがあり、 Test Work Orders画面で管理されています。
[Serializable]
public class TestWorkOrder : IBqlTable
{
...
#region NoteID
public abstract class noteID : IBqlField { }
[PXNote]
public virtual Guid? NoteID { get; set; }
#endregion
...
}
ActivityIndicator
プロパティは、最上位のPXForm
コンテナに対してTrueに設定されています 。
<px:PXFormView ID="form" runat="server" ActivityIndicator="true" DataSourceID="ds" Style="z-index: 100" DataMember="ITWO" Width="100%" >
ただし、テスト作業指示に対して新しいタスク、イベント、またはアクティビティが作成されると、 関連エンティティ記述コントロールは常に空です。
関連するエンティティ説明セレクタにテスト作業オーダエンティティを追加するには、次の手順を実行する必要があります。
TestWorkOrder.NoteIDの
PXNoteAttribute
フィールドで、ShowInReferenceSelector
プロパティをTrueに設定し、BQL式を定義してエンティティルックアップに表示されるデータレコードを選択します。[PXNote( ShowInReferenceSelector = true, Selector = typeof(Search<TestWorkOrder.orderNbr>))] public virtual Guid? NoteID { get; set; }
TestWorkOrder
DACをPXCacheNameAttribute
とPXPrimaryGraphAttribute
ます:[PXLocalizable] public static class Messages { public const string Opportunity = "Test Work Order"; } [Serializable] [PXCacheName(Messages.Opportunity)] [PXPrimaryGraph(typeof(TestWorkOrderEntry))] public class TestWorkOrder : IBqlTable { ... }
PXCacheName
属性は、TestWorkOrder
DAC(この場合Test Work Order )のユーザーフレンドリーな名前を定義します。この名前は、 Typeドロップダウンで使用できます。PXPrimaryGraph
属性は、 テスト作業オーダーを編集するためにユーザーがリダイレクトされる入力ページを決定します。これは、指定された例の作業オーダーのテスト画面です。いくつかの
TestWorkOrder
フィールドをPXFieldDescriptionAttribute
ます。これらのフィールド値は、 関連エンティティ記述フィールド内の参照されたテスト作業指示を表す単一のテキストラベルに連結されます。... [PXFieldDescription] public virtual string OrderNbr { get; set; } ... [PXFieldDescription] public virtual String Status { get; set; } ... [PXFieldDescription] public virtual string POOrderNbr { get; set; }
次のいずれかの方法を選択して、 エンティティ検索に表示される列のリストを定義します。
a。
PXNoteAttribute.FieldList
プロパティを使用します(優先度が最も高くなります)。public abstract class noteID : IBqlField { } [PXNote( ShowInReferenceSelector = true, Selector = typeof(Search<TestWorkOrder.orderNbr>), FieldList = new Type[] { typeof(TestWorkOrder.orderNbr), typeof(TestWorkOrder.orderDate), typeof(TestWorkOrder.status), typeof(TestWorkOrder.poOrderNbr) })] public virtual Guid? NoteID { get; set; }
b。 OrderNbr参照用に定義された列のリストを借用します。
public abstract class orderNbr : IBqlField { } [PXDBString(15, IsKey = true, IsUnicode = true, InputMask = ">CCCCCCCCCCCCCCC")] [PXDefault()] [PXUIField(DisplayName = "ITWO Nbr.", Visibility = PXUIVisibility.SelectorVisible)] [PXSelector(typeof(Search<TestWorkOrder.orderNbr>), typeof(TestWorkOrder.orderNbr), typeof(TestWorkOrder.orderDate), typeof(TestWorkOrder.status), typeof(TestWorkOrder.poOrderNbr))] [PXFieldDescription] public virtual string OrderNbr { get; set; }
c。 可視性が
PXUIVisibility.SelectorVisible
設定されたTestWorkOrder
すべてのフィールドを表示する:... [PXUIField(DisplayName = "ITWO Nbr.", Visibility = PXUIVisibility.SelectorVisible)] public virtual string OrderNbr { get; set; } ... [PXUIField(DisplayName = "Order Date", Visibility = PXUIVisibility.SelectorVisible)] public virtual DateTime? OrderDate { get; set; } ... [PXUIField(DisplayName = "Status", Visibility = PXUIVisibility.SelectorVisible)] public virtual String Status { get; set; } ... [PXUIField(DisplayName = "Purchase Order", Visibility = PXUIVisibility.SelectorVisible)] public virtual string POOrderNbr { get; set; }
上記の4つのステップを完了した後、 作業オーダーのテストは 、タスク、イベント、およびアクティビティの関連エンティティの説明フィールドで完全にサポートされている必要があります