Acumatica PXTimeSpanLong(格式=TimeSpanFormatType.??)未提供正确的输出/输入
你好 我目前正在使用[PXDBTimeSpan],但我仅限于24小时。 我需要的是能够将小时值设置为100小时以上。 示例:126:11(HHH:mm;126小时) 我研究了[PXTimeSpanLong()],在那里我测试了: *格式=TimeSpanFormatType.LongHoursMinutes *我试过使用输入掩码 *尝试仅使用PXTimeSpanLong并将时间模式设置为true 我在wiki上查看了更多关于TimeSpanFormatType的信息,但是还没有记录枚举类型。Acumatica PXTimeSpanLong(格式=TimeSpanFormatType.??)未提供正确的输出/输入,acumatica,Acumatica,你好 我目前正在使用[PXDBTimeSpan],但我仅限于24小时。 我需要的是能够将小时值设置为100小时以上。 示例:126:11(HHH:mm;126小时) 我研究了[PXTimeSpanLong()],在那里我测试了: *格式=TimeSpanFormatType.LongHoursMinutes *我试过使用输入掩码 *尝试仅使用PXTimeSpanLong并将时间模式设置为true 我在wiki上查看了更多关于TimeSpanFormatType的信息,但是还没有记录枚举类型。 旁
旁注:我正在使用Acumatica ERP创建此字段Acumatica页面在绑定到
日期时间
字段时使用天-小时-分钟格式,因此您必须遵循此数据类型的模式:
<px:PXMaskEdit ID="edTimeReaction" runat="server" DataField="TimeReaction"
InputMask="### d\ays ## hrs ## mins" EmptyChar="0" Text="0" />
在屏幕上,它看起来像这样:
要获得所需的格式,您必须选择不同的数据类型,如String
,它可以接受任何文本格式。然后将该字段添加为MaskEdit
字段编辑器控件,并应用所需的InputMask
添加MaskEdit控件:
设置MaskEdit InputMask属性:
字符串数据类型允许保存任意格式,如3位数字:
我们使用了PXDBTimeSpanLong和LongHoursMinutes格式。实际上,我们有一些字段,可以通过设置选择格式。只要您对页面使用PXMaskEdit,LongHoursMinutes就应该适用于您的情况 在DAC的INT字段上:
[PXDBTimeSpanLong(Format = TimeSpanFormatType.LongHoursMinutes)]
然后在您所在领域的页面上:
<px:PXMaskEdit ID="edMyTimeField" runat="server" DataField="MyTimeField" />
示例显示左侧的PXDBTimeSpanLong字段和使用右侧的简单PXInt unbound字段显示DB值的相同值:
示例中使用的完整dac字段:
#region MyTimeField
public abstract class myTimeField : PX.Data.BQL.BqlInt.Field<myTimeField> { }
protected Int32? _MyTimeField;
[PXDBTimeSpanLong(Format = TimeSpanFormatType.LongHoursMinutes)]
[PXDefault(TypeCode.Int32, "0")]
[PXUIField(DisplayName = "LongHoursMinutesField")]
public virtual Int32? MyTimeField
{
get
{
return this._MyTimeField;
}
set
{
this._MyTimeField = value;
}
}
#endregion
#region MyTimeFieldDB
[PXInt]
[PXUIField(DisplayName = "DB Value")]
public virtual Int32? MyTimeFieldDB
{
get
{
return this._MyTimeField;
}
}
#endregion
#区域MyTime字段
公共抽象类myTimeField:PX.Data.BQL.BqlInt.Field{}
受保护的Int32_MyTimeField;
[PXDBTimeSpanLong(格式=TimeSpanFormatType.LongHoursMinutes)]
[PXDefault(TypeCode.Int32,“0”)]
[PXUIField(DisplayName=“LongHoursMinutesField”)]
公共虚拟Int32?MyTimeField
{
得到
{
将此返回。\u MyTimeField;
}
设置
{
这是。_MyTimeField=值;
}
}
#端区
#地区MyTimeFieldDdb
[PXInt]
[PXUIField(DisplayName=“DB Value”)]
公共虚拟Int32?MyTimeFieldDdb
{
得到
{
将此返回。\u MyTimeField;
}
}
#端区
谢谢您的回复。我们试过这条路线。问题是我们希望在其他形式和Power BI中使用此字段进行计算,因此使用Int值作为保存类型是理想的。我的建议是在代码中进行转换,或者只使用PXInt类型的数字字段。