1
votes

I need to rename the column called 'Date' on the task list screen EP404000.

I have looked at the following answer to a previous question that seems to do this:

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

However, when I click CUSTOMIZE ATTRIBUTES I get the following error message:

'Underlieng field is surrogate, overriding attributes for this field does not supported'

3

3 Answers

3
votes

You can do coding to rename a column globally, however there's an alternative solution that doesn't involve any programming - you can use the localization feature in Acumatica to change labels, captions, messages throughout the application. It is designed to allow you to translate the application in another language, but nothing prevents you from modifying English strings.

I suggest that you check out "Translation Process" article in the Help file, and take a look at the System Locales (SM.20.05.50) and the Translation Dictionaries (SM.20.05.40) screens.

1
votes

I propose you to use _CacheAttached in graph extension. CacheAttached will allow you to modify Date caption to some other. In my example caption "Date" is changed to "Date1":

 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
            {     
            }
 }
0
votes

I usually find in this type of situation what starts as a request to rename the column in one screen ends up being "Great, can we rename it EVERYWHERE".

In that situation I usually create a DAC Extension to globally override it.

To extend on the answer above, the equiv DAC extension would look something like this:

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