acumatica
Acumatica में दिनांक और समय फ़ील्ड बनाना
खोज…
परिचय
यह विषय डेटा एक्सेस क्लास (DAC) में दिनांक और समय फ़ील्ड बनाने के लिए Acumatica फ्रेमवर्क में उपलब्ध विभिन्न विकल्पों के माध्यम से आपको चलाएगा।
पीएक्स (DB) DateAndTime विशेषता
PXDBDateAndTime विशेषता और PXDateAndTime विशेषता Nullable<DateTime>
( DateTime?
) प्रकार के DAC फ़ील्ड के साथ कार्य करने के लिए डिज़ाइन की गई हैं और दिनांक और समय मान दोनों भागों को एक ही फ़ील्ड के अंदर संग्रहित करते हैं DateTime?
#region UsrDateAndTime
public abstract class usrDateAndTimeAttribute : IBqlField
{ }
[PXDBDateAndTime(
DisplayNameDate = "Date Value Part",
DisplayNameTime = "Time Value Part")]
public DateTime? UsrDateAndTime { get; set; }
#endregion
UI के परिप्रेक्ष्य से, PXDBDateAndTimeAttribute या PXDateAndTimeAttribute के साथ सजे हुए क्षेत्र के लिए, किसी को दिनांक और समय मान भागों के लिए अलग इनपुट नियंत्रण बनाने की उम्मीद की जाती है:
<px:PXDateTimeEdit runat="server" ID="edUsrDate" DataField="UsrDateAndTime_Date" />
<px:PXDateTimeEdit runat="server" ID="edUsrTime" DataField="UsrDateAndTime_Time" TimeMode="True" />
दिनांक और समय मान दर्ज करने और प्रदर्शित करने के लिए अलग-अलग ग्रिड कॉलम:
<Columns>
...
<px:PXGridColumn DataField="UsrDateAndTime_Date" Width="90px" />
<px:PXGridColumn DataField="UsrDateAndTime_Time" Width="90px" TimeMode="True" />
...
</Columns>
PXDBTime विशेषता
PXDBTime विशेषता Nullable<DateTime>
( DateTime?
) प्रकार के DAC फ़ील्ड के साथ काम करने के लिए डिज़ाइन की गई है और DAC फ़ील्ड के अंदर दिनांक के बिना केवल समय भाग को संग्रहीत करें:
#region UsrTime
public abstract class usrTime : IBqlField
{ }
[PXDBTime(DisplayMask = "t", InputMask = "t")]
[PXUIField(DisplayName = "Time Only Value")]
public DateTime? UsrTime { get; set; }
#endregion
UI में, PXDBTimeAttribute के साथ सजे हुए क्षेत्र के लिए, सिस्टम एक इनपुट नियंत्रण बनाता है जो केवल एक समय दोनों पर मानों को स्वीकार करता है:
<px:PXDateTimeEdit runat="server" ID="edUsrTime" DataField="UsrTime" TimeMode="True" />
और एक ग्रिड सेल के भीतर:
<Columns>
...
<px:PXGridColumn DataField="UsrTime" Width="120px" TimeMode="True" />
...
</Columns>
पीएक्स (DB) DateAttribute विशेषता
PXDBDate विशेषता और PXDate विशेषता को Nullable<DateTime>
( DateTime?
) प्रकार के DAC फ़ील्ड के साथ काम करने के लिए डिज़ाइन किया गया है और किसी एकल फ़ील्ड के अंदर वैकल्पिक समय भाग के साथ दिनांक दिनांक मान लिखें। Wheather PX (DB) DateAttribute को DAC फ़ील्ड में दिनांक के अलावा समय की बचत करनी चाहिए जो PreserveTime प्रॉपर्टी द्वारा परिभाषित की जाती है: जब PreserveTime True पर सेट होता है, तो फ़ील्ड मान का समय भाग संरक्षित रहता है, अन्यथा केवल दिनांक भाग में ही सहेजा जाता है DAC फ़ील्ड:
#region UsrDateTime
public abstract class usrDateTime : IBqlField
{ }
[PXDBDate(PreserveTime = true, InputMask = "g")]
[PXUIField(DisplayName = "DateTime Value")]
public DateTime? UsrDateTime { get; set; }
#endregion
#region UsrDate
public abstract class usrDate : IBqlField
{ }
[PXDBDate]
[PXUIField(DisplayName = "Date Value")]
public DateTime? UsrDate { get; set; }
#endregion
UI में, PXDBDateAttribute या PXDateAttribute के साथ सजे एक क्षेत्र के लिए, सिस्टम एक इनपुट नियंत्रण बनाता है, जिसमें केवल संरक्षित तिथि या मान दोनों दिनांक मानों और समय मानों को संरक्षित किया जाता है। यह अवधारणा एक फॉर्म पर ठीक उसी तरह काम करती है:
<px:PXDateTimeEdit runat="server" ID="edUsrDateTime" DataField="UsrDateTime" Size="SM" />
<px:PXDateTimeEdit runat="server" ID="edUsrDate" DataField="UsrDate" />
और एक ग्रिड सेल के भीतर:
<Columns>
...
<px:PXGridColumn DataField="UsrDateTime" Width="130px" />
<px:PXGridColumn DataField="UsrDate" Width="90px" />
...
</Columns>
PXDBTimeSpan विशेषता
PXDBTimeSpan विशेषता Nullable<int>
( int?
) प्रकार के DAC फ़ील्ड के साथ काम करने के लिए डिज़ाइन की गई है और DAC फ़ील्ड के अंदर समय मान को संग्रहीत करता है क्योंकि आधी रात के बाद से मिनटों की संख्या बीत चुकी है:
#region UsrTimeInt
public abstract class usrTimeInt : IBqlField
{ }
[PXDBTimeSpan(DisplayMask = "t", InputMask = "t")]
[PXUIField(DisplayName = "Time Value")]
public int? UsrTimeInt { get; set; }
#endregion
UI में, PXDBTimeSpanAttribute के साथ सजे हुए एक क्षेत्र के लिए, सिस्टम एक फॉर्म पर दोनों में आधे घंटे के अंतराल मान के साथ एक ड्रॉप-डाउन बनाता है:
और एक ग्रिड सेल के भीतर:
<px:PXDateTimeEdit runat="server" ID="edUsrTimeInt" DataField="UsrTimeInt" TimeMode="true" />
<px:PXGridColumn DataField="UsrTimeInt" Width="90px" TimeMode="true" />
PXTimeList विशेषता
PXTimeList विशेषता Nullable<int>
( int?
) प्रकार के DAC फ़ील्ड के साथ काम करने के लिए डिज़ाइन की गई है और DAC फ़ील्ड के अंदर समय अवधि मान को कई मिनटों के रूप में संग्रहीत करती है:
#region UsrTimeSpan
public abstract class usrTimeSpan : IBqlField
{ }
[PXDBInt]
[PXTimeList]
[PXUIField(DisplayName = "Time Span")]
public int? UsrTimeSpan { get; set; }
#endregion
UI में, PXTimeListAttribute के साथ सजाए गए क्षेत्र के लिए, सिस्टम एक फॉर्म में 30 मिनट के अंतराल के मानों के साथ ड्रॉप-डाउन बनाता है:
<px:PXTimeSpan ID="edUsrTimeSpan" runat="server" DataField="UsrTimeSpan" InputMask="hh:mm" />
और एक ग्रिड सेल के भीतर:
<RowTemplate>
...
<px:PXTimeSpan ID="edgUsrTimeSpan" runat="server" DataField="UsrTimeSpan" InputMask="hh:mm" />
...
</RowTemplate>
<Columns>
...
<px:PXGridColumn DataField="UsrTimeSpan" Width="90px" RenderEditorText="True" />
...
</Columns>