重命名列Acumatica

时间:2015-04-16 08:27:29

标签: acumatica

我需要在任务列表屏幕EP404000上重命名名为'Date'的列。

我已经查看了上一个似乎这样做的问题的答案:

How do I rename the Column Name on Acumatica Customers screen?

但是,当我单击CUSTOMIZE ATTRIBUTES时,我收到以下错误消息:

'Underlieng字段是代理,不支持覆盖此字段的属性'

3 个答案:

答案 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; }
    }
}