Ricerca…


introduzione

Acumatica ERP consente di definire gli attributi per una classificazione flessibile e significativa di un'entità (Lead, Stock / Non-Stock Items Etc.) come richiesto per le esigenze specifiche dell'azienda. Un attributo è una proprietà che consente di specificare informazioni aggiuntive per gli oggetti nel sistema. Gli attributi sono definiti nel contesto di una classe che è un raggruppamento degli account aziendali (inclusi lead, opportunità, clienti e casi), articoli di magazzino e non di uno o più delle loro proprietà.

Osservazioni

Questo esempio è applicabile alla serie Acumatica 6.0

Questo articolo fornisce istruzioni su come aggiungere il supporto di Acumatica ERP Attribute all'entità ordini di vendita out-of-box

Al centro, il DAC principale dell'entità deve avere la colonna GUID ( NoteID ) per fare riferimento CSAnswers tabella CSAnswers e deve avere un campo che identifichi la classe dell'entità.

Utilizzeremo il tipo di Order Type per definire l'elenco degli attributi per raccogliere particolari informazioni specifiche del tipo di ordine.

Creare un'estensione del grafico per SOOrderTypeMaint Grafico e dichiarare la visualizzazione dei dati per definire un elenco di attributi per un particolare tipo di ordine. CSAttributeGroupList<TEntityClass, TEntity> out-of-box CSAttributeGroupList<TEntityClass, TEntity>

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

Creare un'estensione grafico per SOOrderEntry Grafico e dichiarare la visualizzazione dati per gli attributi specifici per il tipo di ordine corrente.

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

Crea estensione DAC per SOOrder DAC e dichiara campo definito dall'utente decorato con attributo CRAttributesField e specifica il campo ClassID - nel nostro caso è OrderType .

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

    public abstract class usrAttributes : IBqlField { }

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

    #endregion
}

Modificare la pagina dei Order Types ( SO201000 ) come di seguito usando il motore di personalizzazione

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

Modificare la pagina Sales Orders ( SO301000 ) come sotto utilizzando Customization Engine

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

Scarica il pacchetto di distribuzione



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow