サーチ…


前書き

Acumatica ERPでは、貴社固有のニーズに応じて、エンティティ(リード、在庫/非在庫品など)を柔軟かつ有意義に分類するための属性を定義することができます。属性は、システム内のオブジェクトの追加情報を指定できるプロパティです。属性は、ビジネスアカウント(リード、機会、顧客、およびケースを含む)、在庫および非在庫アイテムを1つまたは複数のプロパティでグループ化したクラスのコンテキストで定義されます。

備考

この例は、Acumatica 6.0シリーズに適用されます

この記事では、Acumatica ERP属性のサポートをすぐに購入可能なSales Order Entityに追加する方法を説明します

非常にコアでは、エンティティのメインDACには、 CSAnswersテーブルを参照するためのGUID列( NoteID )が必要であり、エンティティのクラスを識別するフィールドが必要です。

Order Typeを使用して、特定の注文タイプ固有の情報を収集する属性のリストを定義します。

SOOrderTypeMaintグラフのグラフ拡張を作成し、データビューを宣言して特定の注文タイプの属性リストを定義します。すぐにCSAttributeGroupList<TEntityClass, TEntity>を使用します。

public class SOOrderTypeMaintPXExt : PXGraphExtension<SOOrderTypeMaint>
{
    [PXViewName(PX.Objects.CR.Messages.Attributes)]
    public CSAttributeGroupList<SOOrderType, SOOrder> Mapping;
}

SOOrderEntry Graphのグラフ拡張を作成し、現在の注文タイプに固有の属性のデータビューを宣言します。

public class SOOrderEntryPXExt : PXGraphExtension<SOOrderEntry>
{
    public CRAttributeList<SOOrder> Answers;
}

SOOrder DACのDAC拡張を作成し、 CRAttributesField属性で装飾されたユーザー定義フィールドを宣言し、 ClassIDフィールドを指定します。ここではOrderTypeです。

public class SOOrderPXExt : PXCacheExtension<SOOrder>
{
    #region UsrAttributes

    public abstract class usrAttributes : IBqlField { }

    [CRAttributesField(typeof(SOOrder.orderType))]
    public virtual string[] UsrAttributes { get; set; }

    #endregion
}

カスタマイズ・エンジンを使用して以下のように「 Order Types変更Order Typesページ( SO201000

<px:PXTabItem Text="Attributes">
  <Template>
    <px:PXGrid runat="server" BorderWidth="0px" Height="150px" SkinID="Details" Width="100%" ID="AttributesGrid" 
                MatrixMode="True" DataSourceID="ds">
        <AutoSize Enabled="True" Container="Window" MinHeight="150" />
        <Levels>
            <px:PXGridLevel DataMember="Mapping">
                <RowTemplate>
                    <px:PXSelector runat="server" DataField="AttributeID" FilterByAllFields="True" AllowEdit="True" 
                                    CommitChanges="True" ID="edAttributeID" /></RowTemplate>
                <Columns>
                    <px:PXGridColumn DataField="AttributeID" Width="81px" AutoCallBack="True" LinkCommand="ShowDetails" />
                    <px:PXGridColumn DataField="Description" Width="351px" AllowNull="False" />
                    <px:PXGridColumn DataField="SortOrder" TextAlign="Right" Width="81px" />
                    <px:PXGridColumn DataField="Required" Type="CheckBox" TextAlign="Center" AllowNull="False" />
                    <px:PXGridColumn DataField="CSAttribute__IsInternal" Type="CheckBox" TextAlign="Center" AllowNull="True" />
                    <px:PXGridColumn DataField="ControlType" Type="DropDownList" Width="81px" AllowNull="False" />
                    <px:PXGridColumn DataField="DefaultValue" RenderEditorText="False" Width="100px" AllowNull="True" />
                </Columns>
            </px:PXGridLevel>
        </Levels>
    </px:PXGrid>
  </Template>
</px:PXTabItem>

カスタマイジングエンジンを使用して以下のようにSales Orders変更( SO301000

<px:PXTabItem Text="Attributes">
  <Template>
    <px:PXGrid runat="server" ID="PXGridAnswers" Height="200px" SkinID="Inquire" 
                Width="100%" MatrixMode="True" DataSourceID="ds">
        <AutoSize Enabled="True" MinHeight="200" />
        <ActionBar>
            <Actions>
                <Search Enabled="False" />
            </Actions>
        </ActionBar>
        <Mode AllowAddNew="False" AllowDelete="False" AllowColMoving="False" />
        <Levels>
            <px:PXGridLevel DataMember="Answers">                        
                <Columns>
                    <px:PXGridColumn TextAlign="Left" DataField="AttributeID" TextField="AttributeID_description" 
                                        Width="250px" AllowShowHide="False" />
                    <px:PXGridColumn Type="CheckBox" TextAlign="Center" DataField="isRequired" Width="80px" />
                    <px:PXGridColumn DataField="Value" Width="300px" AllowSort="False" AllowShowHide="False" />
                </Columns>
            </px:PXGridLevel>
        </Levels>
    </px:PXGrid>
  </Template>
</px:PXTabItem>

展開パッケージをダウンロードする



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow