acumatica
Lägga till attributstöd till uteslutande försäljningsorder
Sök…
Introduktion
Med Acumatica ERP kan du definiera attribut för flexibel, meningsfull klassificering av en enhet (Lead, Stock / Non-Stock Items Etc.) efter behov för ditt företags specifika behov. Ett attribut är en egenskap som gör att du kan specificera ytterligare information för objekt i systemet. Attribut definieras i sammanhanget för en klass som är en gruppering av företagskonton (inklusive potentiella kunder, möjligheter, kunder och fall), lager och icke-aktieobjekt av en eller flera av deras egenskaper.
Anmärkningar
Detta exempel är tillämpligt på Acumatica 6.0-serien
Den här artikeln innehåller instruktioner för hur du lägger till Acumatica ERP-attributstöd till extern försäljningsorder
Kärnan måste ditt enhets huvudsakliga DAC ha GUID-kolumn ( NoteID ) för att referera CSAnswers tabellen och måste ha fält som identifierar entitetens klass.
Vi kommer att använda Order Type att definiera en lista över attribut för att samla in särskild ordertypspecifik information.
Skapa en grafförlängning för SOOrderTypeMaint graf och förklara SOOrderTypeMaint att definiera en lista med attribut för en viss ordertyp. Vi kommer att använda out-of-box CSAttributeGroupList<TEntityClass, TEntity>
public class SOOrderTypeMaintPXExt : PXGraphExtension<SOOrderTypeMaint>
{
[PXViewName(PX.Objects.CR.Messages.Attributes)]
public CSAttributeGroupList<SOOrderType, SOOrder> Mapping;
}
Skapa en grafförlängning för SOOrderEntry graf och förklara SOOrderEntry för attribut som är specifika för den aktuella ordertypen.
public class SOOrderEntryPXExt : PXGraphExtension<SOOrderEntry>
{
public CRAttributeList<SOOrder> Answers;
}
Skapa DAC-förlängning för SOOrder DAC och förklara användardefinierat fält dekorerat med CRAttributesField attribut och ange ClassID fältet - i vårt fall är det OrderType .
public class SOOrderPXExt : PXCacheExtension<SOOrder>
{
#region UsrAttributes
public abstract class usrAttributes : IBqlField { }
[CRAttributesField(typeof(SOOrder.orderType))]
public virtual string[] UsrAttributes { get; set; }
#endregion
}
Ändra Order Types sida ( SO201000 ) enligt nedan använder Anpassning 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>
Ändra sidan med Sales Orders ( SO301000 ) enligt nedan med hjälp av 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>
Ladda ner distributionspaketet