Динамически изменяемое поле DisplayName относится к веб-сервису - PullRequest
0 голосов
/ 22 января 2020

Поле в DA C определяется следующим образом.

    #region NextMonthHours
    [PXDBDecimal(2, MinValue = 0.0, MaxValue = 280.0)]
    [PXUIField(DisplayName = "Next Month Hours")]
    [PXDefault(TypeCode.Decimal, "0.0")]
    public virtual Decimal? NextMonthHours { get; set; }
    public abstract class nextMonthHours : PX.Data.BQL.BqlDecimal.Field<nextMonthHours> { }
    #endregion

Я изменяю отображаемое имя поля в событии RowSelected.

PXUIFieldAttribute.SetDisplayName<EVEPPlannedHoursDetails.nextMonthHours>(sender, nextMonth+"Hours");

где nextMonth равно " Февраль ".

Мне нужно добавить это поле в Acumatica Mobile Screen. Когда я go к схеме веб-службы, имя поля "FebruaryHours"

<s:element minOccurs="0" maxOccurs="1" name="FebruaryHours" type="tns:Field"/>

Я не могу использовать имя "FebruaryHours", потому что оно меняется каждый месяц, но я также, когда я использую имя поля NextMonthHours, это не так добавлено на экране мобильного телефона.

Есть идеи, как решить эту проблему?

Спасибо

1 Ответ

1 голос
/ 23 января 2020

Существует несколько способов обойти это в зависимости от варианта использования и от того, является ли значение метки stati c или dynamici c.

Если все, что вам нужно, это изменить метку stati c в пользовательском интерфейсе без изменения свойства отображаемого имени, вы можете добавить отдельную метку и группу слияния.

Вот пример чтобы изменить Billable в пользовательском интерфейсе без изменения свойства DisplayName с помощью этой техники.

enter image description here

Установите для свойства SuppressLabel значение true, чтобы скрыть исходную метку ограничен DisplayName в пользовательском интерфейсе.

enter image description here

Используйте вкладку ADD CONTROLS, чтобы добавить Layout Rule со свойством Merge, установленным в true.

Используйте вкладку ADD CONTROLS, чтобы добавить элемент управления метками в объединенную группу.

Поместите исходное поле в группу объединения, чтобы они вместе отображались на одной строке в пользовательском интерфейсе.

enter image description here

Конечный результат, метка теперь является элементом управления пользовательского интерфейса и не будет мешать свойству DisplayName.

enter image description here

...