我需要在任务列表屏幕EP404000上重命名名为'Date'的列。
我已经查看了上一个似乎这样做的问题的答案:
How do I rename the Column Name on Acumatica Customers screen?
但是,当我单击CUSTOMIZE ATTRIBUTES时,我收到以下错误消息:
'Underlieng字段是代理,不支持覆盖此字段的属性'
答案 0 :(得分:3)
您可以进行编码以全局重命名列,但是,这是一个不涉及任何编程的替代解决方案 - 您可以使用Acumatica中的本地化功能来更改整个应用程序中的标签,标题和消息。它旨在允许您使用其他语言翻译应用程序,但没有任何东西可以阻止您修改英语字符串。
我建议您查看"翻译流程"帮助文件中的文章,并查看系统区域设置(SM.20.05.50)和翻译词典(SM.20.05.40)屏幕。
答案 1 :(得分:1)
我建议你在图表扩展中使用_CacheAttached。 CacheAttached将允许您将日期标题修改为其他标题。在我的示例标题中,“日期”更改为“日期1”:
public class EPTaskEnqExt:PXGraphExtension<EPTaskEnq>
{
[PXFormula(typeof (TimeZoneNow))]
[PXUIField(DisplayName = "Start Date")]
[EPStartDate(DisplayName = "Start Date",
DisplayNameDate = "Date1",
DisplayNameTime = "Start Time")]
public virtual void EPActivity_StartDate_CacheAttached
{
}
}
答案 2 :(得分:0)
我通常会在这种情况下发现,在一个屏幕中重命名该列的请求最终会“很好,我们可以将其重命名为”。
在这种情况下,我通常创建一个DAC扩展来全局覆盖它。
为了扩展上面的答案,等效的DAC扩展看起来像这样:
using PX.Data;
using PX.Objects.CR;
using PX.Objects.CS;
using PX.Objects.EP;
using System;
namespace MyCustomization.DAC
{
public class EPActivityExtension : PXCacheExtension<EPActivity>
{
[EPStartDate(DisplayName = "Start Date", DisplayNameDate = "Date1", DisplayNameTime = "Start Time")]
[PXFormula(typeof(TimeZoneNow))]
[PXUIField(DisplayName = "Date1")]
public virtual DateTime? StartDate { get; set; }
}
}