Почему атрибут PXUIField отключает блоки редактирования текста на странице обработки в 2019 R1? - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь настроить страницу обработки, которая обновит строки документа SOShipment новыми данными, введенными на странице PXFilteredProcessing. При объявлении PXString (виртуальное поле), если я добавлю атрибут PXUIfield, поле станет доступным только для чтения.

Вот декларация DAC, показывающая фактическую проблему. Страница, которую я использую, представляет собой простую страницу PXFilteredProcessing с полностью настраиваемой страницей, созданной в Visual Studio.

#region StockRow

public abstract class stockRow : IBqlField { }
[PXString()]         
[PXUIField(Enabled = true)]
public virtual String StockRow { get; set; }

#endregion

#region StockFlag

public abstract class stockFlag : IBqlField { }
[PXString]        
public virtual String StockFlag { get; set; }

#endregion

На странице есть поля, определенные следующим образом:

<px:PXTextEdit ID="edStockRow" runat="server" 
DataField="StockRow" Enabled ="true" >
</px:PXTextEdit>
<px:PXTextEdit ID="edStockFlag" runat="server" 
DataField="StockFlag" Enabled ="true">
</px:PXTextEdit>
<px:PXGridColumn DataField="StockRow" Width="200px" >
</px:PXGridColumn>
<px:PXGridColumn DataField="StockFlag" Width="200px">
</px:PXGridColumn>

Должно ли PXUIField действительно сделать поле доступным только для чтения, или я что-то не получаю?

PS: Я знаю, что могу даже активировать поле в RowSelected, в основном я ищу объяснение, почему это происходит.

1 Ответ

1 голос
/ 23 октября 2019

если я добавлю атрибут PXUIfield, поле станет доступным только для чтения

Вы уверены, что эта операция делает поле доступным только для чтения?

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

Если экран требует подробных полей для редактирования (кроме выбранного столбца), я бы посоветовал не создавать экран обработки. Использование PXSelect представления данных вместо этого обеспечит правильное поведение для редактируемых полей.

...