acumatica
Ondersteuning van attributen toevoegen aan out-of-box klantorderentiteit
Zoeken…
Invoering
Met Acumatica ERP kunt u attributen definiëren voor flexibele, zinvolle classificatie van een entiteit (Lead, Stock / Non-Stock Items enz.) Zoals vereist voor de specifieke behoeften van uw bedrijf. Een kenmerk is een eigenschap waarmee u aanvullende informatie voor objecten in het systeem kunt opgeven. Attributen worden gedefinieerd in de context van een klasse die een groepering is van de zakelijke accounts (inclusief leads, opportunities, klanten en cases), voorraad- en niet-voorraadartikelen op basis van een of meer van hun eigenschappen.
Opmerkingen
Dit voorbeeld is van toepassing op Acumatica 6.0-serie
Dit artikel biedt een handleiding voor het toevoegen van Acumatica ERP-kenmerkondersteuning aan out-of-box verkooporderentiteit
In de kern moet de hoofd-DAC van uw entiteit de GUID-kolom ( NoteID
) hebben om te verwijzen CSAnswers
tabel CSAnswers
en moet deze een veld hebben dat de klasse van de entiteit identificeert.
We zullen gebruik maken van Order Type
om een lijst met attributen te definiëren om specifieke ordertype-specifieke informatie te verzamelen.
Maak een SOOrderTypeMaint
voor SOOrderTypeMaint
Graph en declareer gegevensweergave om een lijst met attributen voor een bepaald SOOrderTypeMaint
te definiëren. We zullen out-of-box CSAttributeGroupList<TEntityClass, TEntity>
public class SOOrderTypeMaintPXExt : PXGraphExtension<SOOrderTypeMaint>
{
[PXViewName(PX.Objects.CR.Messages.Attributes)]
public CSAttributeGroupList<SOOrderType, SOOrder> Mapping;
}
Maak een SOOrderEntry
voor SOOrderEntry
Graph en declareer gegevensweergave voor kenmerken die specifiek zijn voor het huidige SOOrderEntry
.
public class SOOrderEntryPXExt : PXGraphExtension<SOOrderEntry>
{
public CRAttributeList<SOOrder> Answers;
}
Maak een DAC-extensie voor SOOrder
DAC en verklaar een door de gebruiker gedefinieerd veld dat is versierd met het kenmerk CRAttributesField
en geef het ClassID
veld op - in ons geval is dit OrderType
.
public class SOOrderPXExt : PXCacheExtension<SOOrder>
{
#region UsrAttributes
public abstract class usrAttributes : IBqlField { }
[CRAttributesField(typeof(SOOrder.orderType))]
public virtual string[] UsrAttributes { get; set; }
#endregion
}
Wijzigen Order Types
pagina ( SO201000
), zoals hieronder met behulp van Customization Engine
<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>
Wijzigen Sales Orders
pagina ( SO301000
), zoals hieronder met behulp van 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>
Implementatiepakket downloaden