Переименовать колонку в Acumatica

Мне нужно переименовать столбец «Дата» на экране списка задач EP404000.

Я посмотрел на следующий ответ на предыдущий вопрос, который, кажется, делает это:

Как переименовать имя столбца для клиентов Acumatica экран?

Однако, когда я нажимаю кнопку НАСТРОИТЬ АТРИБУТЫ, я получаю следующее сообщение об ошибке:

'Поле Underlieng является суррогатом, переопределяющие атрибуты для этого поля не поддерживаются'


person justin    schedule 16.04.2015    source источник


Ответы (3)


Вы можете кодировать, чтобы переименовать столбец глобально, однако есть альтернативное решение, которое не требует никакого программирования - вы можете использовать функцию локализации в Acumatica для изменения меток, заголовков и сообщений во всем приложении. Он разработан, чтобы позволить вам переводить приложение на другой язык, но ничто не мешает вам изменять английские строки.

Я предлагаю вам ознакомиться со статьей «Процесс перевода» в файле справки и взглянуть на экраны Системные языковые стандарты (SM.20.05.50) и Словари перевода (SM.20.05.40).

person Gabriel    schedule 16.04.2015

Предлагаю вам использовать _CacheAttached в расширении графа. CacheAttached позволит вам изменить заголовок даты на какой-то другой. В моем примере заголовок «Дата» заменен на «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
            {     
            }
 }
person Yuriy Zaletskyy    schedule 16.04.2015

Я обычно нахожу в подобной ситуации то, что начинается как запрос на переименование столбца на одном экране, заканчивается тем, что «Отлично, можем ли мы переименовать его ВЕЗДЕ».

В этой ситуации я обычно создаю расширение 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; }
    }
}
person Jeff Williams    schedule 16.04.2015
comment
ВЕЗДЕ, кроме мест, где выполняется CacheAttached - person Yuriy Zaletskyy; 16.04.2015