Как получить типы управления для значений атрибутов в сетке при расширении CSAnswers DAC? - PullRequest
2 голосов
/ 11 июля 2019

Я пытаюсь отобразить attributeID и Значения в сетке SmartPanel с дополнительными функциями.Я могу достичь в показе значений, но значения имеют тип текста.Я не могу получить типы элементов управления для значений, как на вкладке «Атрибуты» IN202500 (CheckBox, Combo и т.

Я пытаюсь получить значения с типом элемента управления (CheckBox, Combo и т. Д.) В сетке, как на вкладке атрибутов экрана элемента товара.

1 Ответ

0 голосов
/ 11 июля 2019

В базе данных Acumatica есть таблица CSAttribute, в которой есть столбец ControlType. В примере демонстрационной базы данных Sales вы можете увидеть, что ControlType атрибута 'SALESGOALY' может быть обнаружен через следующий SQL:

select * from CSAttribute where AttributeID = 'SALESGOALY'

и вы можете использовать следующие BQL для получения типов:

 PXSelect<CSAttribute, Where<CSAttribute.attributeID, Equal<Required<CSAttribute.attributeID>>>>.Select(Base, "SALESGOALY");

А следующий фрагмент исходного кода Acumaitca дает точный ответ о наборе:

[PXDBInt]
[PXDefault(1)]
[PXUIField(DisplayName = "Control Type", Visibility = PXUIVisibility.SelectorVisible)]
[PXIntList(new int[] {1, 2, 6, 4, 5}, new string[] {"Text", "Combo", "Multi Select Combo", "Checkbox", "Datetime"})]
public virtual int? ControlType
{
  get
  {
    return this._ControlType;
  }
  set
  {
    this._ControlType = value;
  }
}

, который говорит, что тип «ПРОДАЖА» равен 1, или это текст.

...