Поиск…


Вступление

Acumatica ERP позволяет вам определять атрибуты для гибкой, значимой классификации Entity (Lead, Stock / Non-Stock Items Etc.), как это требуется для конкретных потребностей вашей компании. Атрибут - это свойство, которое позволяет вам указывать дополнительную информацию для объектов в системе. Атрибуты определяются в контексте класса, который представляет собой группу бизнес-счетов (включая потенциальных клиентов, возможностей, клиентов и случаев), фондовых и внебалансовых позиций одним или несколькими их свойствами.

замечания

Этот пример применим к серии Acumatica 6.0

В этой статье описывается, как добавить поддержку AcumaticA ERP Attribute к готовой организации заказа клиента

В самом ядре основной ЦАП вашего объекта должен иметь столбец GUID ( NoteID ) для ссылки на таблицу CSAnswers и должен иметь поле, которое идентифицирует класс Entity.

Мы будем использовать Order Type чтобы определить список атрибутов для сбора конкретной информации о типе заказа.

Создайте расширение графа для SOOrderTypeMaint Graph и объявите представление данных, чтобы определить список атрибутов для определенного типа заказа. Мы будем использовать CSAttributeGroupList<TEntityClass, TEntity>

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

Создайте расширение графа для графика SOOrderEntry и объявите представление данных для атрибутов, характерных для текущего типа заказа.

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

Создайте расширение ЦАП для DAC SOOrder и объявите пользовательское поле, украшенное атрибутом 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 SO201000 ( SO201000 ), как 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 ), как 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