Szukaj…


Wprowadzenie

Acumatica ERP pozwala definiować atrybuty dla elastycznej, znaczącej klasyfikacji jednostki (potencjalna sprzedaż, towary magazynowe / inne niż magazynowe itd.) Zgodnie z wymaganiami specyficznymi dla Twojej firmy. Atrybut to właściwość, która umożliwia określenie dodatkowych informacji dla obiektów w systemie. Atrybuty są definiowane w kontekście klasy, która jest grupowaniem kont biznesowych (w tym potencjalnych klientów, szans, klientów i spraw), towarów magazynowych i innych niż magazynowe według jednej lub więcej ich właściwości.

Uwagi

Ten przykład dotyczy serii Acumatica 6.0

Ten artykuł zawiera instrukcje, jak dodać obsługę atrybutu Acumatica ERP do gotowego elementu zamówienia sprzedaży

Zasadniczo główny DAC encji musi mieć kolumnę GUID ( NoteID ), aby odwoływać się do tabeli CSAnswers i musi mieć pole identyfikujące klasę encji.

Wykorzystamy Order Type do zdefiniowania listy atrybutów w celu zebrania informacji specyficznych dla typu zamówienia.

Utwórz rozszerzenie wykresu dla SOOrderTypeMaint Graph i zadeklaruj widok danych, aby zdefiniować listę atrybutów dla określonego typu zamówienia. Będziemy używać CSAttributeGroupList<TEntityClass, TEntity>

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

Utwórz rozszerzenie wykresu dla SOOrderEntry Graph i zadeklaruj widok danych dla atrybutów specyficznych dla bieżącego typu zamówienia.

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

Tworzenie DAC Extension dla SOOrder DAC i użytkownik deklaruje zdefiniowane pole ozdobione CRAttributesField atrybut i określ ClassID pole - w naszym przypadku jest to OrderType .

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

    public abstract class usrAttributes : IBqlField { }

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

    #endregion
}

Zmodyfikuj stronę Order Types ( SO201000 ) jak poniżej za pomocą silnika dostosowywania

<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>

Zmodyfikuj stronę Sales Orders ( SO301000 ), jak poniżej, za pomocą silnika dostosowywania

<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>

Pobierz pakiet wdrożeniowy



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow