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